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框架
(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) 否 允许
表4-3 yangban样板信息表
序号 字段 描述 类型和长度 主键 是否可空
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) 否 允许