面向对象课程设计文档企业工资管理系统

上传人:n**** 文档编号:91584673 上传时间:2019-06-30 格式:DOC 页数:17 大小:223KB
返回 下载 相关 举报
面向对象课程设计文档企业工资管理系统_第1页
第1页 / 共17页
面向对象课程设计文档企业工资管理系统_第2页
第2页 / 共17页
面向对象课程设计文档企业工资管理系统_第3页
第3页 / 共17页
面向对象课程设计文档企业工资管理系统_第4页
第4页 / 共17页
面向对象课程设计文档企业工资管理系统_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《面向对象课程设计文档企业工资管理系统》由会员分享,可在线阅读,更多相关《面向对象课程设计文档企业工资管理系统(17页珍藏版)》请在金锄头文库上搜索。

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(int,float,float)成员

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

6、ring,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,float,float); /存储函数;1录入模块成员函数Recoreinfo(

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

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

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

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

11、试一般不需要人干预,通常在GUI、性能等测试和功能测试中用得较多。通过录制测试脚本,然后执行这个测试脚本来实现测试过程的自动化。国内领先的自动化测试服务提供商是泽众软件。自动化测试工具有QTP、Testcomplete、AutoRunner和TAR等。(4)回归测试,英文是Regression testing。回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。因此应当鼓励对所有回归测试用例进行自动化测试。2.测试用例本系统采用各

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号