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

上传人:jian****018 文档编号:8437861 上传时间:2020-03-29 格式:DOC 页数:19 大小:223KB
返回 下载 相关 举报
面向对象课程设计文档(企业工资管理系统).doc_第1页
第1页 / 共19页
面向对象课程设计文档(企业工资管理系统).doc_第2页
第2页 / 共19页
面向对象课程设计文档(企业工资管理系统).doc_第3页
第3页 / 共19页
点击查看更多>>
资源描述
摘 要企业工资管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对信息的管理,其中包括:录入,删除,修改,查询以及统计等主要功能。本系统的开发采用面向对象的设计思想。系统的介绍了企业工资管理系统的开发过程及面向对象思想的具体实现。关键词: 面向对象;工资管理; 第一章 系统总体设计企业工资管理系统是一套功能强大、操作简便而又实用的员工工资管理软件,它可以被广泛的应用于各种小型企业员工工资管理中。开发此企业工资管理系统的目的为了克服传统工资管理中遇到的诸如管理人员水平有限,耗费精力大,信息糅杂人力难以处理等问题,根据对现有工资管理模式的分析,确定了该系统需实现以下功能:(1)系统以菜单方式工作;(2)录入信息用文件保存;(3)能完成对职工信息的录入、修改、删除;(4)能按职工号进行工资统计,并计算企业平均工资;(5)能查询职工信息和职工工资信息;(6)能按职工名输出工资单。1.系统功能模块图根据用户需求,本系统将主要实现以下功能:企业工资管理系统录入员工工资信息删除指定员工工资信息修改指定员工工资信息退出系统输出全体员工工资信息查找指定员工工资信息图1-1 系统功能模块图其中:(1)录入模块录入模块的功能是创建存储职工工资信息的存储系统以及添加某职工的工资信息。为实现录入的功能,有两个方面的任务:定义结构体以及建立链表。(2)删除模块删除模块的功能是删除某职工的工资信息。(3)修改模块修改模块的功能是修改某职工的部分工资信息。(4)查找模块查找模块的功能就是输出指定编号职工的工资信息。(5)输出模块输出模块的功能是输出当月全体职工的工资信息以及企业员工平均工资。(6)退出模块退出模块用来退出本系统。2.类的设计与分析 本系统只有1个员工类Worker,其各成员说明如下表:类成员函数说明表名称属性说明head数据成员链表头结点指针Worker()成员函数缺省的构造函数,缺省值为head=NULLvoid 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)成员函数存储函数 第二章 详细设计本系统主要功能包括:录入员工工资信息、删除指定员工工资信息、修改指定员工工资信息、查询指定员工工资信息、输出所有员工工资信息及公司平均工资等。 其各项功能都由员工类来实现。员工类的定义如下:class Workerprotected:Worker_pay * head; /链表的头结点指针public:Worker()head=NULL; /构造函数void Display(Worker_pay *); /输出函数 Worker_pay * Find(int); /查找函数int ListCount(); /统计员工人数函数 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,float,float); /存储函数;1录入模块成员函数Recoreinfo( );主要功能是录入并存储员工工资信息,实现方式为:打开info1.txt文件,若成功则读取从键盘输入的要添加的员工信息并写入文件,然后关闭info1.txt文件。如图2-1所示。返回主界面开始打开文件?录入并存储信息结束否 是 图2-1 录入模块流程图2.删除模块删除该员工信息结束是否找到是否满足要求开始按编号查找查找 成员函数RemoveItem(int );主要功能为删除指定员工工资信息,实现方式为根据输入职工的编号查到该职工,如存在便在链表中删除指定员工工资所在的结点,不存在则无效。如图2-2. 否 是 是 否 图2-2 删除模块流程图 3修改模块成员函数ReplaceItem(int);主要功能为修改指定员工工资信息,实现方式为根据输入的员工编号查到该员工,如存在则对该员工录入新的信息,不存在则操作无效。如图2-3.修改员工信息结束开始按编号查找查找 是否满足要求 否是 图2-3 修改模块流程图4.查找模块成员函数Search(int);用于查找并输出指定员工工资信息,实现方式为在链表中查询满足给定条件的结点,也就是满足要求的某个职工的信息,输出对应信息数据。其流程如图2-4.输出查找结果结束是否满足要求开始输入要查找员工信息编号查找输入变量值 否是图2-4 查找模块流程图 第三章 系统测试1.测试方法现阶段有以下几种测试方法,本系统主要采取白盒测试法。(1)白盒测试,英文是White Box Testing。又称结构测试或者逻辑驱动测试。白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。白盒测试常用工具有:Jtest、VcSmith、Jcontract、C+ Test、CodeWizard、logiscope。(2)黑盒测试,英文是Black Box Testing。又称功能测试或者数据驱动测试。黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。黑盒测试常用工具有:AutoRunner、winrunner(3)自动化测试,英文是Automated Testing。使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试和功能测试中用得较多。通过录制测试脚本,然后执行这个测试脚本来实现测试过程的自动化。国内领先的自动化测试服务提供商是泽众软件。自动化测试工具有QTP、Testcomplete、AutoRunner和TAR等。(4)回归测试,英文是Regression testing。回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。因此应当鼓励对所有回归测试用例进行自动化测试。2.测试用例本系统采用各个员工信息为数据原型进行测试,所用数据为:1 张三 男 42 人事部 经理 6000 1500 2 李四 男 41 技术部 经理 6000 15003 王五 女 35 宣传部 经理 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工工资信息删除功能测试界面查找功能主要实现对指定企业员工信息的查找,图3-5 为指定员工工资信息查找功能测试界面。图3-5指定员工工资信息查找功能测试界面输出功能主要实现对全体企业员工信息以及公司平均工资的输出,图3-6 为全体员工工资信息以及平均工资输出功能测试界面。图3-6全体员工工资信息以及平均工资输出功能测试界面第四章 软件使用说明书系统运行环境(1).硬件环境:CPU :主频1.2 GHZ以上内存:128MB以上显卡:标准VGA,24为真彩色(2).软件环境:服务器 CPU:Pentium 双核 以上 ,内存:1G以上客户机 CPU:P4 以上,内存:256M以上 总 结经过短短两周的面向对象课程设计,我对面向对象课程设计有了一个更深、更全面的了解,尤其体会到了C+面向对象操作对简化程序的重要作用。刚开始拿到课题时,我还是比较茫然的,看到如此庞大的工程,不知如何下手。思考了很久,也向老师同学请教了很多之后我发现其实可以化繁为简的。所以做任何事情都必须要开动脑筋,积极思考,有时还要学会化繁为简。同时在编译,链接,调试的过程中一定要有耐心。因为一个程序中往往会有这样那样的小错误,甚至有的问题要几个小时才能解决。遇到问题,一定要全面分析,看是由哪种原因造成的,有时候或许是由于我们的粗心。实在难以修改时还要向老师同学请教。总得来说,编程时极需要耐心的。总之,面向对象课程设计为我们提供了一个综合应用所学知识,解决实际问题的平台,增强了我们实践动手的能力和工程实践能力,并且锻炼和培养了我们的自学能力,让我们对C+有了一个更全面更深刻的了解。参考文献1面向对象技术C+,年福忠 庞淑侠,清华大学出版社,20152C+程序开发教程, 张基温, 清华大学出版社,20023C+语言教程, 吴祖峰 陈文宇 张松梅, 电子科技大学出版社,20084C语言程序设计(第二版), 谭浩强, 清华大学出版社,19995C+语言程序设计教程与实验,温秀梅 丁学钧,清华大学出版社,20086Visual C+面向对象编程教程(第2版),王育坚,清华大学出版社, 20037C+面向对象程序设计教程, 陈维兴 林小茶, 清华大学出版社,2009致谢通过短短两周的课程设计,我学会了很多东西。不只仅限于对C+知识方面的认识理解,同样让我认识到集体力量的重要性。在设计的途中,我也不是一帆风顺的,遇到了各种各样的问题。在这里,我对那些在课设中抽出时间给予我帮助的老师同学们献上真诚的感谢。谢谢你们给我的帮助,让我可以顺利的完成本次课程设计。祝你们在今后的工作生活中身体健康,万事如意!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!