1、人事管理系统系统设计结构说明书 人事管理系统系统设计说明书项目名称 项目成员姓名 学号 姓名 学号 姓名 学号 姓名 学号 组别 指导教师 班 级 日 期 指 导 老 师 评 语 成绩:分教师签名:日期:任 务 分 工 表序号姓名班级学号E-mail电话签名1任务2任务3任务4任务文档更新记录版本说明完成日期修改人0.1创建文档目录指 导 老 师 评 语2任 务 分 工 表3文档更新记录4目录51概述71.1编写目的71.2项目背景71.3系统简述71.4参考资料71.5术语和缩写词*72总体设计72.1系统结构设计72.1.1顶层系统结构92.1.2用户登录功能结构图92.1.3员工管理10
2、2.1.4部门管理102.1.5休假管理112.1.6人事考勤122.1.7加班管理122.1.8工资管理132.1.9事件日志142.2系统对象设计142.2.1数据库连接类152.2.2用户登录功能类图152.2.3员工管理功能类图172.2.4部门管理类图182.3人机交互设计192.4数据库设计202.4.1数据库分析202.4.2人员信息表202.4.3部门信息表212.4.4考勤记录表213关键技术设计213.1数据库连接对象设计213.2用户登录功能模块223.2.1防止窗口被关闭223.2.2验证用户名和密码23【注】本编写指南中带有“*”标志的表示可选部分,即在文档编写过程中
3、可以依据实际项目的具体情况进行取舍,文档完成后这些“*”标记应该去掉。1 概述1.1 编写目的1.2 项目背景1.3 系统简述1.4 参考资料1.5 术语和缩写词*2 总体设计2.1 系统体系结构设计2.2 系统功能结构设计以某公司为例,某公司需要对员工基本资料、所在部门、员工请假/休假、人事考勤、加班及工资进行合理的规划。通过与人力资源部门及相关人员进行需求沟通后,确定系统需要具有如下的功能。l 用户登录管理:用户登录后才能进入系统,包含用户名和密码检查l 员工信息管理:员工信息的添加、删除、更改,可添加员工照片l 部门管理:能够以树状视图显示员工所在的部门l 休假管理:员工的休假信息添加、
4、查询及统计功能l 考勤管理:员工的考勤记录、考勤历史查询及考勤统计功能l 加班管理:录入加班信息、加班汇总及特定员工的加班查询功能l 工资管理:录入员工的发薪记录、查询特定员工的发薪记录及发薪历史信息l 系统日志:记录当前用户的所有操作信息,提供查询功能需求分析用例图如图所示。图2-1-1 人事管理系统用例图2.2.1 顶层系统结构图2-1-2 系统顶层系统结构功能图2.2.2 用户登录功能结构图图2-1-3 用户登录功能结构图用户登录功能包含用户登录及更改密码两个:l 用户登录:用户输入帐号及密码,系统验证,成功则进入系统,否则给予提示。l 更改密码:在用户登录界面提供一个更改密码按钮,通过
5、此按钮可以弹开一个更改密码的界面,用户输入原有帐号及密码,以及新密码进行更改。2.2.3 员工管理图2-1-4 员工管理功能结构图提供一个窗口显示所有员工信息列表,用户可以通过鼠标选择一条记录,窗口中提供当前选中记录的信息显示,并提供所列功能的功能按钮。员工管理功能:l 新员工添加:通过在界面上的各种输入框、列表框输入新用户信息,包括用户头像选择,添加新用户l 删除员工信息:通过员工管理页面选择要删除的员工记录,点击删除按钮,进行删除。在删除的时候提示用户是否确定删除。l 更改员工信息:在员工管理页面显示当前选中员工的所有信息,在相应的控件内进行更改,并保存。2.2.4 部门管理图2-1-5
6、部门管理功能结构图提供一个窗口,以树状结构显示所有部门列表,并包含部门员工,提供添加、删除、更改、拖拽等功能。部门管理功能:l 新部门添加:通过添加窗口输入新部门名称,然后在部门管理主窗口的树状结构添加新结点;l 删除现有部门:通过选择树状结构中的部门名称,点击删除按钮进行删除;l 更改部门名称:选中树状结构中的部门名称,点击更改部门名称按钮,在弹出的对话框中输入新名称;l 调整部门结构:以拖拽的形式在树状结构里调整部门结构。2.2.5 休假管理图2-1-6 休假管理功能结构图提供一个窗口显示所有历史休假记录,用户可以通过鼠标选择一条记录,窗口中提供当前选中记录的信息显示,并提供所列功能的功能
7、按钮。休假管理:l 添加新休假记录:通过在界面上的各种输入框、列表框输入新休假信息,点击添加按钮确定添加;l 查询员工休假记录:在弹出窗口中输入查询条件,确定后在主界面窗口中的记录列表中显示查询结果;l 统计员工休假信息:在弹出窗口中选需统计的员工名称,确定后弹出统计界面。2.2.6 人事考勤图2-1-7 人事考勤功能结构图提供一个窗口显示所有历史考勤记录。历史考勤记录列表上方提供输入新考勤记录的输入控件。人事考勤:l 添加员工考勤记录:在人事考勤主窗口历史记录列表上方的输入控件中输入新记录信息,点击添加按钮确定添加;l 查询员工考勤记录:在弹出窗口中输入查询条件,确定后在主界面窗口中的记录列
8、表中显示查询结果;l 统计所有员工考勤情况:在弹出窗口中选择统计时间段,确定后弹出统计界面。2.2.7 加班管理图2-1-8 加班管理功能结构图提供一个窗口显示所有历史加班记录。历史加班记录列表上方提供输入新加班记录的输入控件。加班管理:l 添加员工加班记录:在加班管理主窗口历史记录列表上方的输入控件中输入新记录信息,点击添加按钮确定添加;l 查询员工加班记录:在弹出窗口中输入查询条件,确定后在主界面窗口中的记录列表中显示查询结果;l 统计所有员工加班情况:在弹出窗口中选择统计时间段,确定后弹出统计界面。2.2.8 工资管理图2-1-9 工资管理功能结构图提供一个窗口显示所有历史发薪记录。历史
9、发薪记录列表上方提供输入新发薪记录的输入控件。工资管理:l 添加员工发薪记录:在工资管理主窗口历史记录列表上方的输入控件中输入新记录信息,点击添加按钮确定添加;l 查询员工发薪记录:在弹出窗口中输入查询条件,确定后在主界面窗口中的记录列表中显示查询结果;2.2.9 事件日志图2-1-10 事件日志功能结构图提供一个窗口显示所有历史事件记录。事件日志:l 查询历史事件记录:在弹出窗口中输入查询条件,确定后在主界面窗口中的记录列表中显示查询结果;2.3 系统对象设计图2-2-1 系统主界面窗口类成员变量说明toolStrip包含员工管理,加班管理,工资管理功能按钮。menuStrip提供窗口菜单栏
10、,存放各项功能按钮成员函数说明MainFrom_Load一旦窗口加载,弹出的登录窗口2.3.1 数据库连接类图 2-1-1 数据库连接功能类图成员函数说明GetSQLLink()返回一个SqlConnection的数据库连接对象2.3.2 用户登录功能类图图2-2-1 用户登录界面类图成员变量说明dataConn数据库连接对象loginNameTextField用户登录名输入框pwdTextField密码输入框okButton确定按钮cancelButton取消按钮changePwdButton修改密码按钮成员函数说明onOKbuttonClick确定按钮点击后执行用户验证,通过后退出对话框,
11、不通过则弹出提示onCancelButtonClick取消按钮点击后执行退出系统onChangeButtonClick弹出修改密码对话框图2-2-2 修改密码界面类图成员变量说明originalNameTextField原登录名输入框originalPwdTextField原登录密码输入框newPwdTextField新登录密码输入框copyPwdTextField重复输入新登录密码输入框okButton确定按钮cancelButton取消按钮成员函数说明onOKbuttonClick确定按钮点击后执行用户验证,通过后更新密码并关闭对话框,不通过则弹出提示onCancelButtonClick
12、取消按钮点击后关闭对话框2.3.3 员工管理功能类图图2-2-3 员工管理主界面类图成员变量说明dataset数据记录列表nameTextField当前选择记录用户名workerIDTextLabel当前选择记录用户IDworkerPic当前选择记录用户头像addNewButton添加新记录按钮delButton删除记录按钮saveButton保存记录按钮成员函数说明onAddButtonClick点击此按钮后,界面显示当前记录信息控件清空,等待用户输入新记录信息onDelButtonClick点击此按钮后,界面弹出提示对话框,询问是否确定删除当前选择记录,确定后,执行删除,并更新datase
13、tonSaveButtonClick点击此按钮了,保存当前新记录或者是更新当前选择记录信息。2.3.4 部门管理类图图2-2-4 部门管理界面类图成员变量说明treeViewTreeView类对象,树状结构addNewButton添加新记录按钮delButton删除记录按钮成员函数说明onAddButtonClick点击此按钮后,弹出输入新部门对话框,确定输入后在部门层结点底部添加新结点onDelButtonClick点击此按钮后,界面弹出提示对话框,询问是否确定删除当前选择记录,确定后,执行删除,并更新treeView图2-2-5 添加新部门输入对话框类图成员变量说明inputTextFie
14、ld部门名字输入框okButton确定按钮cancelButton取消按钮成员函数说明onOKbuttonClick确定按钮点击后返回部门管理主界面执行添加onCancelButtonClick取消按钮点击后退出对话框2.4 人机交互设计人事管理系统基于MDI多文档窗口界面,同一时间用户可以打开多个窗口。当启动系统时,将显示如图所示的登录窗口。图2-3-1 “人事管理系统登录”窗口l 当用户登录进入系统后,可以使用工具栏或者菜单栏中的模块名称,打开相应的功能模块。l 单击“员工管理”按钮时,将弹出如图所示的员工管理窗口。图2-3-2 “员工管理”窗口l 在该窗口中可以添加、编辑和删除员工资料,
15、上传员工资料等。2.5 数据库设计2.5.1 数据库分析在开始准备实现之前,需要对数据库结构进行良好的规划,不然将来业务流程发生异变时,如果涉及底层数据表的更改,那会是件非常麻烦的工作。根据功能结构和需求中的业务流程,对数据库中将涉及的信息进行了归纳,包括如下几个方面。l 员工信息:包括员工姓名、出生日期、电子邮件、所在部门、登录系统的名称和密码、电话、职位、基本薪资等。l 部门信息:包括部门名称、编号及部门负责人。l 假期记录信息:包括请假信息,所请时间、请假原因、请假单据状态等。l 系统日志:包括日志事件编码、事件描述和事件发生的时间l 人事考勤:包括员工的上班和下班时间,迟到时间、原因、
16、状态、类型等。l 加班管理:包括员工的加班时间,加班状态等信息。l 工资管理:记录员工的工资信息、发薪时间、基本薪资、缺勤扣除及其他薪资。基于上述信息,创建了8个数据表,如下所示。l 部门信息表:记录部门信息l 人员信息表:记录人员信息l 考勤记录表:记录员工考勤信息l 员工加班表:记录员工加班信息l 请假记录表:记录员工的请假信息l 系统日志表:记录系统的日志活动信息l 假期设置表:记录系统指定的节假日信息l 员工工作表:记录员工的薪资信息2.5.2 人员信息表用于记录员工的明细信息,其主要字段为员工的姓名和登录密码等,具体设计如表4-1所示。表4-1 人员信息表(Worker)字段名称数据
17、类型字段大小是否主键是否为空说明WorkerIDintN/A是否员工IDWorkerNamenvarchar50否是员工姓名WorkerLoginnvarchar20否是登录名称WorkerPasswordvarchar50否是登录密码BirthdayDateTimeN/A否是生日WorkEmailnvarchar50否是电子邮件BranchnumIDintN/A否是部门IDWorkerCompensationintN/A否是薪资Wpositionnvarchar50职位Wphonenvarchar50电话Wselftalknvarchar200简历Wfreetimeint离职Wlevelin
18、t20否是密码Wphotovarchar500相片地址2.5.3 部门信息表用于记录公司的组织结构部门信息。表4-2 部门信息表(Branchnum)字段名称数据类型字段大小是否主键是否为空说明BranchnumIDintN/A是否部门IDBranchnumNamenvarchar10否否部门名称BranchnumDepictnvarchar20否否部门描述BranchnumManagerIDint部门经理2.5.4 考勤记录表用于记录公司的组织结构部门信息。表4-3 考勤记录表(WorkerAttendance)字段名称数据类型字段大小是否主键是否为空说明3 关键技术设计3.1 数据库连接对
19、象设计为了统一管理连接管理,HRM新建了一个名为DatabaseConnection.cs的类来统一管理数据库连接。该类中只具有一个名为link的方法,用于从属性设置中获取连接字符串,并实例化一个新的连接对象返回给调用方,代码如下所示。using System;using System.Collections.Generic;using System.Text;using System.Data;/为使用SqlConnection,必须添加此命名空间using System.Data.SqlClient;namespace HRM public class DatabaseConnection
20、 /提供数据库连接类 public SqlConnection link() /从属性中获取连接字符串 string sqlconnectionstr = HRM.Properties.Settings.Default.WorkerManageConnectionString1; /实例化一个新的连接对象 SqlConnection con = new SqlConnection(sqlconnectionstr); /打开连接 con.Open(); /返回连接 return con; l 本示例将访问SQL Server数据库,因此需要引入为SQL Server访问进行过优化的SQL Se
21、rver提供者,引入了定义了SQL Server数据访问提供者的命名空间。l Link方法从应用程序设置中获取到已经定义好的连接字符串,返回一个SqlConnection对象实例。3.2 用户登录功能模块3.2.1 防止窗口被关闭为了防止用户在MDI主窗口中关闭登录窗口,LoginForm.cs重载了Control.CreateParams属性。代码如下所示。 protected override CreateParams CreateParams /通过重载CreateParams属性来移除关闭功能 get int CS_NOCLOSE = 0x200; CreateParams param
22、eters= base.CreateParams;/调用基类的属性 parameters.ClassStyle |= CS_NOCLOSE;/移除关闭功能 return parameters; 代码首先获取消息常量值,赋给整型的CS_NOCLOSE常量,并获取基类的CreateParams属性的值,接着移除了基类的parameters的关闭功能并返回。经过这样的设计,可以看到“关闭”按钮现在变为灰色不可编辑状态,如图所示。图2-2-1 移除关闭按钮3.2.2 验证用户名和密码当用户在登录名和密码文本框中输入用户名和密码,然后单击“登录”按钮时,将开始验证用户名和密码。“登录”按钮的事件处理代码
23、如下所示。 private void logininbtn_Click(object sender, EventArgs e) string userName = string.Empty, password = string.Empty; SqlCommand sqlcomm = new SqlCommand(select * from Worker where WorkerLogin= + loginnametxt.Text + , da.link();/先检索用户名 SqlDataReader reader = sqlcomm.ExecuteReader();/执行检索,返回SqlDat
24、aReader对象 reader.Read(); userName = reader.GetValue(2).ToString();/获得用户名称 password = reader.GetValue(3).ToString();/获得用户密码 if (userName = loginnametxt.Text)/如果用户名匹配 if (password = passwordtxt.Text)/如果密码匹配 /下面的代码用于插入日志记录 SqlCommand sqlcomm1 = new SqlCommand(insert SystemEvent + (EventDepict,EventHapp
25、enTime) + values(EventDepict,EventHappenTime), da.link(); sqlcomm1.Parameters.AddWithValue(EventDepict, 用户 + loginnametxt.Text + 登陆); sqlcomm1.Parameters.AddWithValue(EventHappenTime, DateTime.Now.ToString(); sqlcomm1.ExecuteNonQuery(); this.Close();/关闭窗口 else MessageBox.Show(密码错误!, 提示, MessageBoxBu
26、ttons.OK, MessageBoxIcon.Warning); passwordtxt.Text = ;/如果密码错误提示密码错误 else MessageBox.Show(登录名错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); passwordtxt.Text = ;/如果登录名错误提示登录名错误 个人工作业务总结本人于2009年7月进入新疆中正鑫磊地矿技术服务有限公司(前身为“西安中正矿业信息咨询有限公司”),主要从事测量技术工作,至今已有三年。在这宝贵的三年时间里,我边工作、边学习测绘相专业书籍,遇到不懂得问题积极的请教
27、工程师们,在他们耐心的教授和指导下,我的专业知识水平得到了很到的提高,并在实地测量工作中加以运用、总结,不断的提高自己的专业技术水平。同时积极的参与技术培训学习,加速自身知识的不断更新和自身素质的提高。努力使自己成为一名合格的测绘技术人员。在这三年中,在公司各领导及同事的帮助带领下,按照岗位职责要求和行为规范,努力做好本职工作,认真完成了领导所交给的各项工作,在思想觉悟及工作能力方面有了很大的提高。 在思想上积极向上,能够认真贯彻党的基本方针政策,积极学习政治理论,坚持四项基本原则,遵纪守法,爱岗敬业,具有强烈的责任感和事业心。积极主动学习专业知识,工作态度端正,认真负责,具有良好的思想政治素
28、质、思想品质和职业道德。 在工作态度方面,勤奋敬业,热爱本职工作,能够正确认真的对待每一项工作,能够主动寻找自己的不足并及时学习补充,始终保持严谨认真的工作态度和一丝不苟的工作作风。 在公司领导的关怀以及同事们的支持和帮助下,我迅速的完成了职业角色的转变。一、回顾这四年来的职业生涯,我主要做了以下工作:1、参与了新疆库车县新疆库车县胡同布拉克石灰岩矿的野外测绘和放线工作、点之记的编写工作、1:2000地形地质图修测、1:1000勘探剖面测量、测绘内业资料的编写工作,提交成果新疆库车县胡同布拉克石灰岩矿普查报告已通过评审。2、参与了库车县城北水厂建设项目用地压覆矿产资源评估项目的室内地质资料编写
29、工作,提交成果为库车县城北水厂建设项目用地压覆矿产资源评估报告,现已通过评审。3、参与了新疆库车县巴西克其克盐矿普查项目的野外地质勘查工作,参与项目包括:1:2000地质测图、1:1000勘查线剖面测量、测绘内业资料的编写工作;最终提交的新疆库车县康村盐矿普查报告已通过评审。4、参与了新疆哈密市南坡子泉金矿2009年度矿山储量监测工作,项目包括:野外地质测量与室内地质资料的编写,提交成果为新疆哈密市南坡子泉金矿2009年度矿山储量年报,现已通过评审。6、参与了新疆博乐市五台石灰岩矿9号矿区勘探项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工
30、作,并绘制相应图件。7、参与了新疆博乐市托特克斜花岗岩矿详查报告项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。通过以上的这些工作,我学习并具备了以下工作能力: 1、通过实习,对测绘这门学科的研究内容及实际意义有了系统的认识。加深对测量学基本理论的理解,能够用有关理论指导作业实践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对测量学的基本内容得到一次实际应用,使所学知识进一步巩固、深化。2、熟悉了三、四等控制测量的作业程序及施测方法,并掌握了全站仪、静态GPS、RTK等测量仪器的工作原理和操作方法。3、掌握了
31、GPS控制测量内业解算软件(南方测绘 Gps数据处理)以及内业成图软件(南方cass)的操作应用。能够将外业测量的数据导入软件进行地形图成图和处理。4、在项目技术负责的指导下熟悉了测量技术总结的编写要求和方法,并参与了部分项目测量技术总结章节的编写工作。5、在项目负责的领导下参与整个测量项目的组织运作,对项目的实施过程有了深刻理解。通过在项目组的实习锻炼了自己的组织协调能力,为以后的工作打下了坚实基础。二、工作中尚存在的问题 从事测绘工作以来,深深感受到工作的繁忙、责任的重大,也因此没能全方位地进行系统地学习实践,主要表现为没有足够的经验,对于地形复杂的地段理解不够深刻;理论知识掌握不够系统,实践能力尚为有限。以上问题,在今后工作中自己将努力做到更好。三、今后的工作打算 通过总结四年来的工作,我无论从工作技术上,还是从世界观、人生观、价值观等各个方面,都有了很大的提高。今后,我会在此基础上,刻苦钻研,再接再厉,使自己在业务知识水平更上一层楼,为测绘事业的发展,贡献自己的力量。第26页 共26页