面向对象课程设计文档企业工资管理系统_第1页
面向对象课程设计文档企业工资管理系统_第2页
面向对象课程设计文档企业工资管理系统_第3页
面向对象课程设计文档企业工资管理系统_第4页
面向对象课程设计文档企业工资管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要企业工资管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对信息的管理,其中包括:录入,删除,修改,查询以及统计等主要功能。本系统的开发采用面向对象的设计思想。系统的介绍了企业工资管理系统的开发过程及面向对象思想的具体实现。关键词: 面向对象;工资管理; 第一章 系统总体设计企业工资管理系统是一套功能强大、操作简便而又实用的员工工资管理软件,它可以被广泛的应用于各种小型企业员工工资管理中。开发此企业工资管理系统的

2、目的为了克服传统工资管理中遇到的诸如管理人员水平有限,耗费精力大,信息糅杂人力难以处理等问题,根据对现有工资管理模式的分析,确定了该系统需实现以下功能:(1)系统以菜单方式工作;(2)录入信息用文件保存;(3)能完成对职工信息的录入、修改、删除;(4)能按职工号进行工资统计,并计算企业平均工资;(5)能查询职工信息和职工工资信息;(6)能按职工名输出工资单。1.系统功能模块图根据用户需求,本系统将主要实现以下功能:企业工资管理系统录入员工工资信息删除指定员工工资信息修改指定员工工资信息退出系统输出全体员工工资信息查找指定员工工资信息图1-1 系统功能模块图其中:(1)录入模块录入模块的功能是创

3、建存储职工工资信息的存储系统以及添加某职工的工资信息。为实现录入的功能,有两个方面的任务:定义结构体以及建立链表。(2)删除模块删除模块的功能是删除某职工的工资信息。(3)修改模块修改模块的功能是修改某职工的部分工资信息。(4)查找模块查找模块的功能就是输出指定编号职工的工资信息。(5)输出模块输出模块的功能是输出当月全体职工的工资信息以及企业员工平均工资。(6)退出模块退出模块用来退出本系统。2.类的设计与分析 本系统只有1个员工类Worker,其各成员说明如下表:类成员函数说明表名称属性说明head数据成员链表头结点指针Worker()成员函数缺省的构造函数,缺省值为head=NULLvo

4、id Display(Worker_pay *)成员函数输出函数Worker_pay * Find(int)成员函数查找函数int ListCount()成员函数统计员工人数函数Void AddItem(int,···float,float)成员函数创建链表并链表的插入Void RemoveItem(int)成员函数删除函数void ReplaceItem(int)成员函数修改函数void ListL()成员函数遍历函数void Search(int)成员函数查找并输出某个员工信息函数void Real_wage()成员函数计算函数Void Recoreinfo(

5、int,···,float,float)成员函数存储函数 第二章 详细设计本系统主要功能包括:录入员工工资信息、删除指定员工工资信息、修改指定员工工资信息、查询指定员工工资信息、输出所有员工工资信息及公司平均工资等。 其各项功能都由员工类来实现。员工类的定义如下:class Workerprotected:Worker_pay * head; /链表的头结点指针public:Worker()head=NULL; /构造函数void Display(Worker_pay *); /输出函数 Worker_pay * Find(int); /查找函数int ListC

6、ount(); /统计员工人数函数 void AddItem(int,string,int,string,string,string,float,float); /创建链表并链表的插入void RemoveItem(int); /删除函数void ReplaceItem(int); /修改函数void ListL(); /遍历函数 void Search(int); /查找并输出某个员工信息函数void Real_wage(float,float); /计算函数void Recordinfo(int,string,int,string,string,string,float,float,flo

7、at,float); /存储函数;1录入模块成员函数Recoreinfo( );主要功能是录入并存储员工工资信息,实现方式为:打开info1.txt文件,若成功则读取从键盘输入的要添加的员工信息并写入文件,然后关闭info1.txt文件。如图2-1所示。返回主界面开始打开文件?录入并存储信息结束否 是 图2-1 录入模块流程图2.删除模块删除该员工信息结束是否找到是否满足要求开始按编号查找查找 成员函数RemoveItem(int );主要功能为删除指定员工工资信息,实现方式为根据输入职工的编号查到该职工,如存在便在链表中删除指定员工工资所在的结点,不存在则无效。如图2-2. 否 是 是 否

8、图2-2 删除模块流程图 3修改模块成员函数ReplaceItem(int);主要功能为修改指定员工工资信息,实现方式为根据输入的员工编号查到该员工,如存在则对该员工录入新的信息,不存在则操作无效。如图2-3.修改员工信息结束开始按编号查找查找 是否满足要求 否是 图2-3 修改模块流程图4.查找模块成员函数Search(int);用于查找并输出指定员工工资信息,实现方式为在链表中查询满足给定条件的结点,也就是满足要求的某个职工的信息,输出对应信息数据。其流程如图2-4.输出查找结果结束是否满足要求开始输入要查找员工信息编号查找输入变量值 否是图2-4 查找模块流程图 第三章 系统测试1.测试

9、方法现阶段有以下几种测试方法,本系统主要采取白盒测试法。(1)白盒测试,英文是White Box Testing。又称结构测试或者逻辑驱动测试。白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的

10、功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。白盒测试常用工具有:Jtest、VcSmith、Jcontract、C+ Test、CodeWizard、logiscope。(2)黑盒测试,英文是Black Box Testing。又称功能测试或者数据驱动测试。黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。黑盒测试常用工具有:AutoRunner、winrunner(3)自动化测试,英文

11、是Automated Testing。使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试和功能测试中用得较多。通过录制测试脚本,然后执行这个测试脚本来实现测试过程的自动化。国内领先的自动化测试服务提供商是泽众软件。自动化测试工具有QTP、Testcomplete、AutoRunner和TAR等。(4)回归测试,英文是Regression testing。回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。根据修复好了的缺陷再重新进行测试。回归测试的目的在于验

12、证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。因此应当鼓励对所有回归测试用例进行自动化测试。2.测试用例本系统采用各个员工信息为数据原型进行测试,所用数据为:1 张三 男 42 人事部 经理 6000 1500 2 李四 男 41 技术部 经理 6000 15003 王五 女 35 宣传部 经理

13、6000 1500 4 马六 女 36 财务部 经理 6000 15005 程七 男 25 财务部 职员 2500 500 3.测试结果本系统主要完成基本信息的录入,删除,修改和查询功能。图3-1为本系统的菜单界面图3-1 系统菜单界面录入功能主要实现对企业员工信息的录入,图3-2 为员工工资信息录入功能测试界面。图3-2 员工工资录入功能测试界面修改功能主要实现对企业员工信息的修改,图3-3 为员工工资信息修改功能测试界面。图3-3员工工资信息修改功能测试界面删除功能主要实现对下岗企业员工信息的删除,图3-4 为员工工资信息删除功能测试界面。图3-4工工资信息删除功能测试界面查找功能主要实现

14、对指定企业员工信息的查找,图3-5 为指定员工工资信息查找功能测试界面。图3-5指定员工工资信息查找功能测试界面输出功能主要实现对全体企业员工信息以及公司平均工资的输出,图3-6 为全体员工工资信息以及平均工资输出功能测试界面。图3-6全体员工工资信息以及平均工资输出功能测试界面第四章 软件使用说明书系统运行环境(1).硬件环境:CPU :主频1.2 GHZ以上内存:128MB以上显卡:标准VGA,24为真彩色(2).软件环境:服务器 CPU:Pentium 双核 以上 ,内存:1G以上客户机 CPU:P4 以上,内存:256M以上 总 结经过短短两周的面向对象课程设计,我对面向对象课程设计有

15、了一个更深、更全面的了解,尤其体会到了C+面向对象操作对简化程序的重要作用。刚开始拿到课题时,我还是比较茫然的,看到如此庞大的工程,不知如何下手。思考了很久,也向老师同学请教了很多之后我发现其实可以化繁为简的。所以做任何事情都必须要开动脑筋,积极思考,有时还要学会化繁为简。同时在编译,链接,调试的过程中一定要有耐心。因为一个程序中往往会有这样那样的小错误,甚至有的问题要几个小时才能解决。遇到问题,一定要全面分析,看是由哪种原因造成的,有时候或许是由于我们的粗心。实在难以修改时还要向老师同学请教。总得来说,编程时极需要耐心的。总之,面向对象课程设计为我们提供了一个综合应用所学知识,解决实际问题的平台,增强了我们实践动手的能力和工程实践能力,并且锻炼和培养了我们的自学能力,让我们对C+有了一个更全面更深刻的了解。参考文献1面向对象技术C+,年福忠 庞淑侠,清华大学出版社,20152C+程序开发教程, 张基温, 清华大学出版社,20023C+语言教程, 吴祖峰 陈文宇 张松梅, 电子科技大学出版社,20084C语言程序设计(第二版), 谭浩强, 清华大学出版社,19995C+语言程序设计教程与实验,温秀梅 丁学钧,清华大学出版社,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论