企业人事管理系统详细设计说明书文档作者谭聪学号20082212310院(系、部)信息科学与工程学院班级计算机本0803学年学期2010-2011第二学期2011年05月25日一.引言1.1编写目的在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何实现程序具体运行步骤。在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的人事管理系统交到用户手中。1.2背景软件名称:企业人事管理系统任务提出者:企业软件开发者:我们项目开发小组软件使用者:企业所有成员1.3术语和缩略语事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。ROLLBACK:数据库的错误恢复机制。1.4参考资料1.人事管理系统项目计划任务书,XXX公司2.人事管理系统项目开发计划,软件开发小组3.用户操作手册(初稿),软件开发小组4.软件工程及其应用,周苏、王文等,天津科学技术出版社5.软件工程,张海藩,清华大学出版社二.系统结构模块结构由各个成员分别完成身份认证模块及人员信息统计模块见《身份认证及人员信息统计模块》分页人员信息维护模块见《人员信息维护模块》分页人员信息查询模块见《人员信息查询模块》分页工资信息维护模块见《工资信息维护模块》分页工资信息查询模块见《工资信息查询模块》分页三.身份认证模块3.1软件结构模块的界面参见概要设计文档身份认证模块:3.2程序描述1.身份验证模块:Getuser()过程:从登陆界面得到当前用的的用户名及密码,传给内部参数。用户ID,操作员编码与密码共同组成身份认证内容。Classgetuser{CharuserID;Intnumber;Charpass;}对于密码框,要求用户输入密码时候显示为:*Check()过程:对登陆的用户名及密码进行检验,如果通过验证则返回turu,进入系统主菜单,否则返回faulse,调用错误处理程序。Callmenu()过程:用户登录界面确定取消用户ID操作员编码用户口令Getuser()身份信息Check()Callmenu()通过不通过Error()重新登陆被check()过程调用,列出系统主菜单,并调用系统功能模块。系统菜单:Error()过程:错误处理程序,给出错误提示,并引导用户转入系统登陆界面。If(passerror==T)显示:密码错误。If(nosuchuuser==T)显示:没有这个用户。If(notavaliableuser==T)显示:此用户不可以进入本系统错误提示格式为:2.性能身份认证模块要对数据库进行搜索,检查登陆用户是不是合法,因此在算法方面应注重效率。3输入项目认证模块需要输入用户ID,操作员编码与密码,密码要以*显示。4输出项目对于认证模块,如果通过验证将直接进入系统菜单,否则根据错误类型输出错误信息。5程序逻辑已经在软件结构中进行描述。人员信息查询人员信息维护人事管理系统确定取消人员信息统计工资信息查询工资信息维护错误提示!XXXX错误,重新输入!确定四.统计模块4.1软件结构4.2程序描述1统计模块Select()过程:选择统计方式,根据所选择的方式分别调用相应得统计程序。If(fun==1)calculate_1()If(fun==2)calculate_2()If(fun==3)calculate_3()Calculate_1(),Calculate_2(),Calculate_3()统计程序,分别对用不同的统计方式。Print()过程:打印出统计结果或者在屏幕显示出错信息。Select()按部门按年龄按签约年月Calculate_1()(1)Calculate_2()Calculate_3()数据库Print()错误提示!没有数据可以进行统计!确定2.性能统计模块对所有的或者选中类型的数据进行统计,在精度方面必须满足统计要求,精确到小数点后3位。3.输入项目统计模块要求用户选择统计方法,采用单选框的方式输入。4.输出项目统计模块输出统计结果,并列出被统计的条目,所有列出的条目及统计信息均为不可编辑项。5.程序逻辑已经在软件结构中进行描述。五.人员基本信息查询模块5.1总体设计1.需求概述:本模块主要实现人事信息的查询,包括按姓名模糊查询,按职工号查询,按部门查询和按性别查询。2.模块界面:登陆界面:人员基本信息查询姓名职工编码部门请选择性别确定取消重置姓名性别职工号民族签约年月打印5.2软件结构否是5.3程序描述1.功能在查询条件输入正确的前提下,从数据库中查找所有符合条件的数据,并输出;若输入条件出错,则给出出错信息,并进行相应的出错处理。2.性能1)可维护性:本身应该留有可进化的空间,在相当长的一段时间内满足公司对系统功能改善和增加的需求;2)可用性:用于运行程序的硬件设备包括单独存放数据库的服务器和运行应用程序的分机,所以每台分机的运行只依赖服务器的运行,而与其它分机无关,可以保证每台分机的独立运行;3)可靠性:数据库中的数据只能被具有修改权限的管理员修改,在其更新数据库之前任何人不能修改的数据,保证了数据完整性;4)安全性:应用程序的每一次运行都被限制在指定的时间内完成,未完成者,将被强行停止,并恢复到运行前状态,并且每一次运行只能完成一条数据的修改,不会对整个数据库造成毁坏;5)保密性:只有具有一定权限的人才可以查询人事信息,确保信息的保密;6)有效性:公司现有的硬件设备足以满足程序运行对内存、CPU的需求。3.输入项目进行查询所必需的条件,如职工姓名,职工编码,部门等,可以输入多个条件进行查询。4.输出项目有关人事信息的各项组成,如编码、姓名、性别、出生日期、民族、政治面貌、文化程度、毕业学校、毕业时间、所学专业、参加工作年月、入本厂年月、籍贯、家庭住址、电话、身份证、养老保险号码、职务、职称、岗位、合同开始时间、合同结束时间等。5.算法本模块采用简单的匹配,将输入的检索项信息与数据库二维表中各元组相应列的信息进行对比,直到找到查找的内容或者给出出错提示。查询条件输入正确否数据库错误处理输出6.程序逻辑yes六.人员信息维护模块6.1软件结构Waitforsignal()Add()Delete()Modify()Newline()Cancle()()()Cancle()Reset()Reset()Ok()Ok()数据库Mes()GetInf()Select()Check(_)Error()DBPrintf()6.2程序描述l.功能人员信息维护模块。Waitforsignal()过程:等待用户选择操作。Add()过程:增加新的数据,点击以后,数据窗口出现新的空白行,用户输入新的人员信息。Delete()过程:单击选中将要被删除条目以后操作此程,条目从数据库中删除。Modify()过程:单击选中要修改条目,所有字段变成可编辑状态,可以对其进行修改。Reset()过程:在未保存之前清空所有当前可编辑字段。Cancle()过程取消当前操作,调用waitfordifnal()过程返回主界面。Ok()过程:保存当前操作,修改数据库内容。Mes()过程:返回操作结果信息。2.性能本模块要求对人员信息进行维护,按照信息登记要求,人员编号不可以有重复,所以在输入中要检查冲突信息,删除信息时不要发生误操作,所以只有当点击《确定》时候才能完全从数据库中删除。对于数据要求,不能输入与相应字段不符合的内容,例如:不可以在存储类型为数字的字段输入字符。3.输入项目输入新的人员信息或者输入修改以后的人员信息。4.输出项目数据窗口中出现新的数据,并且提示操作完成。5.程序逻辑已经在软件结构中进行描述。确定取消重置姓名性别职工号民族签约年月增加删除修改人员基本信息维护文件(F)编辑(E)视图(V)工具(T)帮助(H)七.工资信息查询模块7.1软件结构否是7.2程序描述l.功能查询条件:从登录界面得到当前的职工号码和姓名,传给内部参数。输入正确否:在查询条件输入正确的前提下,从数据库中查找所有符合条件的数据,并输出;若输入条件出错,则给出出错信息,并进行相应的出错处理。出错处理:错误处理程序,给出出错信息,并引导用户返回登录界面。输出:在显示器上输出查询结果。2.性能本模块是为全体员工查询工资情况而设计的,因此要求较高的及时性和准确性,且所有输出项均为不可编辑项。3.输入项目进行查询所必需的条件,如职工编码。4.输出项目有关工资形成的各项组成,如基本工资,奖金,津贴等。查询条件输入正确否数据库输出错误处理职工号码和姓名工资信息查询姓名职工号码确定取消八.工资信息维护模块8.1目的工资管理是每个单位或每个部门都会涉及到的一个管理内容。工资管理在实际中非常重要,它要实现对职工工资的输入,统计,查询,管理汇总,报表等功能。对公司管理自动化的一部分。8.2总体设计工资管理模块共分为三个子模块:职工工资录入模块、职工工资查询模块和工资汇总报表模块;通过三个模块的功能,完成公司对职工工资的录入、统计、查询、管理、汇总、报表等功能,实现公司对职工工资管理的现代化管理8.3数据结构设计1.数据库逻辑结构NO项目名称KEY类型Byte备注1职工编码○V242姓名V283部门编号V224月份D85职浮N6两位小数6岗位工资N6两位小数7劳效工资N6两位小数8副食补贴N5两位小数9洗理费N5两位小数10自行车N5两位小数11托保费N5两位小数12工种保健N5两位小数13加班费N5两位小数14夜班费N5两位小数15奖金N5两位小数16价格补贴N5两位小数17肉食补贴N5两位小数18其他N5两位小数19风险金N5两位小数20合计N7两位小数21房租N5两位小数22病假工N523事假工N524统筹金N525扣款N5两位小数26实发工资N7两位小数27签字V2828录入时间D8YYYYMMDD,SYSDATE29录入人V28进入系统的登录人员30修改时间D8YYYYMMDD,SYSDATE31修改人V28说明∶V2:VARCHAR2(英数字);N:数值(整数与小数);D:日期型数据2.物理结构设计:主机数据库采用链式存储,每条记录的长度为174Byte。8.4程序描述1.程序功能1)在编职工工资录入、更新数据库;2)职工工资查询;3)工资汇总(按部门汇总,按全公司汇总);工资汇总报表。2.程序性能1)可维护性:工资管理程序本身留有大量的可进化的空间,可以在相当长的一段时间内满足公司对程序功能改善和增加的需求;2)可用性:用于运行程序的硬件设备包括单独存放数据库的服务器和运行应用程序的分机,所以每台分机的运行只依赖服务器的运行,而与其它分机无关,可以保证每台分机的独立运行;3)可靠性:存储于数据库的数据可以被第一个具有修改权限的管理员修改,在其更新数据库之前任何人不能修改在其权限内的数据,保证了数据的可靠性;4)安全性:应用程序的每一次运行都被限制在指定的时间内完成,未完成者,将被强行停止,并恢复到运行前状态,并且每一次运行只能完成一条数据的修改,不会对整个数据库造成毁坏;5)保密性:不同的口令登陆给予不同的访问权限,并且工资库内容只能在总经理、人事部门和财务部门的指定的机器上打开,保证了工资数据的