




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 24 章人力资源管理系统实战,本章综合第15、16、17、和18章中的模块,以一个简单的人力资源管理系统的开发实战,详细介绍了使用LINQ to SQL技术开发三层体系结构的windows窗体应用程序的流程,介绍了需求及功能分析、数据库和实体类设计、数据访问层、业务逻辑层和表示层的设计过程。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,随着我国市场经济的不断发展,以及现在日趋激烈的人才竞争态势,使得人力资源管理在公司和企业中的地位变得越来越重要。目前,许多公司和企业在人力资源管理上还停留在手工操作的层面上,很难适合现代企业的发展和公司信息化的需求。为此,开发一套合适人力资源管理是目前许多公司和企业的迫切需要的。通过“人力资源管理系统”软件的实施,提高人力资源部门的工作效率,更好的为公司和企业的发展服务。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.2 需求及功能分析,为了便于入门,本系统是一个简单版本的人力资源管理系统”,系统采用三层结构利用LINQ技术进行开发。经过调研,“人力资源管理系统”的的功能如下。 员工信息管理,实现员工信息的添加、修改,删除等功能; 部门、职务信息管理,部门基本信息包括:部门的代号、名称,实现增加、修改、删除部门基本信息。职务信息包括职务名称和所属部门,职务信息管理实现增加、修改、删除职务信息。 考勤记录管理,对员工的考勤情况,按月进行统计。可以对考勤记录进行输入、修改、保存。 员工调动信息,对员工的调动信息进行管理,实现员工调动信息的输入、修改、保存。 培训信息管理,对员工的培训信息进行管理,实现员工培训信息的输入、修改、保存。, 奖惩信息管理,对员工的奖惩信息进行管理,实现对员工奖惩信息的输入、修改、保存。 工资变动管理,对员工的薪水调动进行管理,实现对员工的工资调整信息的输入、修改、保存。 本系统的总体架构采用三层架构模型,综合第1518章的介绍,表示层、业务逻辑层、数据访问层分别用HrManage、HrBLL、HrDAL三个项目实现,实体层用DataLinql项目用来组织系统中的实体类,利用LINQ to SQL实现对数据库的操作。本系统三层架构和项目结构如图所示。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.3 数据库设计,在“人力资源管理系统中”设计有表如下。 员工考勤表(Attendance),用于存放员工考勤的信息。 员工奖惩表(RewardsInfo),用于记录员工的奖惩信息。 员工培训表(TrainInfo):记录员工的培训信息。 员工调动表(EmpTransfer),用于记录员工的调动信息。 员工信息表(EmployInfo)用于记录员工信息。 员工职位表(PostInfo),用于记录职位信息。 员工部门表(Section),用于记录部门信息。 员工工资变动表(TransferWage),用于记录员工工资调整的信息。 用户表(UserInfo),用于记录系统操作用户的信息。,表的结构信息在第15章已经做了介绍,本章不再重复。 由于需要在多个表中进行LINQ查询,而LINQ目前不支持将多表联合查询的结果返回,对于这个情况的一种解决办法是创建一个视图,视图里面包含需要的所有数据列,然后在视图里面查询。所以创建如下视图用于查询。,1. 创建视图RewardsView,为了对奖惩表(RewardsInfo)、员工信息表(EmployInfo)、职位表(PostInfo)和部门表(Section)进行联合查询获得员工的详细奖惩信息,创建视图RewardsView,视图结构如下。,2. 创建视图TrainEmployeeView,为了对员工培训表(TrainInfo)、员工信息表(EmployInfo)、职位表(PostInfo)和部门表(Section)进行联合查询获得员工的详细培训信息,创建视图TrainEmployeeView,视图结构如下。,3. 创建视图V_attendance_Section,为了对考勤表(Attendance)、员工信息表(EmployInfo)、职位表(PostInfo)和部门表(Section)进行联合查询获得员工的详细考勤信息,创建视图V_attendance_Section,视图结构如下。,4. 创建视图V_Employee、V_EmpTransfer和V_Transferwage,为了获得员工的详细信息,创建视图V_Employee,为了获得员工调动和工资变动的详细信息,分别创建视图V_EmpTransfe和V_Transferwage,视图结构和前面类似不再一一描述,详情请看源代码。,可以使用SQL Server Management Studio以可视化的方式和书写SQL语句的方式创建视图,也可以通过Visual Studio 2008中的【服务器资源管理器】创建视图,二者的操作方法类似。下面介绍使用SQL Server Management Studio以可视化的方式创建视图的步骤。 启动SQL Server Management Studio,选择服务器名称和身份验证方式后单击“连接”按钮登录。 进入SQL Server Management Studio后,在对象资源管理器中用鼠标右键单击视图,在弹出的菜单上单击【新建视图】,出现【添加表】窗体,选择创建视图所需的表。, 如创建V_Employee视图,依次选择EmployInfo表、Section表和PostInfo表后单击【添加】按钮出现如下窗体。 分别在对应的表上选择所需要的列后,单击保存按钮后输入视图名称即可创建视图。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.4 实体类设计,按照15.2.2中的操作步骤,建立类库项目,项目名为“DataLinq”,添加“LINQ to SQL”类来创建实体类。打开【服务器资源管理器中到数据库HrManage的链接,将HrManage中的表和视图拖放到dbml设计器后保存,就可以自动生成了包含相关的属性、方法的DataContext类和实体类。参考15.2.2。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.5 数据访问层设计,建立数据访问层类库项目,项目名为HrDAL。添加对DataLinq层实体类的引用和对System.Data.Linq的引用,然后分别添加对数据库表的相应操作的类,实现对数据库表的操作。以对员工表操作为例。 1. 添加DALEmployInfo类,代码如下(代码24-1-1.txt)。 2. 在DALEmployInfo中添加方法SelectRecordAll返回表PostInfo的全部记录。 3. 在DALEmployInfo中添加方法listall返回视图V_Employee的所有记录(代码24-1-3.txt)。 4. 在DALEmployInfo中添加方法SelectMaxRecordNo得到员工表EmployInfo中的最大的记录号(代码24-1-4.txt)。,5. 在DALEmployInfo中添加方法SelectRecordByID返回按照员工编号查询的记录。 6. 在DALEmployInfo中添加方法InsertRecord向员工表EmployInfo中添加记录。 7. 在DALEmployInfo中添加方法UpdateRecord更新记录(代码24-1-7.txt)。 8. 在DALEmployInfo中添加方法DeleteRecord通过tid删除记录(代码24-1-8.txt)。 9. 在DALEmployInfo中添加方法selectImg读取员工表中照片字段(代码24-1-9.txt)。 其他数据访问层代码参考源程序。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.6 业务逻辑层设计,建立类库项目,项目名为HrBLL。分别添加对应于数据访问层中的类,以完成对数据访问层中方法的调用。需要添加对数据访问层HrDAL和实体层DataLinq的引用。对员工表操作的业务逻辑层为例,代码如下(代码24-2-1.txt)。 其他业务逻辑层代码参考源程序。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.7 表示层设计,建立表示层Windows窗体应用程序项目,项目名称是HrManage。表示层采用MDI多文档界面,下面介绍各个窗体的设计。,1.主窗体设计,本系统是一个便于入门的系统,是复杂的“人力资源管理系统”的一个简化版本,主界面设计如下。 在主界面HrManage窗体中添加一个toolStrip控件,用于进行操作的导航。在toolStrip上添加7个toolStripButton,分别设置每个toolStripButton的DisplayStyle为Text,输入相应的文字,如“员工管理”、“培训管理”、“奖惩管理”、“员工考评”等。 分别为每个toolStripButton添加单击事件处理程序,实现单击相应按钮后,执行对应的功能,以“员工管理”按钮为例,代码如下(代码24-3-1.txt)。,2. 员工管理等子窗体设计,员工管理BrowseEmployee子窗体实现显示员工信息和添加、编辑和删除员工信息。界面如下。 单击编辑按钮,弹出新窗体实现编辑选择的员工记录,代码如下(代码24-3-2.txt)。 编辑员工信息的窗体界面如下。 单击【添加】按钮,弹出添加新员工的操作窗体,代码如下(代码24-3-3.txt)。 弹出的添加新员工的窗体AddEmployInfo设计如下。 在BrowseEmployee子窗体上单击【删除】按钮,实现删除选择的记录,代码如下。 其他功能模块和员工管理模块类似,详见源程序。,开发背景 需求分析 数据库设计 实体层设计 数据访问层设计 业务逻辑层设计 表示层设计 运行系统,24.8 运行系统,运行系统,首先出现主界面,单击相应按钮可以实现相应的功能。主界面如下。 如单击工具栏上“员工管理”按钮,出现界面如下。 选择一条记录后单击【编辑】按钮,可以编辑选定的记录,运行界面如下。 在编辑窗体中输入更新的员工信息后,单击【修改记录】即可实现员工信息的修改。 在员工管理窗体中单击【添加】按钮,可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年终止写字楼租赁合同协议范本
- 门面续签合同范本
- 购买电脑耗材合同范本
- 家具清仓转让合同范本
- 病人用品租赁合同范本
- 单位购柴油合同范本
- 轨道热熔合同范本
- 废旧手表销售合同范本
- 乡村公路业绩合同范本
- 化脓性脑膜炎脑脊液漏护理查房
- 学习中心教学论
- GB/T 43241-2023法庭科学一氧化二氮检验气相色谱-质谱法
- 小儿腹泻护理查房
- GB/T 42653-2023玻璃高温黏度试验方法
- 代持股权挂名法人协议书
- 普通化学(第五版)浙江大学普通化学教研组P课件
- 医疗保障法律法规行政处罚司法审视及建议PPT学习培训课件
- GB/T 9999.2-2018中国标准连续出版物号第2部分:ISSN
- GB/T 6543-2008运输包装用单瓦楞纸箱和双瓦楞纸箱
- GB 19522-2004车辆驾驶人员血液、呼气酒精含量阈值与检验
- GB 10238-1998油井水泥
评论
0/150
提交评论