![C#项目开发全程实录(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/544/24172544/b_24172544.jpg)
3.3 系统设计
3.3.1 系统目标
根据人事工资管理系统的要求,制定管理系统目标如下。
界面友好、操作方便。
可以对员工档案进行管理,包括增、删、改、查。
实现奖罚管理、调动管理和考评管理。
实现考勤津贴和工资总结。
方便地实现部门管理和数据备份。
可以使用操作员管理、修改口令和更改操作员。
系统运行稳定、安全可靠。
3.3.2 系统功能结构
人事工资管理系统的功能结构如图3.1所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P99_22545.jpg?sign=1738809352-VSA5q7jvM0kusrn07mbnEEMWnN0KCF0o-0-62c0ef4095e8d4fa682fba57b5d4e82d)
图3.1 人事工资管理系统的功能结构图
3.3.3 业务流程图
人事工资管理系统的业务流程图如图3.2所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P99_22572.jpg?sign=1738809352-cGLeprplwrL4QfheIn0anc6xdU45g3VT-0-983d30740374483484c3eb72abd8ab11)
图3.2 人事工资管理系统的业务流程图
3.3.4 编码规则
在开发应用程序前,编码规则(这里所讲的编码规则是对控件ID的命名)的设计是十分重要,通过它可以快速地了解相关控件的作用,良好的编码规则有助于程序的开发。下面对本系统中比较重要的编码规则进行说明。
1.窗体命名规则
在创建一个窗体时,首先要对窗体的ID进行命名,其编码规则为“frm+窗体名称”,其中窗体名称最好是英文形式的窗体说明,便于开发者通过窗体ID就能知道其窗体的作用。例如,登录窗体,ID名为frmLogin。
2.数据库命名规则
数据库命名以小写字母“db”开头,后面加下划线“_”及数据库相关英文单词缩写。下面将举例说明,如表3.1所示。
表3.1 数据库命名
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T99_51734.jpg?sign=1738809352-fqWNliboupeZ3zqT9cWGoeRg89Ab2vdM-0-9699f224ac9a6317e607a9a43879b915)
3.数据表命名规则
数据表命名以小写字母“tb”开头,后面加下划线“_”及数据表相关英文单词缩写。下面将举例说明,如表3.2所示。
表3.2 数据表命名
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T100_51736.jpg?sign=1738809352-p4fNaSQnLEgIDVVP7ARp9tdAjz9AxiYg-0-5134afabc9e0614c92d8cd26d40bb84b)
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所示,该窗体用于档案管理、奖罚管理、调动管理、考评管理、考勤管理、工资总结、部门管理、数据备份、操作员管理、修改口令和更改操作员等。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P100_22611.jpg?sign=1738809352-qm1COmUCCsesaAFh61L6vXNrDZEQhhjT-0-11233ffd1dc746a0559a96b50146036d)
图3.3 登录窗体(资源包\…\PMS\frmLogin.cs)
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P100_22612.jpg?sign=1738809352-YhIUGJTqiE4yiP6EGbvTWqAY6ZVCbEf5-0-f668521044839b0375c7f9407f1771fb)
图3.4 人事工资管理系统主窗体(资源包\…\PMS\F_Main.cs)
档案管理窗体如图3.5所示,用来管理员工的档案信息,包括添加员工、删除员工和查询员工。当双击DataGridView控件中的员工信息时,将会弹出如图3.6所示的修改员工信息窗体。
在修改员工信息窗体中,可以通过单击“打印”按钮,在打印窗体中使用水晶报表显示所有员工的信息,并提供打印功能,如图3.7所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P101_22636.jpg?sign=1738809352-9kOEubjyLICGxsNZSom4FAMrynf1I3q0-0-3a202b2bc3c169b4b4f671c7997b5fe8)
图3.5 档案管理窗体(资源包\…\frmEmployee.cs)
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P101_22637.jpg?sign=1738809352-gfgtsgva4BD6NiMkRpGdJVRtpnMZ2Zhv-0-da8e9c0ed93af3a694f6f6af788fbda5)
图3.6 修改员工信息窗体(资源包\…\frmEmployeeInfo.cs)
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P101_22641.jpg?sign=1738809352-YSwLjVVPhjYYymDaGtGZTk6ikUvORXg1-0-6e020a39fa2dc0a1b1657b5ce40cd1c2)
图3.7 使用水晶报表显示所有员工信息(资源包\…\PrintForm\frmUserPrint.cs)
说明
由于路径太长,因此省略了部分路径,省略的路径是TM\03\PMS。
3.3.7 数据库设计
应用程序开发过程中,对数据库的操作是必不可少的,数据库设计是根据程序的需求及其实现功能所制定,数据库设计的合理性将直接影响到程序的开发过程。
1.数据库分析
人事工资管理系统主要用来管理企业员工的档案信息,以及对员工进行部门调动、考评管理、奖罚记录、计算每个员工的工资等,数据量是根据企业员工信息量的多少来决定的,本系统使用Microsoft SQL Server 2014作为后台数据库。数据库命名为db_PMS,其中包含了8张数据表,用于存储不同的信息,详细信息如图3.8所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P101_22646.jpg?sign=1738809352-xZsufoszG1fZV58E0jWSt2KkRSlItdXE-0-ac23e5a5bd4495a8c62b0b0ce9022320)
图3.8 人事工资管理系统中用到的数据表
2.数据库概念设计
数据库设计在系统开发中占有很重要的比重,它是通过管理系统的整体需求而制定,数据库设计的好坏直接影响到系统的后期开发。下面对本系统中具有代表性的数据库设计做详细说明。
在本系统中,为了提高系统的安全性,每个用户都要使用正确的用户名和密码才能进入主窗体,而且还需要根据指定的用户名提供相应的权限,为了能够验证正确的用户名、密码以及得到相应的权限,应在数据库中创建登录表。登录用户信息表的实体E-R图如图3.9所示。
在开发人事工资管理系统时,最重要的数据表是考评管理信息表、部门名称信息表、员工档案信息表、员工工资信息表、奖罚管理信息表、调动管理信息表和员工职称信息表等。考评管理信息表的实体E-R图如图3.10所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P102_52410.jpg?sign=1738809352-hryeSyjsqIt2Wvsdtg0VwrTdk4WYetpv-0-5ba96e6ee10c786cb2bbf998bec96c08)
图3.9 登录用户信息表的实体E-R图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P102_22727.jpg?sign=1738809352-LOonquASspcSVTqe6mAdXoS7DYC5nrHJ-0-652947271f093b54347553d4d4f89c7b)
图3.10 考评管理信息表的实体E-R图
部门名称信息表的实体E-R图如图3.11所示。
员工档案信息表的实体E-R图如图3.12所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P102_52413.jpg?sign=1738809352-LJDI2ZsR8uzmdejcqqhBMsOVklY4Li3T-0-fcd402e0c2da0f94d2ba467a4c2d6404)
图3.11 部门名称信息表的实体E-R图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P102_52414.jpg?sign=1738809352-5HkFMYOdirlzM1yT7cbrvtQlT6yU7I7F-0-1f205b943a8d1f1a28b6ef129c45ec82)
图3.12 员工档案信息表的实体E-R图
员工工资信息表的实体E-R图如图3.13所示。
奖罚管理信息表的实体E-R图如图3.14所示。
调动管理信息表的实体E-R图如图3.15所示。
员工职称信息表的实体E-R图如图3.16所示。
3.数据库逻辑结构设计
根据上面设计好的E-R图,可以在数据库中创建相应的数据表,由于篇幅所限,下面对人事工资管理系统中比较重要的数据表的结构进行介绍。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P103_52421.jpg?sign=1738809352-3IwZ1AIYKuShzRtMtsZ9UJ7R9ArXNHAv-0-43960a848bc846fa15d90a5b9c3b0963)
图3.13 员工工资信息表的实体E-R图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P103_22909.jpg?sign=1738809352-ptKqLHsYQVp41DtfgE4hMGMjaQT57xh1-0-344c012e4ae04b7521dbe72044bf3d36)
图3.14 奖罚管理信息表的实体E-R图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P103_22912.jpg?sign=1738809352-vU7PEvok0tTiJJjKMtu5TACrQ2NVl3pe-0-bfd4490a389a0c17a7ddd05280966fb2)
图3.15 调动管理信息表的实体E-R图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P103_22913.jpg?sign=1738809352-GIeCTfg1VKOiuB5ucDn9nn4UF7HMdmBz-0-0759caba0ca7fc7aa78fc47890aa10de)
图3.16 员工职称信息表的实体E-R图
(1)tb_check(考评管理信息表)
tb_check表用于保存员工考评管理基本信息,其结构如表3.3所示。
表3.3 考评管理信息表
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T103_52422.jpg?sign=1738809352-zgqeNvevondcwOc7SGBbp1n6Pq8EBW1a-0-4b6d939a451717364cef2491c014ac75)
(2)tb_employee(员工档案信息表)
tb_employee表用于保存员工档案的详细信息,其结构如表3.4所示。
表3.4 员工档案信息表
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T104_52435.jpg?sign=1738809352-fxavmphhV4O6lM9QXXfLJDRVEHxzH9Sa-0-ea462ac5ee2e10cca0aeee90704ab0da)
(3)tb_pay(员工工资信息表)
tb_pay表用于保存员工工资的详细信息,其结构如表3.5所示。
表3.5 员工工资信息表
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T104_52436.jpg?sign=1738809352-xL7zvKKjaOreBl3VMeu00cRjtMPn9nwv-0-4f4dd400f310fef71169b29fe5fbaa6b)
(4)tb_prize(奖罚管理信息表)
tb_prize表用于保存奖罚管理信息,其结构如表3.6所示。
表3.6 奖罚管理信息表
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T105_52439.jpg?sign=1738809352-ViYfUwdjAj6r7hcd0LGfzoFktgiojN3w-0-b5de8b97287f1af1144b11574f55131a)
(5)b_redeploy(调动管理信息表)
tb_redeploy表用于保存员工的调动管理信息,其结构如表3.7所示。
表3.7 调动管理信息表
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-T105_52437.jpg?sign=1738809352-PChgI3GC2s2Bm1dH1Xx2g2Pbyv5ElWNW-0-612a1c62dad2c52d28cad3164ec184d9)
3.3.8 文件夹组织结构
每个项目都会有相应的文件夹组织结构,在开发人事工资管理系统之前,设计了文件夹组织结构图和程序文件组织结构图。
1.文件夹组织结构图
文件夹组织结构图如图3.17所示。
2.程序文件组织结构图
主文件组织结构图如图3.18所示。
人事管理和工资管理文件组织结构图分别如图3.19和图3.20所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_23920.jpg?sign=1738809352-TKm1pWddTkygwPLJlbvyBhcKhGDSObJj-0-cdc8dd4db32f7ea5d28c04dab78b2507)
图3.17 文件夹组织结构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_24068.jpg?sign=1738809352-0SmktXZNJUImfPeuF0igzd67wgOeptvJ-0-26a3e96876cfb35949b2e8428e1bfbe1)
图3.18 主文件组织结构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_24071.jpg?sign=1738809352-EHItwlM3NvAUwehaf5nwLQvvBp58hdYY-0-d18fc35c15b5a0cc82f24ddcd11a9da8)
图3.19 人事管理文件组织结构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_24074.jpg?sign=1738809352-G6tPyF0umJ1eNYmCeSOM46MDxnGmE5r9-0-d5b26e72e5eb83d9bea288e320e339f7)
图3.20 工资管理文件组织结构图
系统管理和用户管理文件组织结构图分别如图3.21和图3.22所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_24078.jpg?sign=1738809352-qnEYJSFgmarpcMwkYdc3k5h2NHrQtWY5-0-2f503dcec7b74849c48c319b984ccd06)
图3.21 系统管理文件组织结构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P106_24079.jpg?sign=1738809352-fg6vniFIQhzmsEtjLkCmGQoos7dLkxPC-0-a7301012dab537f802cc7b53540f6511)
图3.22 用户管理文件组织结构图