项目5 基于三层架构的 企业人事工资管理系统 教育部“十二五”职业教育国家规划教材

Slides:



Advertisements
Similar presentations
四川财经职业学院会计一系会计综合实训 目录 情境 1.1 企业认知 情境 1.3 日常经济业务核算 情境 1.4 产品成本核算 情境 1.5 编制报表前准备工作 情境 1.6 期末会计报表的编制 情境 1.2 建账.
Advertisements

2014 年 10 月. 学生入学考试 15 位编号 号工号 ****** 北科 MBA 网址: 如: 初试密码为身份证 后六位,登录成功 后可进行修改。
护理学基础 第七章 医院与住院环境.
Chapter 3: SQL.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
2017/3/6 V1 实习指导管理系统.
2017/3/6 V1 实习指导管理系统.
在线考试系统手机端使用说明 技术支持:南京庞培软件科技有限公司.
                                     “金质工程”(一期) 综合信息服务系统 系统介绍 “金质工程”(一期)项目组 二〇〇九年十一月 主讲人:战勇.
网络测评操作图解 武进区委组织部干部一科 2010年12月.
公务员管理子系统建设步骤 1、组建由局长直接领导的体制,制定公务员管理、工资管理、其他业务用户的管理权限,以及各业务间的协作流程。
Excel VBA视频教程 课程介绍-什么是VBA
基于工作过程的网页设计与网站开发教程 英语等级考试专题学习网站发布测试 主编:张洪斌 刘万辉 机械工业出版社.
UI(用户界面)集训班 Illustrator 高级班.
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
K/3 Cloud云之家集成 K/3 Cloud 基础系统部.
第二讲 搭建Java Web开发环境 主讲人:孙娜
Chinese Virtual Observatory
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
SQL Injection.
Qt网络编程实战之HTTP服务器 安晓辉(foruok)
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
第十一讲 学生成绩管理系统(二) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Windows 7 的系统设置.
VSS使用简介 王树升
UI 软件 设计 移动UI设计(三).
程序设计工具实习 Software Program Tool
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
第四讲 客户问卷调查程序 教育部“十二五”职业教育国家规划教材
第二章 安全管理.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
201x 公司LOGO LOGO XX公司年终总结 201x/10/18 201x
Web安全基础教程
数据库系统与应用实验 基于SQL Server 2005.
解决“最后1公里”问题.
iSIGHT 基本培训 使用 Excel的栅栏问题
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Chapter 18 使用GRASP的对象设计示例.
2019/5/10 网络学习空间实务操作.
Visual Basic程序设计 第13章 访问数据库
国家学生体质健康标准数据管理与分析系统使用培训
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
CMP 讲义 2018 CMP设计哲学及基础概念 CMP推荐的4层代码结构.
GDP设计协同在线配置产品线公网访问权限操作手册
基于列存储的RDF数据管理 朱敏
仓库管理系统 --仓库管理系统总体设计及基本信息管理模块的设计与实现
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
97學年度專題成果展 畢業生職業性向測驗系統之建立
使用说明书 网址: 贵阳学院智慧实验室管理平台 用户中心 使用说明书 网址:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
第七讲 酒店客房管理系统(三) 教育部“十二五”职业教育国家规划教材
第九讲 酒店客房管理系统(五) 教育部“十二五”职业教育国家规划教材
JUDDI安装手册.
Presentation transcript:

项目5 基于三层架构的 企业人事工资管理系统 教育部“十二五”职业教育国家规划教材 《Visual C#程序设计与软件项目实训》电子工业出版社 郑伟 谭恒松 编著 ISBN:9787121246128 教材网站:http://www.zjcourse.com/visualc/ 项目5 基于三层架构的 企业人事工资管理系统

目录 系统功能总体设计 建立系统数据库 搭建三层架构框架 系统详细设计

系统总体功能设计 本系统的功能模块有以下几个:员工管理(包括添加员工和管理员工)、工资管理(包括添加工资和管理工资)、考核管理(包括添加考核和管理考核)、信息查询(包括员工查询和考核查询)、部门维护(包括添加部门和管理部门)、用户维护(包括添加用户和管理用户)。

系统总体功能设计 企业人事工资管理系统 考核管理 添加考核 管理考核 部门维护 添加部门 管理部门 用户维护 添加用户 管理用户 员工管理 添加员工 管理员工 信息查询 员工查询 考核查询 工资管理 添加工资 管理工资

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

系统总体功能设计—界面

建立系统数据库 本系统采用SQL Server 2008作为后台数据库,数据库名为HRManage。数据库包含5个数据表,分别是用户表UserInfo、部门信息表Department、员工信息表Employee、工资信息表Salary、考核信息表CheckInfo。

建立系统数据库

建立系统数据库

建立系统数据库

搭建三层架构框架 三层架构通常是指将整个业务应用划分为:表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 目的是实现“高内聚,低耦合”。 其中,表示层是展现给用户的界面,业务逻辑层是针对具体问题的操作,是对数据访问层的操作,对数据业务逻辑处理,数据访问层直接操作数据库,针对数据进行插入、修改、删除和查找等工作。

搭建三层架构框架 表示层(UI) 业务逻辑层(BLL) 数据访问层(DAL) Oracal DB MS Sql ......

搭建三层架构框架 表示层(UI) 业务逻辑层(BLL) 数据访问层(DAL) 用户请求 反馈数据

搭建三层架构框架 创建空的解决方案 搭建数据库实体层Model(类库) 搭建数据访问层DAL(类库) 搭建业务逻辑层BLL(类库) 搭建表示层UL 将表示层项目设置为启动项目 添加各层之间的相互依赖

搭建三层架构框架 添加配置文件 添加数据操作类DbHelperSQL 为各层添加类

编写Model层代码 用户实体类代码(UserInfo.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 (ds.Tables[0].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) 将用户信息添加到数据库中,根据返回值判断是否添加成功。

添加用户功能模块设计 待完善工作: (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(); 刷新DataGridView数据; (6)ds = bll.GetList(); 执行SQL语句,将结果存在ds中。

管理用户功能模块设计 待完善工作: (1)异常处理; (2)要求admin用户不得删除,只能修改密码,请修改代码; (3)将DataGridView的列标题显示为中文,代码如何修改?

主界面设计

主界面设计 1.已完成工作: (1)窗体的属性设置; (2)菜单设计; (3)工具栏设计。 2.待完善工作: (1)为主窗体设计Icon图标; (2)为主窗体退出系统编写代码; (3)为主窗体添加状态栏。

添加部门功能模块设计

添加部门功能模块设计 关键代码: (1)BLL.Department 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; 定义部门编号; (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) == true) 根据返回布尔值判断是否删除数据成功; (7)DataBind(); 刷新DataGridView数据; (8)ds = bll.GetList(); 执行SQL语句,将结果存在ds中; (9)departmentID = int.Parse( dgvDepartmentInfo.CurrentCell.OwningRow.Cells[0]. Value.ToString()); 获取部门编号。

管理部门功能模块设计 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvDepartmentInfo 中选择部门信息时,单击“删除”按钮会报错,代码如何修改? (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)员工信息的添加功能; (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语句,将结果存在ds中; (5)if (bll.Delete(employeeID) == true) 根据返回布尔值判断是否删除数据成功; (6)DataBind(); 刷新DataGridView数据。

管理员工功能模块设计 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvEmployeeInfo中选择员工信息时,单击“删除”按钮会报错,代码如何修改? (4)如果该员工已经有工资和考核记录,则不能删除员工信息,如何修改代码? (5)将DataGridView的列标题显示为中文,代码如何修改?

添加工资功能模块设计

添加工资功能模块设计 关键代码: (1)Model.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)int 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 (bll.Delete(salaryID) == true) 根据返回布尔值判断是否删除数据成功; (8)DataBind(); 刷新DataGridView数据; (9)salaryID = int.Parse(dgvSalaryInfo.CurrentCell.OwningRow.Cells[0].Value.ToString()); 获取工资编号。

管理工资功能模块设计 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvSalaryInfo中选择工资信息时,单击“删除”按钮会报错,代码如何修改? (4)将DataGridView的列标题显示为中文,代码如何修改?

添加考核功能模块设计

添加考核功能模块设计 关键代码: (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中; (6)BLL.Department bll = new BLL.Department(); 实例化BLL层; (7)ds = bll.GetList(strWhere); 根据条件获取部门信息 (8)txtDepartmentName.Text = ds.Tables[0].Rows[0][1].ToString(); 根据部门ID查找部门名称。

添加考核功能模块设计 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)将DataGridView的列标题显示为中文,代码如何修改? (4)要求考核人为本公司员工,代码如何修改?

管理考核功能模块设计

管理考核功能模块设计 关键代码: (1)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) 根据返回布尔值判断是否删除数据成功; (7)DataBind(); 刷新DataGridView数据; (8)ds = bll.GetList(); 执行SQL语句,将结果存在ds中; (9)checkID = int.Parse(dgvCheckInfo.CurrentCell.OwningRow.Cells[0].Value. ToString()); 获取考核编号。

管理考核功能模块设计 待完善工作: (1)文本框的输入规范检查; (2)异常处理; (3)没有在控件dgvCheckInfo中选择考核信息时,单击“删除”按钮会报错,代码如何修改? (4)将DataGridView的列标题显示为中文,代码如何修改?

员工查询功能模块设计

员工查询功能模块设计 关键代码: (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 strWhere="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。 Model层包括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