3.3 系统设计
3.3.1 系统目标
根据人事工资管理系统的要求,制定管理系统目标如下。
界面友好、操作方便。
可以对员工档案进行管理,包括增、删、改、查。
实现奖罚管理、调动管理和考评管理。
实现考勤津贴和工资总结。
方便地实现部门管理和数据备份。
可以使用操作员管理、修改口令和更改操作员。
系统运行稳定、安全可靠。
3.3.2 系统功能结构
人事工资管理系统的功能结构如图3.1所示。
图3.1 人事工资管理系统的功能结构图
3.3.3 业务流程图
人事工资管理系统的业务流程图如图3.2所示。
图3.2 人事工资管理系统的业务流程图
3.3.4 编码规则
在开发应用程序前,编码规则(这里所讲的编码规则是对控件ID的命名)的设计是十分重要,通过它可以快速地了解相关控件的作用,良好的编码规则有助于程序的开发。下面对本系统中比较重要的编码规则进行说明。
1.窗体命名规则
在创建一个窗体时,首先要对窗体的ID进行命名,其编码规则为“frm+窗体名称”,其中窗体名称最好是英文形式的窗体说明,便于开发者通过窗体ID就能知道其窗体的作用。例如,登录窗体,ID名为frmLogin。
2.数据库命名规则
数据库命名以小写字母“db”开头,后面加下划线“_”及数据库相关英文单词缩写。下面将举例说明,如表3.1所示。
表3.1 数据库命名
3.数据表命名规则
数据表命名以小写字母“tb”开头,后面加下划线“_”及数据表相关英文单词缩写。下面将举例说明,如表3.2所示。
表3.2 数据表命名
3.3.5 程序运行环境
本系统的程序运行环境具体如下。
系统开发平台:Microsoft Visual Studio 2017。
系统开发语言:C#。
数据库管理系统软件:Microsoft SQL Server 2014。
运行平台:Windows 7(SP1)/Windows 8/Windows 10。
运行环境:Microsoft.NET Framework SDK v4.7。
3.3.6 系统预览
人事工资管理系统由多个窗体组合而成,下面仅列出几个典型窗体,其他窗体参见资源包中的源程序。
当打开应用程序时,首先会出现登录窗体,主要用来验证操作员的用户名和密码,如图3.3所示。
主窗体页面如图3.4所示,该窗体用于档案管理、奖罚管理、调动管理、考评管理、考勤管理、工资总结、部门管理、数据备份、操作员管理、修改口令和更改操作员等。
图3.3 登录窗体(资源包\…\PMS\frmLogin.cs)
图3.4 人事工资管理系统主窗体(资源包\…\PMS\F_Main.cs)
档案管理窗体如图3.5所示,用来管理员工的档案信息,包括添加员工、删除员工和查询员工。当双击DataGridView控件中的员工信息时,将会弹出如图3.6所示的修改员工信息窗体。
在修改员工信息窗体中,可以通过单击“打印”按钮,在打印窗体中使用水晶报表显示所有员工的信息,并提供打印功能,如图3.7所示。
图3.5 档案管理窗体(资源包\…\frmEmployee.cs)
图3.6 修改员工信息窗体(资源包\…\frmEmployeeInfo.cs)
图3.7 使用水晶报表显示所有员工信息(资源包\…\PrintForm\frmUserPrint.cs)
说明
由于路径太长,因此省略了部分路径,省略的路径是TM\03\PMS。
3.3.7 数据库设计
应用程序开发过程中,对数据库的操作是必不可少的,数据库设计是根据程序的需求及其实现功能所制定,数据库设计的合理性将直接影响到程序的开发过程。
1.数据库分析
人事工资管理系统主要用来管理企业员工的档案信息,以及对员工进行部门调动、考评管理、奖罚记录、计算每个员工的工资等,数据量是根据企业员工信息量的多少来决定的,本系统使用Microsoft SQL Server 2014作为后台数据库。数据库命名为db_PMS,其中包含了8张数据表,用于存储不同的信息,详细信息如图3.8所示。
图3.8 人事工资管理系统中用到的数据表
2.数据库概念设计
数据库设计在系统开发中占有很重要的比重,它是通过管理系统的整体需求而制定,数据库设计的好坏直接影响到系统的后期开发。下面对本系统中具有代表性的数据库设计做详细说明。
在本系统中,为了提高系统的安全性,每个用户都要使用正确的用户名和密码才能进入主窗体,而且还需要根据指定的用户名提供相应的权限,为了能够验证正确的用户名、密码以及得到相应的权限,应在数据库中创建登录表。登录用户信息表的实体E-R图如图3.9所示。
在开发人事工资管理系统时,最重要的数据表是考评管理信息表、部门名称信息表、员工档案信息表、员工工资信息表、奖罚管理信息表、调动管理信息表和员工职称信息表等。考评管理信息表的实体E-R图如图3.10所示。
图3.9 登录用户信息表的实体E-R图
图3.10 考评管理信息表的实体E-R图
部门名称信息表的实体E-R图如图3.11所示。
员工档案信息表的实体E-R图如图3.12所示。
图3.11 部门名称信息表的实体E-R图
图3.12 员工档案信息表的实体E-R图
员工工资信息表的实体E-R图如图3.13所示。
奖罚管理信息表的实体E-R图如图3.14所示。
调动管理信息表的实体E-R图如图3.15所示。
员工职称信息表的实体E-R图如图3.16所示。
3.数据库逻辑结构设计
根据上面设计好的E-R图,可以在数据库中创建相应的数据表,由于篇幅所限,下面对人事工资管理系统中比较重要的数据表的结构进行介绍。
图3.13 员工工资信息表的实体E-R图
图3.14 奖罚管理信息表的实体E-R图
图3.15 调动管理信息表的实体E-R图
图3.16 员工职称信息表的实体E-R图
(1)tb_check(考评管理信息表)
tb_check表用于保存员工考评管理基本信息,其结构如表3.3所示。
表3.3 考评管理信息表
(2)tb_employee(员工档案信息表)
tb_employee表用于保存员工档案的详细信息,其结构如表3.4所示。
表3.4 员工档案信息表
(3)tb_pay(员工工资信息表)
tb_pay表用于保存员工工资的详细信息,其结构如表3.5所示。
表3.5 员工工资信息表
(4)tb_prize(奖罚管理信息表)
tb_prize表用于保存奖罚管理信息,其结构如表3.6所示。
表3.6 奖罚管理信息表
(5)b_redeploy(调动管理信息表)
tb_redeploy表用于保存员工的调动管理信息,其结构如表3.7所示。
表3.7 调动管理信息表
3.3.8 文件夹组织结构
每个项目都会有相应的文件夹组织结构,在开发人事工资管理系统之前,设计了文件夹组织结构图和程序文件组织结构图。
1.文件夹组织结构图
文件夹组织结构图如图3.17所示。
2.程序文件组织结构图
主文件组织结构图如图3.18所示。
人事管理和工资管理文件组织结构图分别如图3.19和图3.20所示。
图3.17 文件夹组织结构图
图3.18 主文件组织结构图
图3.19 人事管理文件组织结构图
图3.20 工资管理文件组织结构图
系统管理和用户管理文件组织结构图分别如图3.21和图3.22所示。
图3.21 系统管理文件组织结构图
图3.22 用户管理文件组织结构图