w055基于web的服装生产管理的设计与实现
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《python网站项目》600套
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目演示
摘 要
本协力服装厂服装生产管理系统设计目标是实现协力服装厂服装生产的信息化管理,提高管理效率,使得协力服装厂服装生产管理作规范化、科学化、高效化。
本文重点阐述了协力服装厂服装生产管理系统的开发过程,以实际运用为开发背景,基于Springboot框架,运用了Java编程语言和MYSQL数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了服装生产相关信息管理的重要功能。
本协力服装厂服装生产管理系统运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的服装生产管理平台。
关键词:服装生产管理,Java编程语言,Springboot框架,MYSQL数据库
1 绪论
1.1 研究背景
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。对于协力服装厂服装生产管理来说,传统的通过纸质文档记录信息的方式已经落后了,依靠手工管理服装生产信息,不仅花费较长的工作时间,在对记录各种信息的文档进行信息统计以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于协力服装厂服装生产管理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款协力服装厂服装生产管理系统进行信息的快速处理,既跟上了时代的发展脚步,也能提高管理效率,促进协力服装厂的信息化发展。
1.2 设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
1.3 论文结构安排
第一部分绪论:文章主要从课题背景、设计原则综合阐述了开发此系统的必要性。
第二部分相关技术:系统开发用到的各种技术都大致做出了简介
第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统
第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示
第五部分系统实现:进行系统主要功能模块的界面展示
第六部分系统测试:检验程序是否达到预期目标
第七部分总结:进行最后的总结工作
2 关键技术简介
2.1 JAVA技术
Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。
在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。
(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。
(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。
(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。
2.2 MYSQL数据库
所谓数据库,实际上就是一个容器,按照数据结构来组织、存储和管理。数据库的作用就是为大量的信息进行管理并提供高效的解决方案。
MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle[5]。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。
MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码,深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本,这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因[1]。
2.3 B/S结构
Browse/Sever(浏览器/服务器)架构,是一种基于互联网系统的所开发的一种架构,是在C/S架构上进行完善开发的一种架构,它主要用于Web和移动端的软件开发。它的方便在于用户只需要在浏览器上连接部署上用户所需的数据库便可在浏览器浏览用户所需的数据。
从逻辑上B/S架构可以分为三层结构体系,客户机层浏览器,Web层和DB服务器层。客户机层可以将用户所需要的数据信息通过后端数据库数据模块的读取,显示到用户的客户层浏览器中。Web层主要是实现浏览器上的功能,来分析处理数据进行端口的对接。可以访问COM,ADO等对象。DB服务器层是整个B/S框架的核心,为其他技术提供数据库的支持,并对各种数据库进行更新,删除,添加,查询等功能。
B/S架构这种只需要用户在浏览器上运行不需要再下载客户端的模式,使用浏览器就可以实现和下载客户端的一样复杂的功能。给管理系统的用户带来了很大的方便,节约了大量的成本。现在B/S架构已经在Web开发上被广泛运用,它的基础内容也在不断的完善更新。
2.4 Spring Boot框架
Spring Boot 是由 Pivotal 团队开发的框架,其作用是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,简单理解就是springboot并不是什么新型的框架,而是整合了spring,springmvc等框架,默认了很多配置,从而减少了开发者的开发时间。Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。 Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置。
Spring Boot的特点
(1)创建独立的Spring应用程序
(2) 内嵌Tomcat应用服务器,容器会认出war包自动完成部署操作
(3) 简化了Maven软件项目管理工具的配置流程
(4) 实现自动配置Spring框架
3 系统分析
3.1 可行性分析
可行性分析是该平台系统进行投入开发的基础第一步,必须对其进行可行性分析才能够降低不必要的需要从而使资源合理利用,更具有性价比和降低成本,同时也是系统平台的成功的未雨绸缪的一步。
3.1.1 技术可行性
技术可行性是指学习的技术是否能够完成本项目,如果团队本身没有相关的技术储备,而又能够迅速掌握此类技术,那项目应该达不到我们的设计要求。本文将开发的系统,将采用的关键技术包括JAVA编程语言、Spring Boot框架、MYSQL数据库存储技术等。大学时将这些技术已经学习掌握,因此,就技术层面而言,该项目的开发是有保障的。
3.1.2 经济可行性
项目需要考虑花费问题,我们必须考虑系统开发中所有的花费进行计算,我们要考虑到系统需不需要太大的资金。二是系统开发后期维护相关的费用大不大。本系统采用我们开源的技术没进行设计,再设计中没有太多的花费,只需要一台电脑便可以进行开发,因此,该项目的实施在经济上完全可行。
3.1.3 操作可行性
本系统操作不复杂且比较容易上手,对于初次接触本系统的来说,不许要接受什么培训就可以操作本系统。用户不需要什么特定的软件,只需要安装大众所使用的浏览器即可进行系统的访问。本系统采用可视化窗口,面向大众,有效的避免了繁琐的操作。而且,本系统将各个功能都详细设计,各模块功能逻辑清晰,对用户非常友好。因此,本系统具有操作可行性。
3.1.4法律可行性
所有的功能模块都不违法法律,也不涉及法律的灰色地带,项目部署在国内的服务器中,域名在国家的工业和信息化部进行备案,接受监管。所以在开发过程中不会涉及法律责任,具有可行性;
综上所述,本次开发的协力服装厂服装生产管理系统在技术、经济、操作以及法律四个方面都能够保障系统的顺利开发,具有极高的开发可行性。
3.2 系统性能分析
系统除了功能结构设计以外还需要附加需求的分析,非功能需求分析,主要是包括界面、数据库问题、框架等,需要满足非功能性能的需求,保证系统运行起来的时候能够达到最佳的效果,保证稳定性和安全性。
(1)数据底层统一。数据传输中需要进行数据处理,在查询数据存储上达到最佳效果。
(2)界面风格统一。图片需要进行PS处理,文字需要统一格式大小。
(3)数据库。每个模块都需要独立,各个模块之间相互配合,形成一个整体,包装各个功能合理化的配置,需要考虑开放端口,满足可扩展性。
3.3 系统功能分析
本协力服装厂服装生产管理系统主要实现了管理员功能模和用户功能模块两大部分,下面将对这两大功能模块分别进行功能需求分析。
管理员功能模块:管理员登录后可对系统进行全面管理,管理员登录后主要实现的功能模块包括个人中心、用户管理、人事安排管理、考勤管理、工资管理、样板管理、成品检验管理、订单管理、原料仓库管理、原料入库管理、原料出库管理、成衣仓库管理、成衣出库管理、系统管理,管理员实现了对系统信息的查看、添加、修改和删除的功能。
用户功能模块:用户在系统前台可查看系统信息,包括首页、人事安排、样板以及系统公告,没有账号的用户可进行注册操作,注册登录后主要功能模块包个人中心、考勤管理以及工资管理。
3.4 系统技术框架分析
本协力服装厂服装生产管理系统是基于B/S模式又称Brower/Server或浏览器/服务器模式。采取流行成熟的JSP+MYSQL技术,利用浏览器通过Web Server同数据库进行数据交互。本系统只要有一台能上网的电脑就能使用,即客户端零维护。而且,系统的扩展非常容易,只要能上网就可以使用了。采用技术框架图如图3-1所示。
图3-1系统技术框架图
3.5 系统流程分析
3.5.1开发流程
协力服装厂服装生产管理系统的开发也是有对应的流程,开发之前必须要进行用户功能需求的分析,最后根据功能需求进行网站设计还有数据库相关数据的设计工作,此次开发的协力服装厂服装生产管理系统开发流程如图3-2所示。
图3-2 开发流程图
3.5.2登录流程
用户要想在协力服装厂服装生产管理系统中进行参与操作,必须登录系统,用户登录流程图如图3-3所示。
图3-3登录流程图
3.5.3 注册流程
未有账号的用户可进行注册操作,注册流程图如图3-4所示。
图3-4 注册流程图
3.5.4添加信息流程
在添加信息时,系统首先判断信息是否合法,合法则添加成功,反之重新输入。添加信息流程图如图3-5所示。
图3-5 添加信息流程图
4 系统设计
4.1 系统结构设计
在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。本协力服装厂服装生产管理系统结构设计如图4-1所示。
图4-1 系统结构图
4.2 系统顺序图设计
4.2.1登录模块顺序图
登录模块主要满足了管理员和用户的权限登录,登录模块的顺序图如图 4-2 所示。
图4-2登录顺序图
4.2.2添加信息模块顺序图
管理员和用户登录后均可进行信息的添加操作,添加信息顺序图如图4-3所示
图4-3添加信息顺序图
4.3 系统数据库设计
数据库是动态软件技术的基础,本系统将采用MYSQL作为数据库工具。协力服装厂服装生产管理系统的数据库管理要进行各种各样的数据处理,提供各类信息的添加、删除、修改和更新等功能。通过上述对系统的设计分析,根据系统的需求,主要设计为数据库概念设计和逻辑结构设计。
4.3.1 数据库E-R图设计
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。E-R图即由这三点组成。
实体:E-R图中数据的实体,用矩形表示上面为实体名,下面为实体属性,实体包含主外键等关系。
属性:E-R图中的属性,是指实体的属性,实体由多条属性所构成,属性拥有自己的数据类型,数据大小。属性的优劣决定了E-R图中实体的健全性、完整性。
关系:E-R图中的关系是指实体之间的关系,用菱形来表示实体间的关系,这些菱形关系的联系上有着一对多或多对多的数据联系,这些构成了E-R图的关系,E-R图的关系紧密连接了实体,使实体间的关联性更加的显著、易懂。本协力服装厂服装生产管理系统的E-R图如下所示:
(1)管理员信息实体E-R图如图4-4所示:
图4-4 管理员信息实体E-R图
(2)用户信息实体E-R图如图4-5所示:
图4-5 用户信息实体E-R图
(3)样板信息实体E-R图如图4-6所示:
图4-6 样板信息实体E-R图
(4)考勤信息实体E-R图如图4-7所示:
图4-7 考勤信息实体E-R图
(5)工资信息实体E-R图如图4-8所示:
图4-8 工资信息实体E-R图
4.3.2 数据库表设计
本协力服装厂服装生产管理系统采用MYSQL数据库进行系统数据的储存,下面介绍数据库中的各个表的详细信息。
表4-1 users管理员信息表
序号 | 字段 | 描述 | 类型和长度 | 主键 | 是否可空 |
1 | id | 编号 | bigint(20) | 是 | 不允许 |
2 | username | 用户名 | varchar(100) | 否 | 允许 |
3 | password | 密码 | varchar(100) | 否 | 允许 |
4 | role | 角色 | varchar(100) | 否 | 允许 |
5 | addtime | 添加时间 | timestamp | 否 | 允许 |
表4-2 yonghu用户信息表
序号 | 字段 | 描述 | 类型和长度 | 主键 | 是否可空 |
1 | id | 编号 | bigint(20) | 是 | 不允许 |
2 | addtime | 创建时间 | timestamp | 否 | 允许 |
3 | zhanghao | 账号 | varchar(200) | 否 | 允许 |
4 | mima | 密码 | varchar(200) | 否 | 允许 |
5 | jijianrenxingming | 姓名 | varchar(200) | 否 | 允许 |
6 | xingbie | 性别 | varchar(200) | 否 | 允许 |
7 | shouji | 手机 | varchar(200) | 否 | 允许 |
8 | youxiang | 邮箱 | varchar(200) | 否 | 允许 |
9 | shenfenzheng | 身份证 | varchar(200) | 否 | 允许 |
10 | zhaopian | 照片 | varchar(200) | 否 | 允许 |
序号 | 字段 | 描述 | 类型和长度 | 主键 | 是否可空 |
1 | id | 编号 | bigint(20) | 是 | 不允许 |
2 | addtime | 创建时间 | timestamp | 否 | 允许 |
3 | yangbanmingcheng` | 样板名称 | varchar(200) | 否 | 允许 |
4 | mianliao | 面料 | varchar(200) | 否 | 允许 |
5 | fuliao | 辅料 | varchar(200) | 否 | 允许 |
6 | yangbanchima | 样板尺码 | varchar(200) | 否 | 允许 |
7 | buweichicun` | 部位尺寸 | varchar(200) | 否 | 允许 |
8 | kuanshixinxi | 款式信息 | varchar(200) | 否 | 允许 |
9 | zhuyidian | 注意点 | longtext | 否 | 允许 |
10 | zhizuojindu | 制作进度 | varchar(200) | 否 | 允许 |
11 | yangbantupian | 样板图片 | varchar(200) | 否 | 允许 |
表4-4 kaoqin考勤信息表
序号 | 字段 | 描述 | 类型和长度 | 主键 | 是否可空 |
1 | id | 编号 | bigint(20) | 是 | 不允许 |
2 | addtime | 创建时间 | timestamp | 否 | 允许 |
3 | zhanghao | 账号 | varchar(200) | 否 | 允许 |
4 | xingming` | 姓名 | varchar(200) | 否 | 允许 |
5 | kaoqinleixing | 考勤类型 | varchar(200) | 否 | 允许 |
6 | dakashijian` | 打卡时间 | datetime | 否 | 允许 |
7 | sfsh | 是否审核 | varchar(200) | 否 | 允许 |
8 | shhf` | 审核回复 | longtext | 否 | 允许 |
9 | longitude | 经度 | float | 否 | 允许 |
10 | latitude | 纬度 | float | 否 | 允许 |
11 | fulladdress | 地址 | varchar(200) | 否 | 允许 |
表4-5 gongzi工资信息表
序号 | 字段 | 描述 | 类型和长度 | 主键 | 是否可空 |
1 | id | 编号 | bigint(20) | 是 | 不允许 |
2 | addtime | 创建时间 | timestamp | 否 | 允许 |
3 | gongzinianyue | 工资年月 | datetime | 否 | 允许 |
4 | jibengongzi | '基本工资 | int(11) | 否 | 允许 |
5 | jiangjin | 奖金 | int(11) | 否 | 允许 |
6 | fakuan` | 罚款 | int(11) | 否 | 允许 |
7 | yingfagongzi | 应发工资 | varchar(200) | 否 | 允许 |
8 | jiesuanriqi | 结算日期 | datetime | 否 | 允许 |
9 | zhanghao | 账号' | varchar(200) | 否 | 允许 |
10 | xingming | 姓名 | varchar(200) | 否 | 允许 |
5 系统的实现
5.1 登录界面的实现
用户要想进入本系统必须进行登录操作,进入对应角色登录界面,在登录界面输入系统账号、登录密码,选择登录类型,点击登录按钮进行登录系统,管理员登录界面展示如图5-1所示,用户登录界面展示如图5-2所示。
图5-1 管理员登录界面图
图5-2用户登录界面图
5.2 系统主界面的实现
用户在系统前台可查看系统信息,包括首页、人事安排以及样板等,系统主界面展示如图5-3所示。
图5-3 系统主界面图
5.3 用户管理模块的实现
管理员登录后可查询、添加、修改和删除用户信息,用户管理界面展示如图5-4所示。
图5-4 用户管理界面图
5.4 人事安排管理模块的实现
管理员可增删改查人事安排信息,人事安排管理界面展示如图5-5所示。
图5-5 人事安排管理界面图
5.5 工资管理模块的实现
管理员可增删改查工资信息,用户登录后可查看个人工资信息,工资管理界面展示如图5-6所示,添加工资界面展示如图5-7所示,工资查询界面展示如图5-8所示。
图5-6 工资管理界面图
图5-7 添加工资界面图
图5-8 工资查询界面图
5.6 考勤管理模块的实现
用户登录后可添加考勤信息,管理员可查看用户添加的考勤,并可对其进行审核操作,添加考勤界面展示如图5-9所示。考勤管理界面展示如图5-10所示
图5-9 添加考勤界面图
图5-10 考勤管理界面图
5.7 样板管理模块的实现
管理员可增删改查样板信息,样板管理界面展示如图5-11所示。
图5-11 样板管理界面图
6 系统测试
6.1 测试目的
系统测试是通过在设定的特定的环境下执行程序来检测环境发生错误的不可或缺的阶段。系统测试包括安全测试、压力测试、回复测试等等,这些是保障我们所开发的程序与系统的优良质感非常为之重要的部分。
在项目的开发过程中,出现各种漏洞各种错误是极其正常的事情,有些错误可以凭借着开发工具发现,迅速找出并修改,而有些错误漏洞则是在一些细节上出现逻辑错误,导致引起一些列的错误,这类错觉有时藏得很深,会让我们在排除的过程中浪费大量的时间和精力。但随着时间的推移,经验的上涨,以后发现这类错误的时间一定会慢慢缩小。
系统测试的目的主要在于检查所实现的代码成品能否满足最初设定的目标以及系统需求,从测试的过程中发现与所需要的功能不同的错误,包括达不到预定需求甚至与预定需求完全矛盾的错误,并且在后续的开发上进行更改,甚至提出更加符合项目的新需求。
6.2测试步骤
测试的顺序就是先进行单元测试,这个测试没有问题之后,才是进行集成测试,紧接着就是进行程序的确认测试。接下来就对这几个在程序测试中占有一定分量的测试步骤进行阐述。
(1)单元测试
单元测试还有个只有极少数人知道的名字——模块测试。这个测试方法在程序编码过程中使用,每当程序员开发完成程序的一个功能模块之后,就要用到此测试方法,这个方法能够帮助开发人员及时发现并解决程序编码过程中产生的问题。能够帮助程序开发人员按照系统详细设计的说明书进行系统的功能开发操作。
(2)集成测试
集成测试又名组装测试,通常运用于程序的设计阶段的测试,如果程序是由各个模块组装而成的话,那么集成测试着重用来检测各个功能模块间的通信还有接口。
(3)确认测试
进入到这个测试环节,说明系统的功能大致上是不存在问题了,这个部分主要就是对系统功能进行再次确认,看看系统功能是不是符合需求规格说明书上面的内容,此外,也需要对程序的性能进行检测,还有系统具有的其他特点是不是都能满足用户的需求。如果系统是专门针对具体某个用户而开发的,那么系统的验收测试就是这个用户来进行,如果系统的使用者是许多用户的话,那么采用的就是Alpha测试和Beta测试来揭露错误。
(4)系统测试
已经通过确认测试的系统在这个时候就可以作为一个整体来进行测试了,这个部分考虑的因素就有测试的电脑的硬件因素,电脑上安装的软件因素,以及测试人员这个因素等。把这些因素结合在一起进行组装测试,还有确认测试等测试操作。
6.3测试方法
本测试主要是系统是否能够进行服务器进行处理信息的能力,不同的用户发出不同的服务请求,系统必须能够准确的进行数据的传达,在这种情况下进行测试响应的时间、内存使用的情况和CPU占用大小等指标,系统完成设计必须保证信息的正确性,信息紊乱带来的后果是非常可怕的,所有必须要进行压力测试,通过本测试进行系统相应速度、稳定性能和处理能力进行优化。
运用黑盒子测试的测试办法,把各个不同功能的软件模板进行区分、管理。对于不同的模块独立的分装起来,在传统测试的时候要进行数据的统一测试,完成对系统的概要设计详细解读资料、需要解决的问题,及操作的详细应用说明等内容来视作测试的突破口,对测试的对象进行逐一对照检查,并针对单个的程序检测延伸至这个研发过程中单个及整个集成单元的检测中,要有规律有顺序的进行,不但可以缩短我们的工作时效,避免返工的操作,也可以对可用性负责,提高了可操作性和软件研发的实用性。通过对系统概要设计验证测试,测试系统的统一管理方式,对系统的各个功能模块以及系统的性能进行测试,验证系统的功能以及系统的性能。
6.4测试结果
经测试本协力服装厂服装生产管理系统操作简单,界面清晰,运行稳定,能够充分满足协力服装厂服装生产管理需求。总体说来,软件通过测试。
7 结论
本次开发的协力服装厂服装生产管理系统已经接近尾声阶段了,在这次独立完成毕业设计的期间,我自己体会到了很多的东西,另外我很想说的就是独立开发软件真的很能让人在开发期间得到锻炼,不管是需求分析,还是系统的设计以及系统功能详细实现还有最后的测试工作,每一步都要小心翼翼的完成,一步一步来,不然任何环节出现了差错,返工起来也很麻烦,开发系统过程中,遇到了很多的难题,比如协力服装厂服装生产管理系统需要具有什么样的功能,这个我还是思考了很久,后来同学给我提示了一下,参考别人做好的系统,看看人家设计了什么功能,自己就多多参考下,后来这个问题就很好解决了,最难的就是系统编码了,我这个人本来就比较粗心,编码出现很多不该出现的错误,不该打空格也不小心键盘空格键多敲了两下,整得自己老是程序运行出错,找了好久都没有解决,后来无奈找到室友帮忙看看,慢慢检查终于找到问题了,编码过程真的很心塞。还好东拼西凑总算完成了功能要求了。系统整体界面虽然不是很好看,但起码不花哨,用户使用起来整体感觉就是简洁,功能体验虽然有点啰嗦,但是需要的功能都已经具备了。
自己的身份目前还是学生,开发程序肯定是不会考虑周全,程序完成开发后也经过了一系列测试,整体来说还是没有发现明显的操作逻辑错误,自己在毕设制作过程中不仅知识有所增加,独立学习的能力也有所提高了,更重要的就是遇到问题向周边同学寻求帮助,这个是很有必要的。总的来说毕业设计的圆满完成,我真的觉得很自豪。
参考文献
[1]王昊欣,姜学东.JAVA编程语言在计算机软件开发中的应用[J].电子测试,2017(13):73-74.
[2]李国一.计算机软件开发中Java语言的应用[J].信息与电脑(理论版),2017(14):49-50.
[3]邢如意.Java语言中对象的理解与应用[J].软件工程,2017,20(04):9-11.
[4]陈节鑫.基于计算机软件开发的JAVA编程语言及运用研究[J].福建电脑,2017,33(03):105+167.
[5]朴宏波.基于计算机软件开发的JAVA编程语言解析[J].科技创新导报,2016,13(30):66+68.
[6]朱华.Java软件开发问题探究[J].科技创新与应用,2016(33):93
[7]孙伟强,贾蕊.B/S架构可格式化应用系统研究[J].电大理工,2017(04):27-28.
[8]刘阳娜.大数据下的MySQL数据库的效率优化[J].信息通信,2017(12):111-112.
[9]王丽娟,靳继红.基于MySQL的查询优化技术研究[J].电脑知识与技术,2017,13(30):35-36.
[10]基于JSP技术的Web应用程序的开发[J]. 张波,张福炎. 计算机应用研究. 2016(05)
[11]孙婷,芦英明,陈中伟.软件系统性能测试方法及流程规划[J].自动化与仪器仪表,2018(01):166-169.
[12]JSP的网络数据库连接技术探讨[J]. 崔娜. 黑龙江科技信息. 2016(36)
[13]Implementing WebGL and HTML5 in Macromolecular Visualization and Modern Computer-Aided Drug Design[J] . Shuguang Yuan,H.C. Stephen Chan,Zhenquan Hu. Trends in Biotechnology . 2017 (6)
[14]Ahead-of-time compilation of JavaScript programs. R.Zhuykov,E.Sharygin. Programming and Computer Software . 2017
[15]JSP Special Issue on Information Processing in Living Systems. Thierry Mora,Luca Peliti,Olivier Rivoire. Journal of Statistical Research . 2016
致 谢
经过好几个月的努力,终于完成了本协力服装厂服装生产管理系统的开发。在这过程中我把从导师以及图书馆中学到的相关的知识运用到系统的开发过程中。这是对我所学知识的一个完整性的检验。其中发现了诸多的不足和缺点。但是我相信在经过长时间的磨练我会不断的开发出更好的信息管理系统。在这次毕业设计中是对我平常在课堂的一次考核,也是将理论应用到实践的一项考察。
在即将毕业之际,我的心情实在难以平静,从最开始的学习专业知识到刚开始参加毕业课题讨论到最后论文的顺利完成,我身边的亲朋好友给了我极其多的帮助,这些帮助大多是雪中送炭,帮助我渡过了很多难关。因此,我要想对我伸出过援助之手的可爱的朋友、老师、家人们表示衷心的感谢。
我要感谢此次指导我最亲爱的的老师,是他的及时纠正毕设中出现的问题,及时的给我建议,使得我的设计如期的完成。指导老师在我本次协力服装厂服装生产管理系统的开发过程中,从程序的设计、代码的完善等方面以及论文的指导提供了很多很多宝贵的意见,并且为我推荐了许多相关JSP技术的详细资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利的完成,并保证了本论文的质量,我对他的辛勤指导表示崇高的敬意。我要非常郑重的向我的导师说一声:谢谢。也希望老师多多指正论文中出现的问题,并提出宝贵建议。
核心代码展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告通知成功").put("data", newsView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}