人力资源管理系统详细设计说明书
人力资源管理系统详细设计说明书
1引言
本人力资源管理系统是为了提供更快捷更高效的管理方法给企业公司,使信息传递高速化,管理效率化。
1.1编写目的
编写该文档是为了分析企业人力资源管理系统的流程,把人工模式抽象为可在计算机上处理的自动模式,对企业人力资源的科学管理进行分析与总结,便于开发小组成员对系统整体功能的认识,通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为使用者提供参考。
1.2背景
项目名称:企业人力资源管理系统开发项目 产品名称:企业人力资源管理系统
委托单位:桂林理工大学信息科学与工程学院ERP 实习课程
项目开发者:桂林理工大学信息科学与工程学院计本08-1班 黄永儒 黄敏 詹萍 项目主管部门:桂林理工大学信息科学与工程学院ERP 实习小组 用户:企业人力资源管理部门
1.3定义
技术术语:
需求说明书:软件开发需求分析阶段的工作成果,是详细记录软件需求信息的文档,
是开发者与用户交流和系统进一步开发的依据。
系统结构图:对所开发系统的体系结构进行描述的图形工具。 系统用例图:系统功能描述,使用户能够直观地看到软件实现的功能。 系统状态图:描绘出系统各个状态的顺序图,便于用户和开发者认识系统流程。 实体联系图:将对象的关系图形化,从图中可直接看出实体间的联系及实体的属性。 类图:它描述了类与类之间的静态关系,是从静态角度表示系统的一种静态模型。 协作图:描述了相互协作的对象间的交互关系和链接关系。
顺序图:描述对象之间的动态交互关系,着重表现对象见消息传递的时间顺序。
活动图:描述动作及动作之间的关系,即对象状态的改变。 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS )。 SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。
1.4参考资料
Visual C++.NET数据库开发技术与实践 刘生平 著 清华大学出版社 Visual C++6.0MFC时尚编程百例 网冠科技 编著 机械工业出版社 Visual C++6.0应用编程150例 尹立民 王兴东 等编著 电子工业出版社
2程序系统的结构
3程序设计说明
1、系统操作模块
系统操作模块具有系统登录、系统设置、用户注册三个功能,其中包括菜单项用户注册,密码修改,重新登录,退出登录,退出系统。登录用户可操作全部菜单项,未登录用户只能操作重新登录,退出登录,退出系统。 2、人事档案模块
人事档案模块分为应聘登记、调动记录、员工档案三个功能,其中包括菜单项档案录入,档案检索,合同列表,调动记录,应聘登记,应聘档案,应聘考核,应聘考核记录。登录用户可以操作全部菜单项,非登录用户只能浏览、检索档案检索,合同列表,调动记录,应聘档案,应聘考核记录。 3、人事管理模块
人事管理模块分为薪资管理、用人申请、业务考核、添加部门四个功能,其中包括添加部门,职务列表,用人申请,申请列表,业务考核,业绩列表,工资登记,工资管理。登录用户可以操作全部菜单项,非登录用户只能浏览、检索职务列表,申请列表,业绩列表,工资管理。 4、日常管理模块
日常管理模块分为考勤录入、工资核算两个功能,其中包括考勤录入,考勤列表,请假条,请假列表,编辑工资单,工资列表。登录用户可以操作全部菜单项,非登录用户只能浏览、检索考勤列表,请假列表,工资列表。
3.1程序描述
本系统为人力资源管理系统,主要由登录用户操作,分为未登录用户和登录用户两个级别。其中,数据库管理员为最高级别,他可以分配和设置用户的权限。系统在登录时要判别用户的类别,以确定其可进行的操作。本系统属于非常驻内存系统,不可重入,顺序处理。
3.2功能
系统操作模块:实现用户的合法注册,只有在数据库中存在的用户方可注册,用户在该模块可修改自己的密码,清除自己登录过的痕迹,重新登录另一个账号,退出系统。 登入数据流图
用户管理
人事档案模块:实现导入档案表,档案检索,浏览合同列表,调动记录,添加、删除、修改应聘者信息和员工信息。
员工管理
招聘管理
人事管理模块:实现对公司部门的职员工基本信息的输入、修改、删除、查询。
工资管理
绩效考核
日常管理模块:实现对职务工资标准、职称工资标准、其他工资标准的设定、修改、删除、保存功能。而工资标准的依据恰好与职员工的基本信息相一致,形成对应关系。
考勤管理
3.3性能
人力资源管理信息系统对企业加强工资管理有着重要的作用,它的设计内容应该是功能齐全,操作简便,比如拥有员工档案管理,业绩考核管理,招聘管理,工资管理等。
该系统还具有以下几个特性:
1、 时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。 2、 可靠性。能连续准确的处理业务,有较强的容错功能。 3、 可理解性。用户容易理解和使用该系统。
4、 可维护性和适用性。系统应易于修改、易于扩充、易于维护,能够适应业务的不断发展
需要。
5、 可用性。目标系统功能齐全,能够完成满足业务需求。
6、 安全保密性。标准系统的物理安全,数据存储和存取的安全与保密、数据传输的安全与
保密,做好使用人员的授权管理。
3.4输入项
3.5输出项
动态数据的描述:
输入数据:菜单选项,查找关键字,新建记录项。 输出数据:由查询关键字确定的数据库记录集合。 内部生成的数据:中间查询结果。
3.6算法
登录到该人力资源管理系统需要验证登录用户和非登录用户的身份, 因为在数据库已经确定了是否为合法用户,所以不需要用户选择登录身份。 实现该功能的代码是: void CLandingDlg::OnOK()
BOOL CLandingDlg::CheckLoading(CString &name, CString &code)//登录功能安全检查 CString CLandingDlg::GetUserName()
BOOL CLandingDlg::OnInitDialog() //初始化登陆对话框 void CLandingDlg::OnPaint()
BOOL CLandingDlg::DrawTitleBar(CWindowDC &dc)
BOOL CLandingDlg::DrawSystemButton(CWindowDC &dc, CBitmap &bitmap) 员工信息的输入实现代码是: BOOL CFileRecord::OnInitDialog()
void CFileRecord::OnLoadPicture() void CFileRecord::OnFileRecordSave() void CFileRecord::OnFileRecordReset() BOOL CFileRecord::SaveFile()
BOOL CFileRecord::ShowRecord(int index)//根据所要显示的员工的序号显示员工信息 void CFileRecord::SetShowItem(int index) void CFileRecord::SetModifyDlg(BOOL is) void CFileRecord::OnPaint()
void CFileRecord::OnCancelMode() void CFileRecord::OnCompactEdit() void CFileRecord::OnSelchangeCombo4()
BOOL CFileRecord::ShowDutyComboBox(CString dept, //当前选择的部门名
CComboBox* pDept)//“职务”组合框指针
DWORD CFileRecord::GetDeptNumber(CString str) DWORD CFileRecord::GetDutyNumber(CString str) BOOL CFileRecord::InitModiView()
CString CFileRecord::GetDeptName(DWORD num) CString CFileRecord::GetDutyName(DWORD num) BOOL CFileRecord::ModifyRecord(int index)
BOOL CFileRecord::InitDeptComboBox(CComboBox* pDept)//参数是指向组合框的指针 void CFileRecord::OnSeelist()
void CFileRecord::SetAppler(BOOL is)
void CFileRecord::SetApplerId(CString &id)
BOOL CFileRecord::SetApplerInfo(CString &id)//参数为应聘者编号
工资管理工资修改代码实现如下:
BOOL CLaborageRecordDlg::OnInitDialog()
BOOL CLaborageRecordDlg::ShowLaborageRecord()
BOOL CLaborageRecordDlg::SetRow(int row, CString *strArray, int count)//设置列表控件一行的内容
BOOL CLaborageRecordDlg::DeleteAllRows()//清空数据表的显示
LRESULT CLaborageRecordDlg::OnListEditDBClick(WPARAM wParam, LPARAM lParam) LRESULT CLaborageRecordDlg::OnListEditKillFocus(WPARAM wParam, LPARAM lParam) BOOL CLaborageRecordDlg::SaveModify(int iItem, int iSubItem) void CLaborageRecordDlg::OnFindEmployee()
BOOL CLaborageRecordDlg::ShowLaborageRecord(CString &seaExpr)
void CLaborageRecordDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) void CLaborageRecordDlg::OnSearchRecord() void CLaborageRecordDlg::OnQuit() void CLaborageRecordDlg::OnAbout()
void CLaborageRecordDlg::OnDeleteitem() void CLaborageRecordDlg::OnEdit()
void CLaborageRecordDlg::OnExportToWord()
void CLaborageRecordDlg::ExportToWord(CString &file)
业绩考核实现代码:
BOOL CAssessList::OnInitDialog()
BOOL CAssessList::SetRow(int row, CString *strArray, int count) BOOL CAssessList::DeleteAllRows() BOOL CAssessList::ShowAssessList() void CAssessList::OnExporttoword()
BOOL CAssessList::ExportToWord(CString &file)
void CAssessList::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) void CAssessList::OnDeleteitem() void CAssessList::OnAbout() void CAssessList::OnQuit()
void CAssessList::OnSearchRecord()
BOOL CAssessList::PreTranslateMessage(MSG* pMsg) void CAssessList::OnFindEmployee()
BOOL CAssessList::ShowAssessList(CString &seaExpr)
LRESULT CAssessList::OnListEditKillFocus(WPARAM wParam, LPARAM lParam) LRESULT CAssessList::OnListEditDBClick(WPARAM wParam, LPARAM lParam) BOOL CAssessList::SaveModify(int iItem, int subItem) void CAssessList::OnEdit()
考勤管理代码实现:
BOOL CTimeCardList::OnInitDialog()
BOOL CTimeCardList::ShowTimeCardList(CString name, int year, int month) void CTimeCardList::OnSelchangeCombo1() void CTimeCardList::OnSelchangeCombo2() void CTimeCardList::OnSelchangeCombo3() void CTimeCardList::UpdateTimeCardList()
BOOL CTimeCardList::InitYearComboBox(CString name)
BOOL CTimeCardList::InitMonthComboBox(CString name, int year) void CTimeCardList::OnExport()
BOOL CTimeCardList::ExportToWord(CString &file)
BOOL CTimeCardList::ExportToWord(CString &file, CString &sql) DWORD CTimeCardList::GetRecordCount(_RecordsetPtr pRecordset) void CTimeCardList::OnDeleteitem()
void CTimeCardList::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) void CTimeCardList::OnQuit()
void CTimeCardList::OnSearchRecord()
BOOL CTimeCardList::CollectTimeCard(CString &name, int year, int month) DWORD CTimeCardList::GetAbsenceDuty(CString &name, int year, int month)
double CTimeCardList::GetCollectWorkTime(CString &name, int year, int month) DWORD CTimeCardList::GetLateCount(CString &name, int year, int month)
DWORD CTimeCardList::GetLeaveEarlyCount(CString &name, int year, int month) 招聘管理模块实现代码:
BOOL CApplerList::OnInitDialog() BOOL CApplerList::ShowApplerList()
BOOL CApplerList::SetRow(int row, CString *strArray, int count)
BOOL CApplerList::DeleteAllRows() void CApplerList::OnExporttoword()
BOOL CApplerList::ExportToWord(CString &file)
void CApplerList::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) void CApplerList::OnDeleteitem()
BOOL CApplerList::PreTranslateMessage(MSG* pMsg) void CApplerList::OnFindEmployee()
BOOL CApplerList::ShowApplerList(CString &condition) void CApplerList::OnQuit() void CApplerList::OnAbout()
void CApplerList::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) void CApplerList::OnEdit()
void CApplerList::OnSearchRecord() void CApplerList::OnAddnew()
void CApplerList::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) BOOL CApplyEmployeeDlg::OnInitDialog()
void CApplyEmployeeDlg::OnSelchangeCombo5()
BOOL CApplyEmployeeDlg::CheckPrincipal(const CString &id) void CApplyEmployeeDlg::OnOK()
BOOL CApplyEmployeeDlg::RequestEmployee()
void CApplyEmployeeDlg::SetApplicationSerial(CString &applicationSerial) BOOL CApplyEmployeeDlg::SetDlgContent(CString &applicationSerial) BOOL CApplyEmployeeDlg::SetModifyMode() BOOL CApplyEmployeeDlg::SaveModify()
3.7流程逻辑
3.8接口
1. 硬件接口
软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与打印机、磁带机和光盘刻录机的接口,这点较易实现。通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的。
2. 软件接口
程序内部需要共同的数据定义和描述,在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要,可以把其与较常用的办公软件进行接口,使整个系统做到高效、方便。例如Microsoft 的office 系列。
3.9限制条件
该软件是使用SQL server 2005数据库在Windows XP以上的操作系统下完成的。所以只要是兼容Windows 的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。而且应用户的特殊需求软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
系统保证了较好的可使用性与数据的安全保密性,但由于系统保留一定程度的可移植性,可维护性。
数据的完整性、准确性及安全性:
1. 安全性:系统拥有用户、密码模块,管理员可赋予不同用户不同的权限。每位用户根据自己的身份不同,进入不同的用户界面。管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。这样也保证了系统的安全性。
2. 准确性:可根据各种条件进行查询,并具有对相应的数据项检测的功能。工资管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
3. 完整性:根据人力资源管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
3.10测试计划
本系统有四个模块,分别是系统操作、人事档案、人事管理和日常管理,其中需要实现的功能具体又分为系统登录,系统设置,用户注册,应聘登记,调动记录,员工档案,薪资管理,用人申请,业务考核,添加部门,考勤录入,工资核算。
根据界面上主菜单的每一项的内容,检查是否各自响应正确的窗口,是否连接上相应的
数据库的表,是否对应的功能都已经实现。
若是出现不对应的现象,及时修改错误。 具体的测试在软件测试分析报告中会有详细说明。