人力资源管理系统详细设计说明书.docx
《人力资源管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《人力资源管理系统详细设计说明书.docx(56页珍藏版)》请在冰豆网上搜索。
人力资源管理系统详细设计说明书
人力资源管理系统
详细设计说明书
修改历史
日期
版本
作者
修改内容
评审号
变更控制号
2009-10-11
1.0
张咏勤
初稿
概述
编写目的
本文挡提供给开发人员进行开发参考,以及测试人员编写单元测试所用。
项目背景
系统名称:
HRM人力资源管理系统
开发者:
Mark、Michael、Robin、Luke
详细设计的原则和方法:
项目整体结构清晰,按照概要设计的结构来进行详细设计。
系统详细设计后容易扩展,降低对其他模块的耦合性。
详细设计要做到可操作性,使读者能清楚所要实现的功能,以及如果去实现。
粒度设计到方法。
不具体设计到方法内的伪代码。
术语和缩写
术语描述性定义
Entity:
实体
DAL:
数据访问层
BLL:
业务逻辑层
UserProfile:
用户的详细信息
Reeducation:
再教育
ReferPeople:
家庭成员
JobHistory:
职位变更的历史记录
Recommendation:
推荐
参考资料
序号
文件名
文件编号
发表日期
出版单位或作者
1
《C#编码规范》
2
《HRM系统需求说明书》
张咏勤
2005-3-03
3
《HRM概要设计说明书》
2006-4-6
张咏勤
1软件模块标识
编号
模块名称
模块标识
1
人事信息管理
1.1
基本信息管理
User
1.2
详细信息管理
UserProfile
1.3
教育信息管理
Education
1.4
再教育信息管理
ReEducation
1.5
工作经验信息管理
Experience
1.6
项目经验信息管理
Project
1.7
技能信息管理
Skill
1.8
家庭成员信息管理
ReferPeople
2
职位变更
2.1
职位空缺登记
Vacancy
2.2
简历信息
同人事信息管理各模块
2.3
面试相关信息
Interview
2.4
领导审批
Interview
2.5
录用情况
JobHistory
2.6
推荐信息
Recommendation
2.7
推荐考核信息
PositionScore
2.8
调职记录信息
JobHistory
3
系统管理
3.1
部门管理
Department
3.2
职位管理
Position
3.3
密码修改
User
2用户信息管理
基本信息管理
表示层
业务逻辑层
功能描述:
对用户基本信息进行管理
模块编号:
1.1
模块功能:
对用户的基本信息的操作和维护,包括:
增加用户基本信息,修改用户的基本信息,查询用户的基本信息,删除用户
模块名称:
UserBiz
命名空间:
Microlink.HRM.UserBiz
处理:
对用户基本信息的增加,修改,查询用户或列表
属性
功能:
获取和设置User实体
名称:
User
方式:
Get&Set
返回值:
User
处理过程:
无
函数和过程
1、添加用户
过程功能:
添加一个系统用户
过程名称:
AddUser
参数说明:
无
返回值:
bool是否成功
处理过程:
首先读取配置的初始密码,如果没有配置初始密码,则赋给它“123456”。
然后通过数据层Insert记录。
2、删除用户
过程功能:
修改用户的状态为离职状态
过程名称:
DeleteUser
参数说明:
无
返回值:
bool是否成功
处理过程:
修改员工的状态为离职状态,调用ChangeUserInfo修改其状态。
3、修改用户
过程功能:
修改用户的信息
过程名称:
ChangeUserInfo
参数说明:
无
返回值:
bool是否成功
处理过程:
通过修改实体信息,再通过用户编号ID把实体信息Update到数据库中。
4、获取某一用户
过程功能:
通过ID获取某一用户
过程名称:
GetUser
参数说明:
longID用户编号
返回值:
User
处理过程:
以用户编号为参数,调用数据层的Load(ID)来获取用户实体,并返回用户实体
5、获取所有用户
过程功能:
获取所有用户
过程名称:
GetAllUsers
参数说明:
无
返回值:
DataTable包含所有用户的列表
处理过程:
通过数据层的LoadAll获取所有用户的数据集,提取其中的Users表。
6、获取某一类型用户
过程功能:
获取正式用户;,应聘简历;离职用户中的一种类型用户
过程名称:
GetAllUsers
参数说明:
shortuserType用户类型
返回值:
DataTable某一用户类型列表
处理过程:
架构一个包含用户ID,用户名称,用户类型的表,把查询得到的某一类型用户的数据填充到这个架构表中。
7、用户登录
过程功能:
通过用户和密码登录系统
过程名称:
Login
参数说明:
stringuserName用户名
Stringpassword密码
SringlogIP登录IP
返回值:
bool看是否验证通过
处理过程:
对密码进行MD5加密,看是否和数据库数据匹配。
匹配通过后,加载用户信息,否则退出。
实体层
功能描述:
用户信息进行存储管理
模块编号:
1.1
模块功能:
设置和获取用户的各种信息
模块名称:
User
命名空间:
Microlink.HRM.UserEntity
处理:
设置和获取用户的各种信息,作为用户的数据结构。
功能:
获取和设置User实体的编号
名称:
UserID
方式:
Get&Set
返回值:
long
处理过程:
无
功能:
获取和设置User实体的用户名
名称:
UserName
方式:
Get&Set
返回值:
sting
处理过程:
无
功能:
获取和设置User实体的密码
名称:
Password
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置User实体的邮件地址
名称:
Email
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置User实体的创建的时间
名称:
CreateDate
方式:
Get&Set
返回值:
DateTime
处理过程:
无
功能:
获取和设置User实体的最后登陆时间
名称:
LastLogDate
方式:
Get&Set
返回值:
DateTime
处理过程:
无
功能:
获取和设置User实体的最后登陆IP
名称:
LastLogIP
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置User实体的员工类型
名称:
UserType
方式:
Get&Set
返回值:
short
处理过程:
无
功能:
获取和设置User实体所属的部门编号
名称:
DepartmentID
方式:
Get&Set
返回值:
long
处理过程:
无
功能:
获取和设置User实体的所在职位编号
名称:
PoID
方式:
Get&Set
返回值:
long
处理过程:
无
功能:
获取和设置User实体的银行卡号
名称:
Account
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置User实体的权限
名称:
Power
方式:
Get&Set
返回值:
long
处理过程:
无
数据访问层
功能描述:
对用户基本信息进行管理
模块编号:
1.1
模块功能:
对用户的基本信息的操作和维护,包括:
增加用户基本信息,修改用户的基本信息,查询用户的基本信息,删除用户
模块名称:
UserDAL
命名空间:
Microlink.HRM.UserDAL
处理:
用户基本信息的增加,修改,查询用户或列表,以及验证用户等数据库操作
1、插入用户记录
过程功能:
插入一条用户记录
过程名称:
Insert
参数说明:
UseruserEntity用户实体
返回值:
bool是否操作成功
处理过程:
把实体的值赋给存储过程NewUser参数,操作存储过程完成
2、修改用户记录
过程功能:
修改一条用户记录
过程名称:
Update
参数说明:
UseruserEntity用户实体
返回值:
bool是否操作成功
处理过程:
从数据库提取的实体,经过修改后的提交到存储过程UpdateUser进行修改。
3、获取用户
过程功能:
获取一条用户记录
过程名称:
Load
参数说明:
longuserID
返回值:
User
处理过程:
通过编号作为参数来调用存储过程GetUser来获取单用户信息。
4、获取所有用户
过程功能:
获取所有用户记录
过程名称:
LoadAll
参数说明:
无
返回值:
DataSet
处理过程:
调用存储过程GetAllUser,通过查询语句返回所有用户表
5、获取所有用户的联系信息
过程功能:
获取所有用户记录的联系信息
过程名称:
LoadAddressList
参数说明:
无
返回值:
DataSet
处理过程:
通过GetAddressList的存储过程来查询所有用户的联系信息。
包括的联系信息有:
EmailAddress,MobilePhone,UserProfile.PhsPhone,OtherPhone
详细信息管理
表示层
业务逻辑层
功能描述:
对用户详细信息进行业务管理
模块编号:
1.2
模块功能:
对用户的详细信息的操作和维护,包括:
增加用户详细信息,修改用户的详细信息,查询用户的详细信息等
模块名称:
UserProfileBiz
命名空间:
Microlink.HRM.UserProfileBiz
处理:
用户详细信息的增加,修改,查询等操作
属性:
功能:
获取和设置UserProfile实体
名称:
UserProfile
方式:
Get&Set
返回值:
UserProfile
处理过程:
无
功能:
获取和设置员工的教育信息
名称:
Education
方式:
Get&Set
返回值:
DataTable
处理过程:
无
功能:
获取和设置家庭成员
名称:
ReferPeople
方式:
Get&Set
返回值:
DataTable
处理过程:
无
功能:
获取和设置工作经验
名称:
Experience
方式:
Get&Set
返回值:
DataTable
处理过程:
无
功能:
获取和设置项目经验
名称:
Project
方式:
Get&Set
返回值:
Project
处理过程:
无
功能:
获取和设置再教育信息
名称:
ReEducation
方式:
Get&Set
返回值:
DataTable
处理过程:
无
功能:
获取和设置员工的数据集,包括家庭成员,教育,再教育,项目经验,工作经验。
参考LoadUserInfo
名称:
UserInfo
方式:
Get&Set
返回值:
DataSet
处理过程:
无
函数和过程:
1、获取员工有关的列表信息
过程功能:
包括获取家庭成员,教育,再教育,项目经验,工作经验列表
过程名称:
LoadUserInfo
参数说明:
longuserID编号
返回值:
bool是否成功
处理过程:
如果userID为0则返回,否则通过DAL各自加载家庭成员,教育,再教育,项目经验,工作经验的DataTable到UserInfo的数据集中。
2、添加员工详细信息
过程功能:
添加UserProfile
过程名称:
AddUserProfile
参数说明:
无
返回值:
bool是否成功
处理过程:
通过数据层来insert实体UserProfile
3、修改员工详细信息
过程功能:
修改员工详细的信息
过程名称:
ChangeUserProfile
参数说明:
无
返回值:
bool是否成功
处理过程:
通过数据层来Update员工修改的详细信息
4、获取员工详细信息
过程功能:
通过员工编号获取员工的UserProfile
过程名称:
GetUserProfileByUserID
参数说明:
longuserID编号
返回值:
bool是否成功
处理过程:
以userID作为参数,通过数据层的Load(userID)来加载员工信息。
实体层
数据访问层
功能描述:
对用户详细信息进行管理
模块编号:
1.2
模块功能:
对用户的详细信息的操作和维护,包括:
增加用户基本信息,修改用户的基本信息,查询用户的基本信息
模块名称:
UserProfileDAL
命名空间:
Microlink.HRM.UserProfileDAL
处理:
用户详细信息的增加,修改,查询用户操作
3、插入用户详细信息记录
过程功能:
插入一条用户详细信息记录
过程名称:
Insert
参数说明:
UserProfileuserProfileEntity用户实体
返回值:
bool是否操作成功
处理过程:
把实体的值赋给存储过程AddUserProfile参数,操作存储过程完成
2、修改用户记录
过程功能:
修改一条用户记录
过程名称:
Update
参数说明:
UserProfileuserProfileEntity用户实体
返回值:
bool是否操作成功
处理过程:
从数据库提取的实体,经过修改后的提交到存储过程SetUserProfile进行修改。
3、获取用户
过程功能:
获取一条用户记录
过程名称:
Load
参数说明:
longuserID
返回值:
UserProfile
处理过程:
通过编号作为参数来调用存储过程GetUserProfile来获取单用户信息。
教育信息管理
表示层
业务逻辑层
实体层
数据访问层
再教育信息管理
表示层
业务逻辑层
实体层
数据访问层
工作经验信息管理
表示层
业务逻辑层
实体层
数据访问层
项目经验信息管理
表示层
业务逻辑层
实体层
数据访问层
技能信息管理
表示层
业务逻辑层
实体层
数据访问层
家庭成员信息管理
表示层
业务逻辑层
实体层
数据访问层
3薪资管理(略)
4离职管理(略)
5部门信息管理(略)
6职位变更管理
职位空缺登记
表示层
业务逻辑层
实体层
数据访问层
面试及审核
表示层
业务逻辑层
实体层
数据访问层
面试成绩
表示层
业务逻辑层
实体层
数据访问层
推荐信息
表示层
业务逻辑层
实体层
数据访问层
推荐考核信息
表示层
业务逻辑层
实体层
数据访问层
调职申请信息
表示层
业务逻辑层
实体层
数据访问层
调职交接情况
表示层
业务逻辑层
实体层
数据访问层
7培训管理(略)
8系统管理
部门管理
表示层
界面表示:
界面中的列表通过界面的SqlDataSourseControl来绑定
功能描述:
模块编号:
3.1
模块功能:
新增部门,读取部门列表,修改部门信息,以及删除部门
模块名称:
DepartmentInfor
命名空间:
无
处理:
1、添加部门名称(*),选择部门经理,添加部门描述,提交添加
2、页面初始化时候,加载部门列表:
编号,名称,部门经理
3、点击修改,把那行记录值加载到控件,修改完后提交,部门名称不能为空
3、点击删除,把那行记录删除后,刷新显示
函数和过程
1、页面初始化
过程功能:
对页面进行初始化
过程名称:
Page_Load
参数说明:
ObjectSender事件触发者
EventArgse事件信息
返回值:
void
处理过程:
1、获取QueryString,根据QueryString内容来处理添加还是修改
2、给控件赋值
值赋控件
过程功能:
通过加载实体信息,把实体值赋给控件
过程名称:
ValuesToControls
参数说明:
Department部门实体In
返回值:
void
处理过程:
把实体Department的值:
部门,部门经理编号,部门描述赋给相应的控件
3、控件赋值
过程功能:
把控件的值赋给实体
过程名称:
ControlsToValues
参数说明:
Department部门实体Out
返回值:
void
处理过程:
把控件:
部门,部门经理编号,部门描述的值赋给实体
4、控件事件过程
过程功能:
功能提交,包括增加和修改
过程名称:
btnSubmit_Click
参数说明:
Object事件触发者
EventArgs事件信息
返回值:
void
处理过程:
1、部门ID为0时
初始化实体默认构造函数
控件赋值给实体
提交插入,反馈结果
2、部门ID不为0时
加载部门实体
控件赋值给实体
提交修改,反馈
业务逻辑层
功能描述
模块编号:
3.1
模块功能:
新增部门,读取部门和部门列表,修改部门信息,以及删除部门
模块名称:
DepartmentBiz
命名空间:
Microlink.HRM.DepartmetBiz
处理:
新增部门,读取部门列表和部门详细信息,以及修改、删除部门等
属性
功能:
获取和设置Departmen实体
名称:
Department
方式:
Get&Set
返回值:
Department
处理过程:
无
功能:
获取部门Manager的UserName
名称:
Manager
方式:
get
返回值:
string
处理过程:
通过ManagerID来获取User的UserName。
应用UserBiz来获取
功能:
获取所有部门信息
名称:
Departments
方式:
get
返回值:
Table
处理过程:
操作InitAllDepartment函数
函数和过程
1、加载所有部门
过程功能:
加载所有部门
过程名称:
InitAllDepartment
参数说明:
无
返回值:
无
处理过程:
调用数据层中的LoadAll()过程
2、添加部门
过程功能:
添加一个部门
过程名称:
AddDepartment
参数说明:
无
返回值:
bool是否成功
处理过程:
调用数据层插入记录操作(Insert)来插入实体数据
3、移除部门
过程功能:
通过实体标识来移除部门
过程名称:
RemoveDepartment
参数说明:
无
返回值:
bool是否成功
处理过程:
通过操作数据层(Delete)来删除部门实体
4、修改部门信息
过程功能:
通过加载的实体经过UI修改后,反馈更新到数据库中
过程名称:
ChangeDepartment
参数说明:
无
返回值:
bool是否成功
处理过程:
通过操作数据层中的Update来更新记录
5获取部门实体
过程功能:
通过查询来获取部门的实体信息
过程名称:
GetDepartment
参数说明:
longID部门编号
返回值:
Department部门实体
处理过程:
通过编号操作数据层查询部门实体
6、获取部门列表
过程功能:
通过查询来获取所有部门
过程名称:
GetDepartments
参数说明:
无
返回值:
DataSet包含部门列表的数据集
处理过程:
通过数据层查询所有部门,并以列表返回
实体层
功能描述
模块编号:
3.1
模块功能:
数据实体,用于存储部门数据信息
模块名称:
Department
命名空间:
Microlink.HRM.DepartmetEntity
属性
功能:
获取和设置Departmen实体
名称:
ID
方式:
Get&Set
返回值:
long
处理过程:
无
功能:
获取和设置Departmen实体的编号
名称:
Name
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置Departmen实体的名字
名称:
ManagerID
方式:
Get&Set
返回值:
long
处理过程:
无
功能:
获取和设置Departmen实体的部门经理编号
名称:
DeptDescr
方式:
Get&Set
返回值:
string
处理过程:
无
功能:
获取和设置Department实体的部门描述
数据访问层
功能描述
模块编号:
3.1
模块功能:
插入部门记录,查询部门信息和部门列表,修改部门记录,以及删除部门记录
模块名称:
DepartmentDAL
命名空间:
Microlink.HRM.DepartmetDAL
处理:
新增部门,读取部门列表和部门详细信息,以及修改、删除部门等
1、插入部门记录
过程功能:
添加一条部门记录
过程名称:
Insert
参数说明:
DepartmentdepartmentEntity部门实体
返回值:
bool是否成功
处理过程:
首先连接数据库,其次把值赋给存储过程参数,调用存储过程AddDepartments插入实体数据记录(调用SqlHelper中的公共函数来执行存储过程)
3、删除部门
过程功能:
删除一条部门记录
过程名称:
Delete
参数说明:
DepartmentdepartmentEntity部门实体
返回值:
bool是否成功
处理过程:
通过把部门编号做为ID作为参数传给存储过程DelDepartments,调用存储过程来实现删除部门记录
4、修改部门信息
过程功能:
修改部门记录
过程名称:
Update
参数说明:
DepartmentdepartmentEntity
返回值:
bool是否成功
处理过程:
通过把修改后的实体信息作为存储过程的参数,调用存储过程UpdateDepartments来执行修改操作
5获取部门实体
过程功能:
通过查询来获取部门的实体信息
过程名称:
Load
参数说明:
longdepartmentID部门编号
返回值:
Department部门实体
处理过程:
通过编号操作存储过程GetDepartments来查询部门实体,并把查询的值传递给Department实体返回
6、获取部门列表
过程功能:
通过查询来获取所有部门
过程名称:
LoadAll
参数说明:
无
返回值:
DataSet包含部门列表的数据集
处理过程:
通过存储过程GetAllDept查询所有部门,并以数据集返回
职位管理
表示层
界面表示:
界面中的列表通过界面的SqlDataSourseControl来绑定
功能描述:
模块编号:
3.2
模块功能:
新增职位,读取职位列表,修改职位信息,以及删除职位
模块名称:
命名空间:
无
处理:
1、页面初始化
过程功能:
对页面进行初始化
过程名称:
Page_Load
参数说明:
ObjectSender事件触发者
EventArgse事件信息
返回值:
void
处理过程:
2、给控件赋值
值赋控件
过程功能:
过