第3章 系统设计
3.1系统总体结构设计
一个好的设计不止是功能完整,操作流畅,还要符合用户的审美和界面的友好。在进入正式系统实施前,不可缺少的步骤为系统的总体结构设计,本系统为实用性的系统,所以开发的功能都是针对工资信息相关的。本系统的结构可以分为管理员界面和员工功能界面。本系统的总体结构图如下图3.1所示:
图3.1基于微信小程序的企业职工薪资查询系统的功能结构图
3.2系统开发步骤
系统的开发步骤可以分为系统开发、系统规划和系统实施。每一步都是在上上步的基础上进行的,不能跳级,在下一级进行时,不会对上一级的工作进行大的改变。所以就需要在每一级设计时充分保证正确才可以进行一下级的设计。这种开发步骤是最省时省力的方法,是经过国内外长久实践得出的最有效方法。
3.3数据库设计
3.3.1数据库概念结构设计
数据库的概念结构设计就是需要在系统分析的过程中分析开发本系统是要做什么,然后设计出大的框架,根据大的框架把系统进行转换成怎么做的物理模型。然后再进行设计。
在所有的系统设计中数据库的设计占有举足轻重的地位,选择合适的数据库软件进行设计非常重要。因为本系统的功能非常有针对性,没有进行扩展,所以本系统采用小型轻便的MySQL软件进行设计。数据库的安全保障着系统里数据的安全,本系统的主要数据为部门信息、工资信息、考勤信息以及员工信息等。本系统的ER关系图如下图3.2所示:
图3.2实体关系ER图
(1)管理员的属性包括编号、用户名和密码,管理员的ER图如下图3.3所示:
图3.3管理员信息ER图
(2)部门信息主要为管理员进行管理,员工进行浏览,部门信息的属性包括标题、内容、添加时间等,详细的部门信息ER图如下图3.4所示:
图3.4部门信息ER图
(3)工资信息的属性包括编号、职位、月份等,工资信息的ER图如下图3.5所示:
图3.5工资信息ER图
(4)考勤信息的属性包括编号、月份和扣除工资等,考勤信息ER图如下图3.6所示:
图3.6考勤信息ER图
(5)员工信息属性包括用户名、年龄、手机号、职位、部门编号等,员工信息ER图如下图3.7所示:
图3.7员工信息ER图
3.3.2数据库逻辑结构设计
数据库的逻辑结构设计也可以称为数据库表的设计,一般情况下采用第三范式进行设计,因为数据库的概念结构可以单独使用,不特定于某个数据库所以就需要对数据库的概念结构进行转换,从上节的数据ER图转换出本系统的数据库表,主要包括管理员信息表、员工信息表、工资信息表、部门信息表、考勤信息表等,具体的数据库表如下表3.1-3.10所示:
表3.1 bumen
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | bumen | varchar | 200 | 是 |
表3.2 config
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | name | varchar | 100 | 否 | ||||||
3 | value | varchar | 100 | 是 |
表3.3 forum
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | title | varchar | 200 | 是 | ||||||
4 | content | longtext | 否 | |||||||
5 | parentid | bigint | 20 | 是 | ||||||
6 | userid | bigint | 20 | 否 | ||||||
7 | username | varchar | 200 | 是 | ||||||
8 | isdone | varchar | 200 | 是 |
表3.4 gongzixinxi
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | gongzibianhao | varchar | 200 | 是 | ||||||
4 | gongzibiaoti | varchar | 200 | 是 | ||||||
5 | fengmian | varchar | 200 | 是 | ||||||
6 | fafangshijian | datetime | 是 | |||||||
7 | jibengongzi | float | 是 | |||||||
8 | shifagongzi | float | 是 | |||||||
9 | gongzizhangdan | longtext | 是 | |||||||
10 | yuangongzhanghao | varchar | 200 | 是 | ||||||
11 | yuangongxingming | varchar | 200 | 是 | ||||||
12 | bumen | varchar | 200 | 是 |
表3.5 gongzuoanpai
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | anpaibianhao | varchar | 200 | 是 | ||||||
4 | biaoti | varchar | 200 | 是 | ||||||
5 | fengmian | varchar | 200 | 是 | ||||||
6 | anpaishijian | datetime | 是 | |||||||
7 | anpaixiangqing | longtext | 是 | |||||||
8 | yuangongzhanghao | varchar | 200 | 是 | ||||||
9 | yuangongxingming | varchar | 200 | 是 |
表3.6 kaoqinxinxi
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | kaoqinbianhao | varchar | 200 | 是 | ||||||
4 | kaoqinbiaoti | varchar | 200 | 是 | ||||||
5 | fengmian | varchar | 200 | 是 | ||||||
6 | kaoqinshijian | date | 是 | |||||||
7 | kaoqinzhuangtai | varchar | 200 | 是 | ||||||
8 | kaoqinxiangqing | longtext | 是 | |||||||
9 | yuangongzhanghao | varchar | 200 | 是 | ||||||
10 | yuangongxingming | varchar | 200 | 是 |
表3.7 news
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | title | varchar | 200 | 否 | ||||||
4 | introduction | longtext | 是 | |||||||
5 | picture | varchar | 200 | 否 | ||||||
6 | content | longtext | 否 |
表3.8 token
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | userid | bigint | 20 | 否 | ||||||
3 | username | varchar | 100 | 否 | ||||||
4 | tablename | varchar | 100 | 是 | ||||||
5 | role | varchar | 100 | 是 | ||||||
6 | token | varchar | 200 | 否 | ||||||
7 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
8 | expiratedtime | timestamp | 否 | CURRENT_TIMESTAMP |
表3.9 users
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | username | varchar | 100 | 否 | ||||||
3 | password | varchar | 100 | 否 | ||||||
4 | role | varchar | 100 | 是 | 管理员 | |||||
5 | addtime | timestamp | 否 | CURRENT_TIMESTAMP |
表3.10 yuangong
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | yuangongzhanghao | varchar | 200 | 否 | ||||||
4 | mima | varchar | 200 | 否 | ||||||
5 | yuangongxingming | varchar | 200 | 否 | ||||||
6 | xingbie | varchar | 200 | 是 | ||||||
7 | yuangongdianhua | varchar | 200 | 是 | ||||||
8 | touxiang | varchar | 200 | 是 | ||||||
9 | bumen | varchar | 200 | 是 |
第4章 系统实现
4.1登录功能模块的实现
登录功能包括员工登录和管理员登录,在登录界面设计中包括用户名和密码的检验。用户名和密码的检验过程由数据库自动完成,此过程需要1秒左右。首先由用户填写账号和密码,然后点击登录系统,数据库自行对用户名和密码进行对比,所填写数据正确方能进行登录,所填写数据错误则需要返回登录界面重新登录。用户登录界面的设计运行界面效果如下图4.1所示:
图4.1用户系统登录界面效果
4.2 首页界面的实现
首页界面是最直接的展示,用户可以对系统进行最直接的了解。在本功能界面里可以看到背景图片、功能导航栏以及时间、当前用户等。首页界面的运行效果界面如下图4.2所示:
图4.2首页界面的运行效果
4.3工作安排管理信息模块实现
工作安排信息是工资的重要组成部分,管理员可以添加工作安排信息,员工可以查询工作安排信息,工作安排管理信息功能的界面实现效果如下图4.3所示:
图4.3管理员查询工作安排信息功能实现界面
4.4 员工信息管理功能的实现
员工信息管理功能分为管理员管理员工信息和员工自己管理自己的信息两种,管理员可以看到员工的各项基本信息,可以删除员工的基本信息。添加员工信息功能的界面实现效果如下图4.4所示:
图4.4添加员工信息功能界面实现效果
4.5 工资信息管理功能的实现
系统里展示的工资信息都是由管理员在系统进行添加和维护的,管理员可以上新工资信息,也可以修改工资信息,当工资信息被淘汰时也可以直接进行删除,工资信息管理功能的界面实现效果如下图4.5所示:
图4.5工资信息管理功能的运行效果界面
管理员添加工资信息的效果图如下图4.6所示:
图4.6添加工资信息的界面效果
4.6部门管理功能的界面设计实现
部门信息功能为员工查询管理员添加管理,管理员可以根据部门的名称进行查询搜索。部门管理信息功能的界面实现效果如下图4.7所示:
图4.7部门管理信息功能的界面实现效果
4.7考勤功能的界面设计
考勤信息也是由管理员负责管理,员工可以查看考勤信息,管理员添加考勤信息的实现界面如下图4.8所示:
图4.8管理员添加考勤信息实现界面
4.8交流论坛功能的实现
管理员可以审核帖子信息,员工可以发布帖子信息。交流论坛功能的实现界面如下图4.9所示:
图4.9交流论坛管理功能的实现
4.9我的功能实现界面
在我的界面里可以查询工资信息、工作安排信息、考勤信息、我发布的帖子和发布帖子。我的功能实现界面如下图4.10所示:
图4.10我的功能实现界面