• 1.97 MB
  • 2022-04-22 11:45:37 发布

人事管理系统 软件工程 课程设计 可行性研究报告

  • 69页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'可行性研究报告1.引言1.1编写目的21世纪是知识经济的时代,是人才竞争的时代,随着21世纪的到来,人类已步入信息社会,信息产业正成为全球经济的主导产业。信息自动化的作用也越来越大,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。人事管理系统在当今社会中是一个不可或缺的、必备的工具软件。然而,一个好的高质量的软件还是少之又少的。并未根本的实现智能化。亦不利于实现科学的管理、体现领导者的决策作用。因此,在本软件设计中心准备开发一个功能完善的人事管理系统。人事管理系统是一个公司不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1.2背景A.开发的软件系统的名称:**人事管理系统B.本项目的任务提出者:**有限责任公司开发者:用户:**有限责任公司实现该软件的计算中心:个人计算机,SqlServer,WindowXP,Win7操作系统;C.该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与操作系统、SQLServer数据库管理系统1.3定义 人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。Personnel_Management  人事管理系统1.4参考资料《软件工程》(第二版)邓良松编著西安电子科技大学出版社《软件工程导论》张海藩编著,清华大学出版社,2006年10月版,北京《软件工程基础》汤淮西安交通大学出版社《软件开发技术》倪秉营电子科技大学出版社《软件工程》张权范清华大学出版社69 2.可行性研究的前提2.1要求A.功能:人事管理系统的主要功能就是对员工的各项信息进行管理,包括对员工信息、人事异动信息、工资信息、奖惩信息、考勤信息的维护、浏览和查询,还包括对企业中的部门、职位信息的管理。B.性能:要求系统能快速响应用户的各种信息请求,效率高,速度快,能够及时满足用户的需求;充分考虑人性化管理,提高办公效率。不需要用户长时间等待,节省用户的时间。C.数据的输入员工信息、部门信息、职位信息、人事异动信息、工资信息、奖惩信息、考勤信息的输入。D.数据的输出根据用户要求返回的结果,如:对员工信息、部门信息、职位信息、人事异动信息、工资信息、奖惩信息、考勤信息的查询结果可以导出到文件里,对浏览的要求返回符合用户要求的内容。E.处理流程和数据流程用图表的方式表示出最基本的数据流程和处理流程,并辅之以叙述:身份验证信息查询数据汇总信息维护信息修改信息添加信息删除结果显示操作结果数据库被删除项新数据更新内容查询条件69 1.员工基本信息管理4.奖罚信息管理7.查询6.部门信息管理3考勤信息管理5.员工异动管理2.员工工资管理员工信息时钟信息员工信息员工信息工资信息工资发放信息奖罚信息考勤信息考勤信息部门/职位信息职位信息部门信息员工/考勤/奖罚/异动/工资发放信息查询请求/员工/考勤/奖罚/异动/工资发放系信息异动信息异动信息奖罚信息员工信息工资发放信息奖罚信息奖罚信息奖罚工资信息员工信息发放工资奖罚信息年F.在安全与保密方面的要求不同的用户会有不同的权限,每个用户都拥有自己的密码,普通用户只能修改、查看自己的信息,管理员拥有查询和修改所有普通用户的信息的权限。G.同本系统相连接的其他系统操作系统、SQLServer数据库管理系统。H.完成期限:2011年11月69 2.2目标致力于开发一个功能健全、强大的人事管理系统,以期达到如下目标:A.方便基本信息的录入,实现录入的数据的高校验性;B.处理速度的提高;C.使系统更人性化以方便用户使用;D.人力与设备费用的减少;E.高安全性、保密性;使系统具有简单性、针对性、实用性的特点。2.3条件、假定和限制A.所建议系统的运行寿命的最小值系统运行寿命的最小值是6年B.经费、投资方面的来源和限制经费由公司支出,由于本系统软件对硬件资源要求不高,不存在限制问题。C.法律和政策方面的限制该系统的开发会完全按照有关的法律法规进行,决不逾越。D.可利用的信息和资源目前的Internet网络资源,以及目前存在的类似系统E.系统投入使用的最晚时间:2012年03月2.4进行可行性研究的方法本次可行性分析是按照前面给出的步骤进行的,即按照复查项目和规模,研究目前正在使用的系统,导出新系统的高层逻辑模型,重新定义问题这一循环反复过程进行的。2.5评价尺度69 我们在对该系统进行评价时主要是与当前的人工进行的人事管理的比较,在评价时,我们不仅考虑了当前已有系统的不足以及优点,同时我们也要参考我们当前已经掌握的项目开发知识,从而评判该系统是否能够成功开发以及其能带来的经济效益和社会效益。3.对现有系统的分析3.1工作负荷现有系统是手工操作的,不论是查询信息还是修改删除信息,都需要通过查看文件来进行操作,不仅速度慢,效率低,而且文件也不易长期保存,操作时需要花费大量的人力物力资源,已经与现在经济高效的时代不相符了。3.2费用开支序号岗位名称人数工资1员工信息管理员52000/月/人2执勤员31500/月/人3资料管理员52000/月/人4出纳员63000/月/人5会计54000/月/人合计每年共123.6万元。3.3人员由于现有系统是人工的,对管理人员的要求并不高,只要有一定的管理才能和文化基础即可,但是由于工作量较大,需要的人员比较多。3.4设备由于现有系统是人工的,所以对设备无定性要求。3.5局限性由于现有系统是人工的,处理速度慢,运行效率低。4.所建议的系统4.1对所建议系统的说明利用计算机处理数据的快速有效的优点,将本系统安装在计算机上,提供人性化的界面供用户进行操作,用户就可以对各种信息进行操作,包括对员工信息、部门信息、职位信息、人事异动信息、工资信息、奖惩信息、考勤信息的维护、浏览和查询。69 这样不仅可以减少人员的工作量,提高操作效率,也可以避免有人工输入的某些信息的错误,操作起来简便,快捷,数据的准确性高,使人事管理效率大大提高。4.2处理流程和数据流程顶层数据流图:4.3改进之处A.提供图形用户界面供用户录入信息,并对某些信息验证正确性,实现录入的数据的高校验性。B.由于不再是纯手工的进行各种操作,而是由系统进行各种处理,大大提高了数据的处理速度。C.由于使用系统可以大大提高处理速度和效率,可以减少人力和其他设备的使用,从而减少人力和设备的费用支出。D.为了提高系统的安全性和保密性,需要设置登录该系统的用户名和密码,供登录时身份认证,并且设置访问权限来限制不同用户的操作权利。4.4影响4.4.1对设备的影响可能需要用户用一些比较适应系统的硬件设备,比如安装某些软件,可能占用一部分存储空间,所以要求用户机器存储空间要足够。69 4.4.2对软件的影响该系统需要在Windows2000及其以上的版本上运行。4.4.3对用户单位机构的影响由于本系统完全考虑了各个文化水平的用户的使用,因此在用户使用该系统之前无须进行太多培训,用户可以参考用户手册便可灵活运行该系统.4.4.4对系统运行过程的影响A.用户的操作规程:本系统的操作规程通俗易懂B.运行中心的操作规程:运行中心的操作规程也很简单C.源数据的处理:源数据用于创建数据库,具有保密性D.数据进入系统的过程:通过检索数据库的方式E.对数据保存的要求,对数据存储、恢复的处理:保存在数据库里F.系统失效的后果及恢复的处理办法:采用数据恢复技术4.4.5对开发的影响A.开发过程中需要用户大力支持。一个新系统的开发,必然会减少用户们的工作量;B.由于人事管理系统会使用到员工信息等数据库,如果稍有不慎,会造成系统无法使用的问题。4.4.6对地点和设施的影响对原有地点设施无影响。4.4.7对经费开支的影响除了需要支付开发单位的有关费用外,每年还需要一定的运行维护费用(见经济可行性分析)。4.5技术条件方面的可行性 本系统是采用C语言开发的,提供了强大的视图编程集成环境,所以在一些基本的界面设计上使开发变得很容易。另外通过SqlServer这种高效的关系数据库,还有Windows系列的操作系统紧密集成,这种安排使SqlServer能充分利用系统提供的特性。对于即将开发的该系统来说,SqlServer69 是一个很好的选择。而开发人员都具有一定的编程基础和系统开发经验,并且已经熟练掌握该开发语言,完全有能力开发出该系统。所以在技术上,开发本系统是可行的。5.可选择的其他系统方案无6.投资及效益分析6.1支出6.1.1基本建设投资  本系统的基本建设投资有如下几项:1)采购必要设备的投资:网络平台的建设,这一块需要5万左右;服务器与存储系统,这一块需要10万左右。2)开发系统的投资:按目前市场上人事管理系统的开发价格来看,开发所需的投大概在30万不等;3)安装费用:2万;总计:47万左右;6.1.2其他一次性支出A、本系统开发期为3个月,需开发人员7人。根据软件系统的规模估算,每人每月的人工费按5000元计算,开发费用为10.5万元。B、硬件设备费共10万元,其中:服务器及网络等设备费10万元。C、外购开发工具、软件环境费用共3万元。D、其他费费用共1万元。一次性支出总费用:25.5万元。6.1.3非一次性支出运行维护费用:1)硬件维护运行,包括设备耗电量和检修维护,这块费用在每年10万左右;2)软件运行维护:按开发费用的5%计算,1万/年左右;3)人员成本与办公经费,28.2万/年左右;总计:39.2万/年左右;6.2收益6.2.1一次性收益69 提高了对用户的各种请求操作的反应速度,能够高效的录入数据并降低了出错机率,从而节省了用户大量的时间,使管理人员的工作量大大减少,企业就可以精简人员,使原材料和劳动力资源得到更合理的利用。该系统也不需要其他特殊的外部设备,更方便了各类信息的存储,减少了企业为存档而支出的费用。从而降低了很多成本。6.2.2非一次性收益序号岗位名称原人数现人数工资1员工信息管理员522000/月/人2执勤员311500/月/人3资料管理员522000/月/人4出纳员623000/月/人5会计524000/月/人原先每年需支出员工工资123.6万元,现每年需支出员工工资28.2万元,每年共节省工资支出95.4万。6.2.3不可定量的收益由于该系统节省了用户大量的时间,使员工可以充分利用这些时间为公司工作,创造出更好的经济效益。6.3收益/投资比在6年期内,系统总成本307.7元,系统总收益572.4万元。A、投资回收期:1.28年B、纯收益:572.4-307.7=264.7万元从经济上考虑,开发本系统完全可行的。6.4投资回收周期   根据投资回收周期的计算方法,收益的累计数开始超过支出累计数的时间为1年。6.5敏感性分析系统生存周期长短、系统工作负荷量不是很大、处理速度要求快、设备和软件配置变化对支出和效益的影响小69 7.社会因素方面的可行性7.1法律方面的可行性该人事管理系统的研制和开发都选用正版软件,将不会侵犯他人,集体和国家的利益,不会违法相关的法律和政策。7.2使用方面的可行性  本系统的研制和开发充分考虑用户工作流程,计算机操作水平等,尽可能提供更人性化,更直观的界面,满足用户的需求,并且提供了用户操作手册供用户遇到不懂得问题时进行查询,使用户使用起来得心应手。8.结论经上述的可行性分析,本系统可以立即着手进行开发。69 需求分析报告1 引言1.1编写目的²本文编写目的在于使用户和软件开发者双方对该软件的初始规定有一个共同的理解,规定和控制项目开发的内容,保证本项目的需求分析活动在受控状态下进行,在进行软件开发前,明确本系统应达到的目标,对系统目标做出完整、准确、清晰、具体的要求。保证本需求分析的结果能够完整、无遗漏地反映本系统的要求。1.2产品范围l产品说明:人事管理系统是非常通用的管理信息系统,是企业单位实现办公自动化的前提和基础。l目标:帮助企业以自动化的方式来取代现有的人工管理以便于该厂领导掌握人员的动向,及时高速人才的分配。从而减少企业在这方面所花费的人力、物力和财力。l适用范围:可应用于大部分企业之中。1.3定义○人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。○SQL SERVER:数据库1.4参考资料《软件工程》(第二版)邓良松编著西安电子科技大学出版社《软件工程导论》(第四版)张海藩编著,清华大学出版社,2006年10月版,北京《软件工程基础》汤淮西安交通大学出版社《软件开发技术》倪秉营电子科技大学出版社《软件工程》张权范清华大学出版社2 综合描述2.1背景.A.开发的软件系统的名称:**人事管理系统B.本项目的任务提出者:**有限责任公司开发者:用户:**有限责任公司实现该软件的计算中心:个人计算机,SqlServer,WindowXP,Win7操作系统;C.该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与2.2用户的特点69 l普通用户:会最基本的电脑操作,可以查看自己的资料和关于自己请假、加班、考勤、薪资等各种有关信息,也可以修改自己的基本信息。l管理员:拥有一定的电脑技术,可对数据库进行操作,会使用一些相关的软件,如word,Excel等,拥有所有的管理权限,可以查看和更改所有普通员工的基本信息,也可以授权给其他人员,添加和删除操作员。2.3假定和约束l本系统所需人力资源为五人,最小运行时间建议运行五年,由于这是个人所做的项目,所以没有经费投资来源,并且本系统没有打算进行商业运营,因此不会牵涉到法律问题。可利用的信息和资源有网上的一部分和从其他系统上得到的比较好的资料。系统的最迟投入时间是本学期结束。3功能需求3.1系统总体需求描述l普通员工登录系统可以查询维护自己的信息,包括浏览自己的信息,维护个人信息,以及修改密码和浏览个人的考勤信息,奖惩信息和调动信息,但不允许查看和修改其他的信息。l管理员登录系统可以查询和维护所有员工除了其他管理员的信息,包括浏览所有员工个人信息,维护所有员工详细档案,修改员工密码,以及浏览和维护员工考勤信息,奖惩信息和调动信息。还可以对系统进行维护,比如说维护部门信息和职位信息。3.2系统分块需求描述:3.2.1员工基本信息管理u添加职工信息:管理员可以添加职工的基本信息,包括员工号、姓名、身份证号、性别、籍贯、年龄、生日、住址、E-mail、学历、专业、毕业时间、毕业院校、联系方式、进入本单位时间等。u修改职工信息:选择一个职工,可以修改这个职工的基本信息。u查询职工信息:可以根据职工的编号、姓名或者进入单位时间进行查询职工基本信息。并且可以针对查询结果进行修改和删除操作。u删除职工信息:先找到某个员工的信息,然后为他办理离职手续。(员工办理离职手续是同时删除与该员工有关的基本工资记录和职位记录以及该员工的密码权限信息)3.2.2职工考勤信息管理u添加考勤信息:考勤信息主要分为:迟到,早退,矿工,请假,加班。考勤信息通常都是对应于一个特定的员工而言的。u查询考勤信息:根据职工编号或者时间进行查询,得到所有的考勤信息,包括考勤信息里的所有信息,但是不能够对信息进行任何操作。3.2.3职工调动信息管理u添加调动信息:添加事业职工的原有部门、原有职务、原有工资、新部门、新职务、新工资等信息。69 u查询调动信息:查询某个职工的调动信息或者某段时间内事业内部的调动情况。3.2.4部门信息管理u添加部门信息:添加一个新的部门,记录部门的代号、名称等u修改部门信息:修改相应的部门信息u删除部门信息:对待一些不需要的部门,可对部门进行删除3.2.5职位信息管理:u添加职位信息:可增添某个职位,包括职位名称、所属部门等u修改职位信息:修改相应的职位信息u删除职位信息:允许管理员删除某个职位的信息3.2.6查询信息管理u该模块可分为:员工信息查询,部门信息查询,考勤信息查询,奖惩信息查询,人事异动查询,工资发放查询。具体的操作功能在各个模块都已写明,在此不再赘述。3.2.7薪资福利管理u该模块分为薪资管理和奖惩信息:u员工薪资信息:员工的一些初始工资u奖惩信息:可根据考勤记录和业绩要求对员工的奖励,处罚。在本系统中对于考勤记录对奖惩信息的影响由管理员输入。奖惩信息主要分为大功,小功,小过,大过。3.3数据流图3.3.1人事管理系统的顶层数据流图:图①人事管理系统顶层数据流图3.3.2人事管理系统第0层数据流图:69 1.员工基本信息管理4.奖罚信息管理7.查询6.部门信息管理3考勤信息管理5.员工异动管理2.员工工资管理员工信息时钟信息员工信息员工信息工资信息工资发放信息奖罚信息考勤信息考勤信息部门/职位信息职位信息部门信息员工/考勤/奖罚/异动/工资发放信息查询请求/员工/考勤/奖罚/异动/工资发放系信息异动信息异动信息奖罚信息员工信息工资发放信息奖罚信息奖罚信息奖罚工资信息员工信息发放工资奖罚信息年图②人事管理系统第0层数据流图3.3.3人事管理系统第1层数据流图:员工基本信息管理:69 图③人事管理系统1层数据流图员工工资管理:图④人事管理系统1层数据流图部门信息管理:图⑤人事管理系统1层数据流图3.4数据字典设计1)数据流名称:员工信息情况位置:员工—>P1定义:员工情况=员工号+姓名+性别+出生日期+籍贯+学历+专业+联系方式+照片+部门号。数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的新员工进行唯一编号。2)数据流名称:奖惩情况位置:P3—>员工定义:奖惩情况=员工号+姓名+奖惩类别+附加工资+奖惩日期数据流量:根据公司的具体情况来确定。说明:要对每一次的奖惩记录进行唯一编号。3)数据流名称:调动情况位置:P5—>员工69 定义:调动情况=员工号+姓名+原部门号+原职位名称+原工资+新部门号+新职位名称+新工资+调动时间。数据流量:根据公司的具体情况来确定。说明:员工号和调动日期可以唯一确定一个调动情况。4)数据流名称:实际工资查询位置:P4—>员工定义:实际工资查询情况=员工号+姓名+实发工资+发放日期。数据流量:根据公司的具体情况来确定。说明:员工号和发薪日期可以唯一确定一个工资记录。5)数据流名称:部门情况位置:上级—>部门情况定义:部门情况=部门号+名称+备注。数据流量:根据公司的具体情况来确定。说明:部门号是主码。4非功能需求4.1精度需求l该系统的数据精度除了薪资管理模块的有精度要求外,在其他的方面没有很高的要求。在工资方面的精度要求精确到分。4.2性能需求l响应时间:本系统要求有很好的响应需求,能够及时响应用户的操作,一般为1-2秒钟l更新处理时间:更新处理时间相对比较快,一般为1-2秒l数据处理和传送时间:对操作的中间处理一定要快,一般为1-2秒4.3灵活性需求l操作方式上的变化:要求能够适应这种情况,即要求操作最通俗易懂l运行环境的变化:要求系统能适应不同的运行环境,即能够在不同环境下运行l同其他软件接口的变化:要求系统适应这种变化l精度和有效时限的变化:不做太大要求l计划的变化和改变:要求系统具有适应计划变化后的功能扩展功能4.4输人输出需求l系统使用SQLSever存储各类日常数据,在建立数据库时都会为每个变量定义所用数据类型,在进行数据输入输出时应严格按照所限制的数据类型,否则将会产生错误提示,不能进行正常的操作。l对于输出的就是由文档化得要求,可以支持Excel,word文档格式4.5数据管理能力需求l系统使用SQLSever存储日常数据,数据量依据用户数量增长特别是用户提交程序数量的增长而增加。4.6故障处理需求l从操作系统环境的角度,系统分为两个部分:数据库数据部分和外部文件部分。数据库部分由数据库驱动连入系统,要求数据库服务器能够正常运行,而外部文件部分则必须匹配正确的存储路径。69 4.7其他需求l对安全保密的需求,以防止各种非法的访问、使用、修改、破坏或者泄密。l软件产品具备可扩充性和很好的可维护性,易读性,可靠性,可转换型,运行环境的要求在以下的运行环境规定里边具体阐述。5 外部接口需求5.1软件接口l软件:Office2003或者Office2007,需要支持Excel和Word的导出文档69 概要设计说明书1 引言1.1编写目的在本人事管理系统项目的前一阶段,已经将用户对本系统的需求做了详细的阐述。本阶段在需求分析的基础上,对人事管理系统做比较概括的设计,明确将要开发的系统应该具有的功能,确定如何把该系统划分成若干个模块、各个模块之间的接口以及模块之间传递的信息,并完成数据库的设计。在该概要设计说明中将对在本阶段中对系统所做的所有概要设计进行详细的说明。本报告的预期读者是用户、同学以及相关项目组的所有成员和将来有可能使用本系统的相关人员。1.2背景  说明:a.待开发软件系统的名称;**人事管理系统b.列出此项目的任务提出者、开发者、用户项目任务提出者:**有限责任公司项目开发者:用户:**有限责任公司1.3定义人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。1.4参考资料 [1]《软件工程》(第二版)邓良松、刘海岩、陆丽娜西安电子科技大学出版社[2]《软件工程导论》张海藩清华大学出版社2 总体设计2.1需求规定本系统面向用户的输入接口有:登陆界面、修改信息界面、查询操作的条件输入域、针对管理员的添加操作等。对于用户输入的信息,可能会出现输入数据与数据库中定义的数据类型相冲突,这时通过捕捉异常来处理并提示用户输入错误。69 2.2运行环境硬件要求:PI133以上的处理器,最低32M内存,300M以上硬盘剩余空间运行环境:win7/winxp2.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。处理流程图:查询条件数据库操作结果信息查询信息维护信息修改信息添加信息删除结果显示数据汇总更新内容新数据被删除项信息维护身份验证2.4结构2.4.1该系统的模块结构图:69 人事管理系统人事管理人事异动奖惩管理系统管理考勤管理工资管理帮助说明软件说明考勤信息查询工资信息维护工资发放工资信息查询考勤信息维护奖惩信息维护员工信息浏览员工档案维护奖惩信息查询部门信息维护员工就职员工调动员工离职员工调动查询修改密码职位信息维护权限设置用户手册2.4.2各个子模块的功能概述:员工信息浏览:点击员工浏览按钮时,显示出员工的基本信息。员工档案维护:69 点击档案维护按钮时,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,显示出该员工的信息,输入想要维护的信息,并把信息更新到数据库中,维护员工的基本信息。员工就职:点击员工就职按钮时,弹出窗体显示出员工必须填写的信息项,填完并保存之后,点击填写详细档案,弹出窗体显示出其他需要完善的信息项,填写完毕后点击保存按钮,将信息保存到数据库中。员工调动:点击员工调动按钮后,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,弹出窗体显示出该员工原来的部门、职位、薪金信息,并填写新部门、新职位、新薪金,点击保存按钮后,将信息更新到数据库中。员工离职:点击员工调动按钮后,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,弹出窗体显示出该员工的部门、职位、薪金信息,并填写离职日期,点击保存按钮将信息更新到数据库中,实现员工的离职。员工调动查询:点击员工调动查询按钮时,弹出窗体显示出员工的调动信息。奖惩信息维护:点击奖惩信息维护按钮时,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,填写奖惩类别和奖惩日期,点击保存按钮将信息更新到数据库中。奖惩信息查询:点击奖惩信息查询按钮时,弹出窗体显示出员工的奖惩信息。部门信息维护:点击部门设置按钮时,显示出已经存在的部门的信息,点击添加按钮,可以输入新的部门信息,点击保存按钮之后,可将信息更新到数据库中。点击删除按钮则可删除该部门。修改密码:点击修改密码按钮时,弹出窗体,输入旧密码和新密码,旧密码正确时点击保存按钮将更改信息保存到数据库中,旧密码错误则提示。职位信息维护:点击职位设置按钮时,显示出已经存在的职位的信息,点击添加按钮,可以输入新的职位信息,点击保存按钮之后,可将信息更新到数据库中。点击删除按钮则可删除该职位。权限设置:点击权限设置按钮时,弹出窗体,输入要更改成的权限,点击保存按钮将更改信息保存到数据库中。考勤信息维护:点击考勤信息维护按钮时,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,填写迟到、早退、矿工、请假、加班次数和考勤时间,点击保存按钮将信息更新到数据库中。考勤信息查询:点击考勤信息查询按钮时,弹出窗体显示出员工的考勤信息。工资信息维护:点击工资更新按钮时,弹出一个窗体来显示出员工的员工号和姓名,点击该员工,弹出一个窗体显示出该员工的原工资,并填写新工资,点击保存按钮将信息更新到数据库中。工资发放:点击工资信息查询按钮时,给需要发放工资的员工进行工资发放,并将发放结果保存到数据库中。工资信息查询:点击工资信息查询按钮时,弹出窗体显示出员工的工资发放信息。软件说明:点击软件说明按钮时,弹出窗体说明一些关于该软件的信息。用户手册:点击用户按钮时,弹出窗体显示对该系统的操作方法,指导新用户对该系统进行操作。69 2.5功能需求与程序的关系登录员工浏览档案维护员工就职员工调职人事异动查询员工离职奖惩记录维护奖惩记录查询部门设置职位设置密码修改权限设置考勤信息维护考勤信息查询工资更新工资发放工资发放查询用户手册软件说明用户登录√员工信息维护√√员工就职、离职和调动√√√√奖惩信息维护√√考勤信息维护√√部门设置√职位设置√修改密码√权限设置√工资更新√工资发放√工资发放查询√帮助说明√√69 2.6人工处理过程修改各项信息以及考勤信息的录入需要人工输入。3 接口设计3.1外部接口在c的windows窗体应用程序的引用中,添加office引用,因为需要导出Word和excel格式的文件。3.2内部接口模块间的接口是通过函数调用建立的,应用程序在运行期间始终保持着与数据库的联系。通过应用程序与数据库的耦合以记录数据,在应用程序内部,Form窗体只负责显示,一切数据操作都由后台的各个类实现,包括对数据库的操作。4 运行设计4.1运行模块组合若是管理员登录该系统,则可对系统内的所有模块进行操作,而若是普通员工登录,则只能对员工浏览、档案维护、密码修改和其他关于查询的模块进行操作。4.2运行时间在软件的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。硬件对运行时间有最大的影响,当设备负载量大时,对操作反应将受到很大的影响。所以尽量采用高性能主机,充分发挥软件性能。在应用程序方面,尽量建立存储过程来对数据库进行操作,加快系统对数据的操作速度,以减少系统的反应时间。5 系统数据结构设计5.1数据库数据结构设计该系统使用数据库对数据进行管理,使用的数据库表如下:员工信息表、部门信息表、职位信息表、密码权限表、基本工资表、实际工资表、实际工资查询表、奖惩信息表、员工调动信息表、员工考勤信息表、员工职位信息表具体如下:69 1.员工信息表:字段名称数据类型主键允许空员工号char(10)√身份证号char(18)姓名nvarchar(50)性别nchar(2)出生日期datetime√籍贯nvarchar(50)√住址nvarchar(50)√邮箱nvarchar(50)√学历nchar(10)√专业nvarchar(50)√毕业时间datetime√毕业院校nvarchar(50)√就职时间datetime√联系方式char(20)√照片image√部门号char(10)状态nchar(10)备注text√其中部门号是外键,它参照部门信息表里的部门号。2.部门信息表:字段名称数据类型主键允许空部门号char(10)√名称nvarchar(50)备注text√3.职位信息表:字段名称数据类型主键允许空职位名称nvarchar(50)√部门号char(10)√其中部门号是外键,它参照部门信息表里的部门号。4.密码权限表:字段名称数据类型主键允许空员工号char(10)√密码char(20)权限char(1)其中员工号是外键,它参照员工信息表里的员工号。5.基本工资表:字段名称数据类型主键允许空员工号char(10)√69 基本工资money备注ntext√其中员工号是外键,它参照员工信息表里的员工号。6.实际工资表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)实际工资money发放日期datetime其中员工号是外键,它参照员工信息表里的员工号。7.实际工资查询表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(10)实发工资money发放日期datetime√其中员工号是外键,它参照员工信息表里的员工号。8.奖惩信息表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)奖惩类别nvarchar(50)附加工资money奖惩日期datetime√其中员工号是外键,它参照员工信息表里的员工号。9.员工调动信息表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)原部门号char(10)原职位名称nvarchr(50)原工资money新部门号char(10)新职位名称nvarchar(50)新工资money69 调动时间datetime√其中员工号是外键,它参照员工信息表里的员工号。10.员工考勤信息表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)迟到int早退int旷工int请假int加班时间int考勤时间datetime√其中员工号是外键,它参照员工信息表里的员工号。11.员工职位信息表:字段名称数据类型主键允许空员工号char(10)√职位名称nvarchar(50)√其中员工号是外键,它参照员工信息表里的员工号。员工信息表和部门信息表通过部门号建立联系员工信息表和职位信息表通过职位名称建立联系职位信息表和部门信息表通过部门号建立联系员工信息表和密码权限表通过员工号建立联系员工信息表和基本工资表通过员工号建立联系员工信息表和实际工资表通过员工号、姓名建立联系员工信息表和实际工资查询表通过员工号、姓名建立联系实际工资表和实际工资查询表通过实际工资、发放日期建立联系员工信息表和奖惩信息表通过员工号、姓名建立联系员工信息表和员工调动信息表通过员工号、姓名建立联系员工信息表和员工考勤信息表通过员工号、姓名建立联系员工信息表和员工职位信息表通过员工号建立联系职位信息表和员工职位信息表通过职位名称建立联系5.2数据结构与程序的关系  说明各个数据结构与访问这些数据结构的形式:69 登录员工浏览档案维护员工就职员工调职人事异动查询员工离职奖惩记录维护奖惩记录查询部门设置职位设置密码修改权限设置考勤信息维护考勤信息查询工资更新工资发放工资发放查询员工信息表√√√√√部门信息表√职位信息表√密码权限表√√√√基本工资表√√√√实际工资表√实际工资查询表√奖惩信息表√√员工调动信息表√√员工考勤信息表√√员工职位信息表√√6 系统出错处理设计6.1出错信息出错类型错误提示造成原因输入错误输入数据错误指用户所填写的数据不合规定系统错误数据库错误指系统与数据建立连接时,连接失败69 6.2补救措施  周期性地进行数据库备份,同时要进行数据库操作的日志记录,当系统故障发生时可以将最新备份的数据库进行还原然后根据数据库操作日志将数据库还原成最新状态,尽量降低系统故障造成的损失。6.3系统维护设计维护方面主要为对数据库数据进行维护。可使用SQLSERVER的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。69 详细设计说明书1.引言1.1.编写目的本文档是在概要设计基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。本文档的预期读者是系统开发人员,以及使用该系统的用户和维护该系统的人员。1.2.背景a.待开发的软件系统的名称:**人事管理系统b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络:项目任务提出者:**有限责任公司项目开发者:用户:**有限责任公司1.3.定义人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。SQLSERVER:开发系统使用的数据库名称1.4参考资料网上一些类似比较完整的系统,人事管理系统,企业一些其他的系统的设计理念,好的报告分析。[1]《软件工程》(第二版)邓良松、刘海岩、陆丽娜西安电子科技大学出版社[2]《软件工程导论》张海藩清华大学出版社2.程序系统的结构69 人事管理系统人事管理人事异动奖惩管理系统管理考勤管理工资管理帮助说明软件说明考勤信息查询工资信息维护工资发放工资信息查询考勤信息维护奖惩信息维护员工信息浏览员工档案维护奖惩信息查询部门信息维护员工就职员工调动员工离职员工调动查询修改密码职位信息维护权限设置用户手册69 3.人事管理设计说明3.1.程序描述这部分程序就是为了员工信息的维护和查询的,员工登陆后,系统会判断他的权限,如果是普通员工,系统将控制只显示他自己的信息,如果是管理员,那么将会显示除了其他管理员的所有员工的信息。那么用户可以对显示的员工信息进行完善和修改。安排这个程序的目的是让员工能保证自己的信息时正确无误的。此部分程序不是常驻内存的,并且是顺序处理的。3.2.功能人事管理就是主要针对员工信息的维护和浏览的,在这一个模块中又分为员工信息浏览和档案维护,普通员工可以在这里查看自己的信息,如果有什么不完善的,可以通过档案维护进行修改和完善,而系统管理员则有权限查看除了其他管理员的所有员工信息,当然也可以对以上的员工信息进行完善和修改。还可以对表中的数据进行导出到固定的文档上。IPO表系统:人事管理系统作者:第一开发小组模块:人事管理日期:2011年11月被调用:无调用:无输入:员工基本信息输出:员工详细信息和更新后的员工信息处理:查询员工信息和维护员工档案3.3.性能该部分主要是对员工信息的查询和维护,所以对精度要求不高。但是对于时间特性要求较高,因为用户要查询,并要对查询出来的信息进行维护,所以系统响应时间要短,一般为1-2秒。因此在此段程序里,从数据库里查询员工信息的时候可以用存储过程,以节约时间。3.4.输入项要求输入的是查询和维护员工时的条件也就是员工号或者姓名,具体字段信息请参考概要设计中的数据库设计。69 3.5.输出项输出的是一个员工的基本信息,具体信息请参考概要设计中数据库设计中的员工信息表。3.6.算法当点击员工信息浏览按钮时:系统执行privatevoidbuttonEmployeeScan_Click(objectsender,EventArgse)函数。该函数内部调用Form员工信息浏览窗体类。当点击档案维护按钮时:系统执行privatevoidbuttonEmployeeInfo_Click(objectsender,EventArgse)函数该函数内部调用Form员工档案维护类。3.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。其流程图如下:69 3.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有两个,一个是员工信息浏览,一个是员工档案维护。与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。3.9.限制条件在该程序块中的浏览子模块中限制是每次用户输入查询条件的时候必须完成,否则不允许查询,在档案维护子模块中,不允许修改用户的员工号和部门号,修改部门号可以到员工调动里去修改。还有就是不同权限的员工的操作范围的限制。4.人事异动设计说明4.1.程序描述这部分程序就是为了员工的异动的,包括员工就职,员工离职,员工异动以及员工异动查询。在一个部门中员工不可能只呆在一个地方,所以此模块也是必不可少的。此部分程序不是常驻内存的,并且是顺序执行的。4.2.功能该部分的功能实现的是员工的异动,实际就是员工的添加和删除,以及调动。每一次的员工异动,都会在员工异动信息里产生一条记录以供以后查询。而员工离职后,还保留有他的信息,但是不享有任何在职员工的福利条件。当然这里边也有权限的问题,如果是普通员工,那么只允许他查看他自己的异动记录,如果是管理员,可以操作员工就职添加员工,可以为员工办理员工离职和员工调动。IPO表系统:人事管理系统作者:第一开发小组模块:人事异动日期:2011年11月被调用:无调用:档案维护输入:员工基本信息输出:更新后的员工信息处理:添加员工,完善员工详细信息,办理离职和员工调动69 4.3.性能由于这些程序都是对数据库的操作,所以在精度上没有过多的要求,所要求的就是对时间特性的,需要响应时间短,一般为1-2秒,为此可以将一些频繁的操作用存储过程来实现,比如说查询功能。4.4.输入项输入项包括员工的基本信息包括员工号,姓名,身份证号,性别,部门和职位,员工离职和调动里输入员工号或者姓名。这些字段信息可参照概要设计里的数据库设计里的人事异动信息表。4.5.输出项输出项包括员工的调动信息,可以输出到DataGridView表里,也可以输出到外媒介上,比如说Excel和word上,其具体要求的数据类型和字段信息可以参照概要设计里的数据库设计中的人事异动信息表。4.6.算法当点击员工就职按钮是,系统执行:privatevoidbuttonEmployeeAdd_Click(objectsender,EventArgse){}函数该函数内部调用Form员工就职类。当点击员工调动按钮时,系统执行:privatevoidbuttonEmployeeMove_Click(objectsender,EventArgse){}函数该函数内部调用Form员工调职类。当点击员工离职按钮时,系统执行:privatevoidbuttonLeave_Click(objectsender,EventArgse){}函数该函数内部调用Form员工离职类。当点击人事异动查询按钮时,系统执行:privatevoidbuttonEmployeeMoveScan_Click(objectsender,EventArgse){}函数该函数内部调用Form人事异动查询类。4.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。其流程图如下:69 4.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有四个,一个是员工就职,一个是员工离职,一个是员工调动,一个是员工异动查询,与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。4.9.限制条件在该程序块中,限制条件是普通员工和管理员之间权限的限制,普通员工只能查询自己的员工调动记录,而管理员可以查询所有的员工的调动记录,而且可以办理员工就职,离职和调动操作。还有就是就职时,如果不填写基本信息并保存后,不允许去维护档案。还有就是运行环境的限制,可参考需求分析里的运行环境规定。69 5.奖惩管理设计说明5.1.程序描述该部分程序是用来对一个员工实现奖励和惩罚的,主要是根据该员工的平时表现,比如说是考勤记录,来给他一个评判。包括奖惩信息维护和奖惩信息查询。该部分程序为不常驻内存,并且是顺序执行的。5.2.功能该模块的功能用来对一个员工实现奖励和惩罚的。管理员可以根据某个员工的平时表现来对该员工实行奖励和惩罚,分为四个等级,大功,小功,小过,大过。普通员工进入该模块的时候可以查看自己的奖惩记录,但不允许其他操作,管理员可以对员工的奖惩信息进行维护,也可以查看所有人的奖惩信息。IPO表系统:人事管理系统作者:第一开发小组模块:奖惩管理日期:2011年11月被调用:无调用:无输入:员工基本信息输出:奖惩信息或更新过的信息处理:维护员工奖惩信息,查询员工奖惩信息5.3.性能对精度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说是查询。5.4.输入项输入项要求输入员工的员工号或者姓名,具体字段信息请参考概要设计里的数据库设计里的奖惩信息表。5.5.输出项输出项为员工的奖惩信息,具体请参考概要设计里的数据库设计的奖惩信息表。输出媒介为DataGridView表,Excel,Word等。69 5.6.算法当点击奖惩信息维护按钮时,系统执行:privatevoidbuttonRewardInfo_Click(objectsender,EventArgse){}函数该函数内部调用Form奖惩信息维护类。当点击奖惩信息查询按钮时,系统执行:privatevoidbuttonRewardScan_Click(objectsender,EventArgse){}函数该函数内部调用Form奖惩信息查询类。5.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。其流程图如下:5.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有两个,一个是奖惩信息维护,一个是奖惩信息查询。与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。69 5.9.限制条件在该模块中限制条件还是普通员工和管理员之间的权限限制,普通员工不允许操作奖惩信息维护,不允许查看别人的奖惩信息。对其他的限制就是运行环境中必须要安装有Office2003以上的版本。不然,导出文档的时候会有错误。具体可参考需求分析的运行环境规定。6.考勤管理设计说明6.1.程序描述这一部分程序模块是用来对员工的平时表现记录的。在该模块里包括考勤信息维护和考勤信息查询。该部分程序为不常驻内存,并且是顺序执行的。6.2.功能该部分程序的功能是记录每个员工平时表现的,考勤记录有:迟到,早退,矿工,加班。如果普通员工登录此模块,可以查看自己的考勤信息,如果是管理员,可以记录员工的考勤信息,也可以查看其他员工的考勤信息。IPO表系统:人事管理系统作者:第一开发小组模块:考勤管理日期:2011年11月被调用:无调用:无输入:员工基本信息输出:考勤信息或更新过的信息处理:维护员工考勤信息,查询员工考勤信息6.3.性能对精度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说是查询。6.4.输入项输入项要求输入员工的员工号或者姓名,具体字段信息请参考概要设计里的数据库设计里的考勤信息表。69 6.5.输出项输出项为员工的考勤信息,具体请参考概要设计里的数据库设计里的考勤信息表。输出媒介为DataGridView表,Excel,Word等。6.6.算法当点击考勤信息维护按钮时,系统执行:privatevoidbuttonAttendInfo_Click(objectsender,EventArgse){}函数该函数内部调用Form考勤信息维护类。当点击考勤信息查询按钮时,系统执行:privatevoidbuttonAttendQuery_Click(objectsender,EventArgse){}函数该函数内部调用Form考勤信心查询类。6.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。其流程图如下:69 6.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有两个,一个是考勤信息维护,一个是考勤信息查询。与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。6.9.限制条件在该模块中限制条件还是普通员工和管理员之间的权限限制,普通员工只允许查看自己的考勤信息,不允许有其他的操作。对其他的限制就是运行环境中必须要安装有Office2003以上的版本。不然,导出文档的时候会有错误。具体可参考需求分析里的运行环境规定。7.工资管理设计说明7.1.程序说明这一程序模块是对用户的工资进行管理,对于一个员工来说,工资是必不可少的部分,所以该模块是必不可少的。该部分程序非常驻内存,而且是顺序执行的。7.2.功能在该模块中,可以对于员工的工资进行更新,因为在员工就职的时候,系统默认一个最低工资额,所以调节工资在这个模块。还有发放工资,系统默认的每月的一号为发工资的日期,另一个模块就是工资发放记录查询。在这个模块普通员工只允许查询自己的工资发放记录,不允许有其他的操作,管理员可以去操作更新工资,发放工资和查询工资记录操作。IPO表系统:人事管理系统作者:第一开发小组模块:工资管理日期:2011年11月被调用:无调用:无输入:员工基本信息输出:工资发放信息或更新过的工资信息处理:维护员工考勤信息,查询员工考勤信息69 7.3.性能对精度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说是查询。7.4.输入项输入项要求输入员工的员工号或者姓名,具体字段信息请参考概要设计里的数据库设计里的员工信息表。7.5.输出项输出项为员工的工资发放记录信息,具体请参考概要设计里的数据库设计里的实际工资发放信息表。输出媒介为DataGridView表,Excel,Word等。7.6.算法当点击工资更新按钮时,系统执行:privatevoidbuttonSalary_Click(objectsender,EventArgse){}函数该函数内部调用Form工资更新类。当点击工资发放按钮时,系统执行:privatevoidbuttonPay_Click(objectsender,EventArgse){}函数该函数内部调用Form工资发放类。当点击工资发放查询按钮时,系统执行:privatevoidbuttonSalaryQuery_Click(objectsender,EventArgse){}函数该函数内部调用Form实际工资查询类。7.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。还有就是根据日期进行发工资。其流程图如下:69 7.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有三个,一个是更新工资,一个是发放工资,一个是工资发放记录查询。与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。7.9.限制条件在该模块中限制条件还是普通员工和管理员之间的权限限制,普通员工只允许查看自己的工资发放记录信息,不允许有其他的操作。还有的限制就是不是一号的话,不允许发放工资。对其他的限制就是运行环境中必须要安装有Office2003以上的版本。不然,导出文档的时候会有错误。具体信息请参考需求分析里的运行环境规定。69 8.系统管理设计说明8.1.程序说明该模块是一些非人事管理系统功能的,主要是为了好管理系统,所以在里边设计了四个模块,部门门信息维护,修改密码,权限设置和职位信息维护。该部分程序为非常驻内存,并且是顺序执行的。8.2.功能该模块的功能是为了方便管理该系统。部门信息设置可以添加,修改,删除部门信息。修改密码可以支持员工修改密码。职位信息设置是为某个部门设置职位。权限设置是为员工设置权限,以此来判断他是否有权利进行一些操作。IPO表系统:人事管理系统作者:第一开发小组模块:系统管理日期:2011年11月被调用:无调用:无输入:部门信息,员工密码信息,职位信息,员工信息输出:更新过后的部门信息,职位信息,员工信息处理:维护部门信息,职位信息,修改员工密码,设置员工权限8.3.性能对精度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说此模块中的修改密码相对来说比较频繁,可以用存储过程来实现。8.4.输入项输入项为员工信息包括员工号,部门所有信息,职位所有信息,以及密码信息。具体字段信息可参考概要设计中的数据库设计里的员工信息表,部门信息表,职位信息表,密码权限表。69 8.5.输出项输出项为更新过后的部门信息,职位信息,员工信息。具体字段信息可参考概要设计中的数据库设计里的员工信息表,部门信息表,职位信息表,密码权限表。输出媒介为DataGridView表,Excel,Word等。8.6.算法当点击部门设置按钮时,系统执行:privatevoidbuttonDepartment_Click_1(objectsender,EventArgse){}函数该函数内部调用Form部门设置类。当点击密码修改类时,系统执行:privatevoidbuttonAlterPsw_Click(objectsender,EventArgse){}函数如果是管理员登陆,该函数内部调用Form密码修改1类。如果是普通用户,该函数内部调用Form密码修改类。当点击职位信息设置按钮时,系统执行:privatevoidbuttonPosition_Click(objectsender,EventArgse){}函数该函数内部调用Form职位设置类。当点击权限设置按钮时,系统执行:privatevoidbuttonGrant_Click(objectsender,EventArgse){}函数该函数内部调用Form权限设置类。8.7.流程逻辑在程序开始的时候会判断进入该模块的员工是管理员还是普通员工,然后给他们赋以不同的权限。其流程图如下:69 8.8.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有四个,一个是部门信息设置,一个是修改密码,一个是职位信息维护,一个是权限设置。与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。8.9.限制条件在该模块中限制条件还是普通员工和管理员之间的权限限制,普通员工只允许修改自己的密码,不允许有其他的操作。对其他的软硬件和计算机没有什么限制条件。69 数据库设计说明书1引言1.1编写目的本数据库设计说明书是为了对人事管理系统的数据进行组织。预期读者:系统分析师,软件设计人员。1.2背景a.开发的数据库的名称:HrSysb.使用此数据库的软件系统的名称:SQLServer2005c.系统开发项目的任务提出者:d.用户以及将安装该软件和这个数据库的计算站(中心):cthily服务中心。1.3定义○人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。○SQL SERVER:数据库1.4参考资料《数据库系统原理与应用》孟彩霞主编人民邮电出版社《软件工程》张权范清华大学出版社《软件开发技术》倪秉营电子科技大学出版社《软件工程基础》汤淮西安交通大学出版社《软件工程》(第二版)邓良松编著西安电子科技大学出版社2外部设计2.1使用它的程序编号名称1部门信息管理2员工基本信息管理3员工职位管理4员工密码权限管理5员工工资管理6员工奖惩管理7员工调动管理8员工考勤管理CREATETABLEDepartments(69 Dep_idINTPRIMARYKEY,Dep_nameVARCHAR(50)NOTNULL,DescribeVARCHAR(400));CREATETABLEEmployees(Emp_idCHAR(10)PRIMARYKEY,Emp_nameVARCHAR(50)NOTNULL,Photoimage,SexCHAR(2),NationalityVARCHAR(40),BirthVARCHAR(20)HireDateVARCHAR(20),PositionVARCHAR(40),MobileCHAR(20),HukouVARCHAR(50),Family_placeVARCHAR(50),);CREATETABLECheckin(CheckDateCHAR(10)NOTNULL,Emp_nameVARCHAR(50),Emp_idCHAR(10)PRIMARYKEY,cdTimeINT,ztTiteINT,kgDaysINT,qjDaysINT,jbDateINT,);2.2约定数据库的建立遵循按表的意义取名字,如:编号名称69 1员工基本信息表(Employees)2部门表(Departments)3职位信息表(Position)4密码权限表(Privilege)5基本工资表(Salary)6奖惩信息表(Reward-punish)7员工调动信息表(Transfer)8员工考勤表(Checkin)2.3专门指导系统使用SQLSever存储各类日常数据,在建立数据库时都会为每个变量定义所用数据类型,在进行数据输入输出时应严格按照所限制的数据类型。3结构设计3.1概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求经行综合归纳和抽象,形成一个独立于具体的DBMS的概念模型。人事管理系统的顶层数据流图:人事管理系统第0层数据流图:69 1.员工基本信息管理4.奖罚信息管理7.查询6.部门信息管理3考勤信息管理5.员工异动管理2.员工工资管理员工信息时钟信息员工信息员工信息工资信息工资发放信息奖罚信息考勤信息考勤信息部门/职位信息职位信息部门信息员工/考勤/奖罚/异动/工资发放信息查询请求/员工/考勤/奖罚/异动/工资发放系信息异动信息异动信息奖罚信息员工信息工资发放信息奖罚信息奖罚信息奖罚工资信息员工信息发放工资奖罚信息年人事管理系统的E-R图:69 员工基本信息表奖惩奖惩信息表包括职位信息表包括部门表考勤、勤勤考勤表调动调动信息表包括包括包括基本工资表实际工资表实际工资查询表M111111111111111用户信息表权限权限管理NM3.2逻辑结构设计69 逻辑结构设计是将抽象的概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。该系统使用数据库对数据进行管理,使用的数据库表如下:1.员工信息表:字段名称数据类型主键允许空员工号char(10)√身份证号char(18)姓名nvarchar(50)性别nchar(2)出生日期datetime√籍贯nvarchar(50)√住址nvarchar(50)√邮箱nvarchar(50)√学历nchar(10)√专业nvarchar(50)√毕业时间datetime√毕业院校nvarchar(50)√就职时间datetime√联系方式char(20)√照片image√部门号char(10)状态nchar(10)备注text√其中部门号是外键,它参照部门信息表里的部门号。2.部门信息表:字段名称数据类型主键允许空部门号char(10)√名称nvarchar(50)备注text√3.职位信息表:字段名称数据类型主键允许空职位名称nvarchar(50)√69 部门号char(10)√其中部门号是外键,它参照部门信息表里的部门号。4.密码权限表:字段名称数据类型主键允许空员工号char(10)√密码char(20)权限char(1)其中员工号是外键,它参照员工信息表里的员工号。5.基本工资表:字段名称数据类型主键允许空员工号char(10)√基本工资money备注ntext√其中员工号是外键,它参照员工信息表里的员工号。6.实际工资表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)实际工资money发放日期datetime其中员工号是外键,它参照员工信息表里的员工号。7.实际工资查询表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(10)实发工资money发放日期datetime√其中员工号是外键,它参照员工信息表里的员工号。8.奖惩信息表:字段名称数据类型主键允许空员工号char(10)√69 姓名nvarchar(50)奖惩类别nvarchar(50)附加工资money奖惩日期datetime√其中员工号是外键,它参照员工信息表里的员工号。9.员工调动信息表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)原部门号char(10)原职位名称nvarchr(50)原工资money新部门号char(10)新职位名称nvarchar(50)新工资money调动时间datetime√其中员工号是外键,它参照员工信息表里的员工号。10.员工考勤信息表:字段名称数据类型主键允许空员工号char(10)√姓名nvarchar(50)迟到int早退int旷工int请假int加班时间int考勤时间datetime√其中员工号是外键,它参照员工信息表里的员工号。11.员工职位信息表:字段名称数据类型主键允许空员工号char(10)√69 职位名称nvarchar(50)√其中员工号是外键,它参照员工信息表里的员工号。3.3物理结构设计3.3.1数据库物理结构设计阶段的任务是根据计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。3.3.2建立索引:A.对表部门在属性列领导人号上建立非聚集索引。B.对标员工在属性列出生日期上建立非聚集索引,在属性列学历上建立非聚集索引。C.对表工资在属性列基本工资上建立非聚集索引。D.对表职务调动在属性列调动前职务上建立非聚集索引。E.对表奖惩记录在属性列奖励类型上建立非聚集索引。F.对表出勤在属性列上班日期上建立非聚集索引。3.3.3模块设计IPO表:表1:人事管理就是主要针对员工信息的维护和浏览的,在这一个模块中又分为员工信息浏览和档案维护,普通员工可以在这里查看自己的信息,如果有什么不完善的,可以通过档案维护进行修改和完善,而系统管理员则有权限查看除了其他管理员的所有员工信息,当然也可以对以上的员工信息进行完善和修改。还可以对表中的数据进行导出到固定的文档上。IPO表系统:人事管理系统作者:软件工程小组模块:人事管理日期:2011年10月被调用:无调用:无输入:员工基本信息输出:员工详细信息和更新后的员工信息处理:查询员工信息和维护员工档案69 表2:该模块的功能用来对一个员工实现奖励和惩罚的。管理员可以根据某个员工的平时表现来对该员工实行奖励和惩罚,分为四个等级,大功,小功,小过,大过。普通员工进入该模块的时候可以查看自己的奖惩记录,但不允许其他操作,管理员可以对员工的奖惩信息进行维护,也可以查看所有人的奖惩信息.IPO表系统:人事管理系统作者:软件工程小组模块:奖惩管理日期:2009年12月被调用:无调用:无输入:员工基本信息输出:奖惩信息或更新过的信息处理:维护员工奖惩信息,查询员工奖惩信息表3:该部分程序的功能是记录每个员工平时表现的,考勤记录有:迟到,早退,矿工,加班。如果普通员工登录此模块,可以查看自己的考勤信息,如果是管理员,可以记录员工的考勤信息,也可以查看其他员工的考勤信息。IPO表系统:人事管理系统作者:软件工程小组模块:考勤管理日期:2011年10月被调用:无调用:无输入:员工基本信息输出:考勤信息或更新过的信息处理:维护员工考勤信息,查询员工考勤信息4运用设计4.1数据字典设计主要的数据流定义1)数据流名称:员工信息情况位置:员工—>P169 定义:员工情况=员工号+姓名+性别+出生日期+籍贯+学历+专业+联系方式+照片+部门号。数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的新员工进行唯一编号。2)数据流名称:奖惩情况位置:P3—>员工定义:奖惩情况=员工号+姓名+奖惩类别+附加工资+奖惩日期数据流量:根据公司的具体情况来确定。说明:要对每一次的奖惩记录进行唯一编号。3)数据流名称:调动情况位置:P5—>员工定义:调动情况=员工号+姓名+原部门号+原职位名称+原工资+新部门号+新职位名称+新工资+调动时间。数据流量:根据公司的具体情况来确定。说明:员工号和调动日期可以唯一确定一个调动情况。4)数据流名称:实际工资查询位置:P4—>员工定义:实际工资查询情况=员工号+姓名+实发工资+发放日期。数据流量:根据公司的具体情况来确定。说明:员工号和发薪日期可以唯一确定一个工资记录。5)数据流名称:部门情况位置:上级—>部门情况定义:部门情况=部门号+名称+备注。数据流量:根据公司的具体情况来确定。说明:部门号是主码。4.2安全保密设计数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。键全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。本系统的安全设计包括服务器和数据库两方面设计。当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页面跳转至用户登录。在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表明用户登录成功。对于数据库的安全,主要是通过对授权用户的身份验证实现的。在的系统管理页面,提示用户使用管理员帐号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。系统确认了管理员身份之后统会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。69 数据要求说明书1.引言1.1编写目的《人事管理系统数据需求说明书》目的是明确《人事管理系统》中各项功能和非功能性需求实现时所需要的数据,并可以此数据为根据设计数据库。同时为概要设计和详细设计人员提供设计依据,其他本项目组的开发人员也可参阅。《人事管理系统数据需求说明书》的阅读对象为:1)对相关业务技术和总体方案作出决策的管理人员和质量管理人员;2)对本《数据需求说明书》进行评审和确认的有关业务、技术人员;3)参加数据库设计,测试设计阶段工作的全体设计人员;4)《人事管理系统》项目组,其他有权需要调用本文档的人员1.2背景a.开发的软件系统的名称:**人事管理系统b.本项目的任务提出者:**有限责任公司开发者:用户:**有限责任公司软件的计算站或计算机网络系统:个人计算机,SqlServer,WindowXP,Win7操作系统;1.3定义人事管理:所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。Personnel_Management : 人事管理系统SQLserver:数据库1.4参考资料《软件工程》(第二版)邓良松编著西安电子科技大学出版社《软件工程导论》(第四版)张海藩编著,清华大学出版社,2006年10月版《软件工程基础》汤淮西安交通大学出版社《软件开发技术》倪秉营电子科技大学出版社《软件工程》张权范清华大学出版社本系统的《需求规范说明书》姬彩云69 数据要求说明书(HUST学分制教务管理系统数据需求说明书)2 数据的逻辑描述数据进行逻辑描述分为动态和静态数据。所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长的一段时间内不会变化,一般不随运行而改变。所谓动态数据,包括所有在运行中要发生变化的数据以及在运行中要输入、输出的数据。进行描述时应把各数据元素逻辑地分成若干组,列如函数、源数据或对于其应用更为恰当的逻辑分组。给出每一数据元的名称(包括缩写和代码)、定义(或物理意义)度量单位、值域、格式和类型等有关信息。2.1静态数据2.1.1.人事异动管理1.1转职位管理1.1.1从本职位转出名称数据名称数据类型数据长度说明基本数据无输入数据职工号整型20记录转出职工的职工号,找到对应的职工信息并删除。转职位记录号整型10原转出部门字符串20原转出职位字符串20原转出职工号整型5现转入部门字符串20现转入职位字符串20现转入职工号整型5输出数据无1.1.2转入本职位名称数据名称数据类型数据长度说明基本数据无需要知道转入职工的基本信息输入数据职业字符串20记录转入职工的职工号,找到职工信息并增加到相应的职业,修改职工号。转职业记录号整型10原转出部门字符串20原转出职业字符串20原转出职工号整型5现转入部门字符串20现转入职业字符串20现转入职工号整型5输出数据无1.2考勤信息管理69 名称数据名称数据类型数据长度说明基本数据无由职工号找到职工,修改其状态信息。输入数据分部门号整型20在表格中,还需要填入很多信息,例如停工时间、原因、医院意见、部门主任意见、组长意见、备注等。姓名字符串20部门字符串20职业字符串20职工号整型5性别字符串1输出数据无1.3奖罚1.4(加班)延长工作时间名称数据名称数据类型数据长度说明基本数据无输入数据职工号整型20根据职工号找到对应的职工信息,修改信息,包括职业信息。姓名字符串20部门字符串20职位字符串20原职位字符串5延长转入时间整型5延长工作时间整型4输出数据无2.1.2职位管理功能2.1输入职工号名称数据名称数据类型数据长度说明基本数据无输入数据部门号整型20输出数据职工号整型20姓名字符串20职业字符串5部门字符串20职业号整型20注册状态字符串52.2输入职业名称数据名称数据类型数据长度说明基本数据输入数据职业字符串5输出数据职业字符串569 部门字符串20职业分支字符串20人数整型42.3职工查询注册状态名称数据名称数据类型数据长度说明基本数据输入数据职工号整型20月份字符串10输出数据职工号整型20姓名字符串20职业字符串5注册状态字符串52.1.3员工信息管理3.1员工信息查询名称数据名称数据类型数据长度说明基本数据输入数据职工号字符串20输出数据职工号字符串20根据职工号查询职工信息,并显示。姓名字符串20性别字符串1年龄整型4开始工作时间字符串10职业字符串20家庭住址字符串20电话字符串20邮箱字符串203.2员工信息修改需要的数据表格同上,显示信息后修改信息,再提交到数据库。3.3员工信息添加名称数据名称数据类型数据长度说明基本数据输入数据员工号字符串20输入要添加的职工的信息,添加到相应的表中。姓名字符串20性别字符串1年龄整型4开始工作时间字符串10职称字符串20家庭住址字符串20电话字符串2069 邮箱字符串20输出数据无3.4员工信息删除名称数据名称数据类型数据长度说明基本数据输入数据职工号字符串20输出数据职工号字符串20由职工号找到职工信息,并显示,确认后删除姓名字符串20性别字符串1年龄整型4开始工作时间字符串10职称字符串20家庭住址字符串20电话字符串20邮箱字符串202.1.4部门信息管理4.1部门信息查询名称数据名称数据类型数据长度说明基本数据输入数据部门号字符串20姓名字符串20输出数据职工号字符串20姓名字符串20性别字符串1职业字符串5部门字符串20职业分支字符串20家庭住址字符串20身份证号字符串20年龄整型4电话号码字符串20邮箱字符串204.2部门信息修改由查询得到的信息修改后再提交。4.3部门信息添加数据库管理人员输入如上的部门基本信息,提交到数据库。4.4部门信息删除由输入的部门号或姓名找到信息并显示,确认后删除。(同时删除该职工的注册信息,职工号,部门,职业等)69 2.1.5工资管理5.1工资的录入名称数据名称数据类型数据长度说明基本数据输入数据部门号字符串20输入部门号和职业号职业号字符串20输出数据职工号字符串20显示选择某职业某部门的职工号和工资工资浮点型8职业号字符串205.2工资报表1)个人工资报表Ø个人每月份的工资报表名称数据名称数据类型数据长度说明基本数据输入数据月份字符串20职工号字符串20姓名字符串20输出数据职业名称字符串20已得奖罚和求和是经过处理的。部门名称字符串20工资整型4奖罚整型4求和浮整型8Ø个人综合工资报表名称数据名称数据类型数据长度说明基本数据输入数据职工号字符串20姓名字符串20输出数据职业名称字符串20已得奖罚和求和是经过处理的。部门名称字符串20工资整型4奖罚整型4求和浮整型82)职位工资报表Ø职位每月工资求和统计表名称数据名称数据类型数据长度说明基本数据输入数据职业字符串20月份字符串20输出数据职工号字符串20姓名字符串2069 求和整型4Ø职业综合求和工资表3)部门工资报表Ø部门求和工资一览表名称数据名称数据类型数据长度说明基本数据输入数据部门字符串20职业字符串20职业分支字符串20输出数据职工号字符串20姓名字符串20职业字符串20求和浮整型82.1.6奖罚管理6.1部门信息查询名称数据名称数据类型数据长度说明基本数据输入数据部门号字符串20输出数据部门号字符串20职位号字符串20部门性质字符串20发工资人员字符串20开始发工资时间字符串20月份字符串206.2部门信息修改输入部门号,得到部门信息,经过修改后提交。6.3部门信息添加输入(部门号,部门名,部门性质,,发工资人员)等信息,经过一定的判断合理后加入数据库。6.4部门信息删除输入部门号,系统显示部门信息并给出删除确认提示,再删除信息。2.2动态输入数据工资变动信息管理69 2.2.1通知查看2.2.2通知发布2.2.3通知修改2.2.4通知删除名称数据名称数据类型数据长度说明基本数据工资字符串20信息内容发布时间字符串20发布人字符串20输入数据类别字符串20关键字字符串20输出数据信息内容2.3动态输出数据部门与工资管理2.3.1部门Ø职位归属部门名称数据名称数据类型数据长度说明基本数据输入数据职位字符串20部门号字符串20输出数据职位字符串5部门名称字符串20发工资人员字符串20发工资时间字符串20Ø员工选择职位名称数据名称数据类型数据长度说明基本数据输入数据职工号字符串20部门号字符串20输出数据部门名称字符串20员工姓名字符串20发工资时间字符串202.3.2工资管理Ø考勤情况导入(上传)名称数据名称数据类型数据长度说明基本数据输入数据部门字符串20职业字符串20职业分支字符串2069 月份字符串20职位字符串5部门名称字符串20发工资人员字符串20发工资时间字符串20办公室字符串20输出数据Ø考勤情况导出(下载)名称数据名称数据类型数据长度说明基本数据输入数据部门字符串20职业字符串20输出数据部门字符串20职业字符串20职业分支字符串20月份字符串20职位字符串5部门名称字符串20发工资人员字符串20发工资时间字符串20办公室字符串202.4内部生成数据根据数据库各个表的内在连接关系可以生成新的所需要的数据,同时可以进行一些加权计算或简单的运算,例如每个人某个月的工资等于他的底薪+奖金—罚款,每个人某年的工资等于他各个月工资之和(不能按月薪*12来算,因为每个月的资薪都不相同,具体还跟考勤有关),计算对比哪个员工年薪最高,某个员工总工时加权等。这些数据可以在SQLserver语句中体现并进行相关的计算。2.5约定数据对于数据库存储的信息各种职工信息报表中数据的输出有确定的形式,对于员工工资,一般工资金额保留至小数点后一位,加权工资或运算信息则保留至小数点后三位。数据库要有严格有效的恢复机制;数据必须一个每天进行一次备份,由于信息量巨大,应以天为周期进行增量转储,以季度为周期进行海量转储。所有的提交,确认,删除等操作以按钮的形式给出,且名称一律为取为“提交”、“确认”、“删除”等易于理解的形式。数据的输入输出格式要求,参考需求规范的附录和员工工资管理中的相关内容69 3 数据的采集3.1要求和范围具体的内容包括:a.数据的来源主要是建立数据库时录入的数据,在进行相应操作时会进行数据更新。而不论是员工,部门管理人员,都可以进行数据查询,但只有数据库管理员DBA可以在终端计算机上输入数据、插入数据、修改数据,也可在服务器上输入。由于人事管理系统是一个内部系统,所以在本公司外进行数据操作时会有一定的时延,或者页面打不开。b.数据的输入采用统一的键盘输入,不需要其他的工具,但是数据是有一定的格式和密码限制的,所以输入不合法时会进入不了系统。c.数据统一采用界面输入,接受者都是电脑,根据“提交”、“确认”、“删除”三个按钮,进入到数据库采用统一的处理。d.数据的输出统一显示在界面上,一般采用表格的形式,必要时表格会打印输出。打印机的选择采用统一的接口。e.数据要及时更新,数据必须每天进行一次备份,由于信息量巨大,以天为周期进行增量转储,以季度为周期进行海量转储。3.2输入的承担者数据的查询可以是职工(查询自己的考勤,工时,奖金,罚金等),也可以是相关数据库管理人员(查询工人的工资,考勤,奖罚,修改人事异动信息等);输入数据基本都是采用键盘,易于控制。数据的输入可以在界面也可以在数据库。3.3预处理人事管理系统面向的使用者范围很广,在每个月结束时,使用量尤其大,因此在数据流的控制上需要注意。由于对于职工、部门和职位的输入格式比较简单,因而不需要太注意。工资管理处理的信息格式多,需要进行简单转化。在进行员工工资的时候需要特别注意,访问量大,有可能造成系统崩溃,所以在计算工资时应尽量分开工资类型进行数据库相关数据的计算。3.4影响人事管理系统是一个庞大的系统,有很大的数据存储,同时它的安全性也非常重要,不能透露私人信息,也不能随便乱改员工工资、考勤信息、奖惩信息、人事异动信息。69 模块开发卷宗1.标题软件系统名称:**人事管理系统模块名称:人事异动模块1.员工就职2.员工调动3.员工离职4.员工调动查询程序编制员签名:修改完成日期:2011年12月3号卷宗序号:7编排日期:200年12月5号2.模块开发情况表IPO表系统:人事管理系统作者:第一开发小组模块:人事异动日期:2011年11月被调用:无调用:档案维护输入:员工基本信息输出:更新后的员工信息处理:添加员工,完善员工详细信息,办理离职和员工调动3.功能说明3.1.功能实现的是员工的异动,实际就是员工的添加和删除,以及调动。每一次的员工异动,都会在员工异动信息里产生一条记录以供以后查询。而员工离职后,还保留有他的信息,但是不享有任何在职员工的福利条件。当然这里边也有权限的问题,如果是普通员工,那么只允许他查看他自己的异动记录,如果是管理员,可以操作员工就职添加员工,可以为员工办理员工离职和员工调动。69 3.2.输入项输入项包括员工的基本信息包括员工号,姓名,身份证号,性别,部门和职位,员工离职和调动里输入员工号或者姓名。这些字段信息可参照概要设计里的数据库设计里的人事异动信息表。3.3.输出项输出项包括员工的调动信息,可以输出到DataGridView表里,也可以输出到外媒介上,比如说Excel和word上,其具体要求的数据类型和字段信息可以参照概要设计里的数据库设计中的人事异动信息表。4.设计说明4.1.接口由于该程序块就是系统登录后的第一模块,所以没有上层程序,但是他的下层程序有四个,一个是员工就职,一个是员工离职,一个是员工调动,一个是员工异动查询,与该程序块所关联的数据结构是DataBase,其名称是PersonnalManage。所调用的方式都是函数调用,在调用是的参数是员工的员工号或者姓名。该程序块与其他软件间的接口有与MicroSoftOffice中的Excel,Word的接口。4.2.流程逻辑69 4.3.算法当点击员工就职按钮是,系统执行:privatevoidbuttonEmployeeAdd_Click(objectsender,EventArgse){}函数该函数内部调用Form员工就职类。当点击员工调动按钮时,系统执行:privatevoidbuttonEmployeeMove_Click(objectsender,EventArgse){}函数该函数内部调用Form员工调职类。当点击员工离职按钮时,系统执行:privatevoidbuttonLeave_Click(objectsender,EventArgse){}函数该函数内部调用Form员工离职类。当点击人事异动查询按钮时,系统执行:privatevoidbuttonEmployeeMoveScan_Click(objectsender,EventArgse){}函数该函数内部调用Form人事异动查询类。4.4.限制条件在该程序块中,限制条件是普通员工和管理员之间权限的限制,普通员工只能查询自己的员工调动记录,而管理员可以查询所有的员工的调动记录,而且可以办理员工就职,离职和调动操作。还有就是就职时,如果不填写基本信息并保存后,不允许去维护档案。还有就是运行环境的限制,可参考需求分析里的运行环境规定。69'