项目5基于三层架构的企业人事工资管理系统.ppt

上传人:本田雅阁 文档编号:2404333 上传时间:2019-03-26 格式:PPT 页数:78 大小:1.33MB
返回 下载 相关 举报
项目5基于三层架构的企业人事工资管理系统.ppt_第1页
第1页 / 共78页
项目5基于三层架构的企业人事工资管理系统.ppt_第2页
第2页 / 共78页
项目5基于三层架构的企业人事工资管理系统.ppt_第3页
第3页 / 共78页
亲,该文档总共78页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《项目5基于三层架构的企业人事工资管理系统.ppt》由会员分享,可在线阅读,更多相关《项目5基于三层架构的企业人事工资管理系统.ppt(78页珍藏版)》请在三一文库上搜索。

1、项目5 基于三层架构的 企业人事工资管理系统,教育部“十二五”职业教育国家规划教材,Visual C#程序设计与软件项目实训电子工业出版社 郑伟 谭恒松 编著,ISBN:9787121246128,教材网站:http:/ Server 2008作为后台数据库,数据库名为HRManage。数据库包含5个数据表,分别是用户表UserInfo、部门信息表Department、员工信息表Employee、工资信息表Salary、考核信息表CheckInfo。,建立系统数据库,建立系统数据库,建立系统数据库,搭建三层架构框架,三层架构通常是指将整个业务应用划分为:表示层(UI)、业务逻辑层(BLL)、数

2、据访问层(DAL)。 目的是实现“高内聚,低耦合”。 其中,表示层是展现给用户的界面,业务逻辑层是针对具体问题的操作,是对数据访问层的操作,对数据业务逻辑处理,数据访问层直接操作数据库,针对数据进行插入、修改、删除和查找等工作。,搭建三层架构框架,搭建三层架构框架,搭建三层架构框架,创建空的解决方案,搭建数据库实体层Model(类库),搭建数据访问层DAL(类库),搭建业务逻辑层BLL(类库),搭建表示层UL,将表示层项目设置为启动项目,添加各层之间的相互依赖,搭建三层架构框架,添加配置文件,添加数据操作类DbHelperSQL,为各层添加类,编写Model层代码,用户实体类代码(UserIn

3、fo.cs),部门实体类代码(Department.cs),员工实体类代码(Employee.cs),工资实体类代码(Salary.cs),考核实体类代码(Check.cs),系统详细设计,用户登录功能模块设计,用户登录功能模块设计,关键代码: (1)BLL.UserInfo bll = new BLL.UserInfo(); 实例化BLL层; (2)Model.UserInfo model = new Model.UserInfo(); 实例化Model层; (3)ds = bll.GetList(strWhere); 调用BLL层中的GetList方法,返还DataSet对象; (4)if

4、 (ds.Tables0.Rows.Count=1) 判断是否有查找到数据。,用户登录功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)为登录窗体设计Icon图标。,添加用户功能模块设计,添加用户功能模块设计,关键代码: (1)Model.UserInfo model = new Model.UserInfo(); 实例化Model层; (2)BLL.UserInfo bll = new BLL.UserInfo(); 实例化BLL层; (3)if (bll.Add(model) = true) 将用户信息添加到数据库中,根据返回值判断是否添加成功。,添加用户功能模块设计,待完善

5、工作: (1)文本框的输入规范检查; (2)如果添加的用户名重复,代码如何修改?,管理用户功能模块设计,管理用户功能模块设计,关键代码: (1)BLL.UserInfo bll = new BLL.UserInfo(); 实例化BLL层; (2)Model.UserInfo model = new Model.UserInfo(); 实例化Model层; (3)if (bll.Update(model) = true) 根据返回布尔值判断是否修改数据成功; (4)if (bll.Delete(userName)=true) 根据返回布尔值判断是否删除数据成功; (5)DataBind(); 刷

6、新DataGridView数据; (6)ds = bll.GetList(); 执行SQL语句,将结果存在ds中。,管理用户功能模块设计,待完善工作: (1)异常处理; (2)要求admin用户不得删除,只能修改密码,请修改代码; (3)将DataGridView的列标题显示为中文,代码如何修改?,主界面设计,主界面设计,1已完成工作: (1)窗体的属性设置; (2)菜单设计; (3)工具栏设计。 2待完善工作: (1)为主窗体设计Icon图标; (2)为主窗体退出系统编写代码; (3)为主窗体添加状态栏。,添加部门功能模块设计,添加部门功能模块设计,关键代码: (1)BLL.Departme

7、nt bll = new BLL.Department(); 实例化BLL层; (2)Model.Department model = new Model.Department(); 实例化Model层; (3)if (bll.Add(model) 0) 将部门信息添加到数据库中,根据影响的行数判断是否添加成功。,添加部门功能模块设计,已完成工作: (1)窗体控件属性设置; (2)部门信息的添加功能; (3)重置功能。 待完善工作: (1)文本框的输入规范检查; (2)异常处理。,管理部门功能模块设计,管理部门功能模块设计,关键代码: (1)int departmentID; 定义部门编号;

8、(2)BLL.Department bll = new BLL.Department(); 实例化BLL层; (3)Model.Department model = new Model.Department(); 实例化Model层; (4)model.DepartmentID = departmentID; departmentID值从dgvDepartmentInfo的CellClick事件取得;,管理部门功能模块设计,(5)if (bll.Update(model) = true) 根据返回布尔值判断是否修改数据成功; (6)if (bll.Delete(departmentID) =

9、true) 根据返回布尔值判断是否删除数据成功; (7)DataBind(); 刷新DataGridView数据; (8)ds = bll.GetList(); 执行SQL语句,将结果存在ds中; (9)departmentID = int.Parse( dgvDepartmentInfo.CurrentCell.OwningRow.Cells0. Value.ToString(); 获取部门编号。,管理部门功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvDepartmentInfo 中选择部门信息时,单击“删除”按钮会报错,代码如何修改? (

10、4)如果该部门已经有员工,则不能删除部门信息,如何修改代码? (5)将DataGridView的列标题显示为中文,代码如何修改?,添加员工功能模块设计,添加员工功能模块设计,关键代码: (1)Model.Employee model = new Model.Employee(); 实例化Model层 (2)BLL.Employee bll = new BLL.Employee(); 实例化BLL层; (3)if (bll.Add(model) = true) 将员工信息添加到数据库中,根据返回值判断是否添加成功。,添加员工功能模块设计,已完成工作: (1)窗体控件属性设置; (2)员工信息的添

11、加功能; (3)重置功能。 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)如果添加的员工编号重复,代码如何修改?,管理员工功能模块设计,管理员工功能模块设计,关键代码: (1)Model.Employee model = new Model.Employee(); 实例化Model层; (2)BLL.Employee bll = new BLL.Employee(); 实例化BLL层; (3)if (bll.Update(model) = true) 根据返回布尔值判断是否修改数据成功;,管理员工功能模块设计,(4)ds = bll.GetList(); 执行SQL语句,

12、将结果存在ds中; (5)if (bll.Delete(employeeID) = true) 根据返回布尔值判断是否删除数据成功; (6)DataBind(); 刷新DataGridView数据。,管理员工功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvEmployeeInfo中选择员工信息时,单击“删除”按钮会报错,代码如何修改? (4)如果该员工已经有工资和考核记录,则不能删除员工信息,如何修改代码? (5)将DataGridView的列标题显示为中文,代码如何修改?,添加工资功能模块设计,添加工资功能模块设计,关键代码: (1)Mode

13、l.Salary model = new Model.Salary(); 实例化Model层; (2)BLL.Salary bll = new BLL.Salary(); 实例化BLL层; (3)if (bll.Add(model) 0) 将工资信息添加到数据库中,根据影响的行数判断是否添加成功; (4)ds = bll.GetList(); 执行SQL语句,将结果存在ds中。,添加工资功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)将DataGridView的列标题显示为中文,代码如何修改?,管理工资功能模块设计,管理工资功能模块设计,关键代码: (1)in

14、t salaryID; 定义工资编号; (2)BLL.Salary bll = new BLL.Salary(); 实例化BLL层; (3)ds = bll.GetList(); 执行SQL语句,将结果存在ds中; (4)Model.Salary model = new Model.Salary(); 实例化Model层;,管理工资功能模块设计,(5)model.SalaryID = salaryID; salaryID值从dgvSalaryInfo的CellClick事件取得; (6)if (bll.Update(model) = true) 根据返回布尔值判断是否修改数据成功; (7)if

15、 (bll.Delete(salaryID) = true) 根据返回布尔值判断是否删除数据成功; (8)DataBind(); 刷新DataGridView数据; (9)salaryID = int.Parse(dgvSalaryInfo.CurrentCell.OwningRow.Cells0.Value.ToString(); 获取工资编号。,管理工资功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvSalaryInfo中选择工资信息时,单击“删除”按钮会报错,代码如何修改? (4)将DataGridView的列标题显示为中文,代码如何修改

16、?,添加考核功能模块设计,添加考核功能模块设计,关键代码: (1)Model.CheckInfo model = new Model.CheckInfo(); 实例化Model层; (2)BLL.CheckInfo bll = new BLL.CheckInfo(); 实例化BLL层; (3)if (bll.Add(model) 0) 将考核信息添加到数据库中,根据影响的行数判断是否添加成功;,添加考核功能模块设计,(4)BLL.Employee bll = new BLL.Employee(); 实例化BLL层; (5)ds = bll.GetList(); 执行SQL语句,将结果存在ds中

17、; (6)BLL.Department bll = new BLL.Department(); 实例化BLL层; (7)ds = bll.GetList(strWhere); 根据条件获取部门信息 (8)txtDepartmentName.Text = ds.Tables0.Rows01.ToString(); 根据部门ID查找部门名称。,添加考核功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)将DataGridView的列标题显示为中文,代码如何修改? (4)要求考核人为本公司员工,代码如何修改?,管理考核功能模块设计,管理考核功能模块设计,关键代码: (1

18、)int checkID; 定义考核编号; (2)Model.CheckInfo model = new Model.CheckInfo(); 实例化Model层; (3)model.CheckID = checkID; checkID值从dgvCheckInfo的CellClick事件取得; (4)BLL.CheckInfo bll = new BLL.CheckInfo(); 实例化BLL层;,管理考核功能模块设计,(5)if (bll.Update(model) = true) 根据返回布尔值判断是否修改数据成功; (6)if (bll.Delete(checkID) = true) 根

19、据返回布尔值判断是否删除数据成功; (7)DataBind(); 刷新DataGridView数据; (8)ds = bll.GetList(); 执行SQL语句,将结果存在ds中; (9)checkID = int.Parse(dgvCheckInfo.CurrentCell.OwningRow.Cells0.Value. ToString(); 获取考核编号。,管理考核功能模块设计,待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvCheckInfo中选择考核信息时,单击“删除”按钮会报错,代码如何修改? (4)将DataGridView的列标题显示为中文

20、,代码如何修改?,员工查询功能模块设计,员工查询功能模块设计,关键代码: (1)string strWhere=“1=1“; 设置初始查询条件,当用户没有输入任何查询信息时将所有信息查询出来; (2)BLL.Employee bll = new BLL.Employee(); 实例化BLL层; (3)ds = bll.GetList(strWhere); 执行带参数SQL语句,将结果存在ds中。,员工查询功能模块设计,待完善工作: (1)异常处理; (2)将DataGridView的列标题显示为中文,代码如何修改?,考核查询功能模块设计,考核查询功能模块设计,关键代码: (1)string s

21、trWhere=“1=1“; 设置初始查询条件,当用户没有输入任何查询信息时将所有信息查询出来; (2)BLL.CheckInfo bll = new BLL.CheckInfo(); 实例化BLL层; (3)ds = bll.GetList(strWhere); 执行带参数SQL语句,将结果存在ds中。,考核查询功能模块设计,待完善工作: (1)异常处理; (2)将DataGridView的列标题显示为中文,代码如何修改?,功能总结,企业人事工资管理系统基于三层架构开发,另外添加了一个Model层,用于存放实体类,整个解决方案包括四个项目:Model、DAL、BLL、HRManage。 Mo

22、del层包括5个类:Check.cs、Department.cs、Employee.cs、Salary.cs、UserInfo.cs; DAL层包括6个类:Check.cs、Department.cs、Employee.cs、Salary.cs、UserInfo.cs、DbHelperSQL.cs; BLL层包括5个类:Check.cs、Department.cs、Employee.cs、Salary.cs、UserInfo.cs;,功能拓展,(1)员工工资查询,能够分月分年统计; (2)如果员工被删除,但工资信息、考核信息还在,如何处理? (3)重新设计主界面,将员工的基本信息在主界面显示,方便管理; (4)针对不同的用户,给予不同的系统管理权限; (5)增加一个数据库备份和还原功能模块。,THANK YOU,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1