C#项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

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 用户管理文件组织结构图