您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计课程设计报告
院系:计算机科学技术学院二系班级:计11–1班姓名:孙广东(组长)合作者:冷英松刁群指导教师:薛曼玲2012年7月06日面向对象程序设计课程设计面向对象程序设计课程设计职职工工工工资资管管理理系系统统I面向对象程序设计课程设计任务书一、题目:职工工资管理系统二、设计要求(1)孙广东(组长)、刁群和冷英松组成设计小组。(2)小组成员分工协作完成,要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。(3)查阅相关资料,自学具体课题中涉及到的新知识。(4)根据实现的功能,划分出合理的对象类,明确对象类间的关系。为每个对象类设计正确的属性和方法,为每个方法设计合理的方法体。(5)编程简练,程序功能齐全,能正确运行。(6)课题完成后提交课程设计报告,格式规范,内容详实。其主要内容包括:1-封皮、2-课程设计任务书,3-指导教师评语与成绩、4-目录、5-需求分析、6-概要设计、7-详细设计(含主要代码)、8-调试分析与测试结果、9-用户使用说明、10-附录或参考资料。报告用A4纸打印,中文字体为宋体,西文字体用TimeNewRoma,小四号字,行距采用“固定值”18磅,首行缩进2字符。(7)课程设计报告内容的说明:需求分析-分析课题需要实现的功能以及要用到的知识点,分析课题涉及的对象间的关系;概要设计-根据实现的功能,划分出合理的对象类,明确对象类间的关系;为每个对象类设计正确的属性和方法,为每个方法设计合理的方法体;详细设计-具体的类、对象和功能的实现以及主要程序代码;调试分析与测试结果-用多组测试用例调试分析系统的正确性、完备性等各项性能指标,写出测试结果;用户使用说明-编写该系统的使用说明书;附录或参考资料-完整的程序代码以及查阅资料的参考文献。三、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。四、课程设计工作计划2012年6月25日,指导教师讲课,学生根据题目准备资料;2012年6月26日、27日、28日,设计小组进行总体方案设计和任务分工;每人完成自己承担的程序模块并通过独立编译;2012年6月29日~2012年7月5日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;同时撰写报告。2012年7月6日,验收;提交课程设计报告。指导教师签章:教研室主任签章II面向对象程学设计课程设计指导教师评语与成绩指导教师评语:课程设计表现成绩:课程设计验收成绩:课程设计报告成绩:课程设计总成绩:指导教师签章2012年7月6日I目录第1章需求分析.............................................................................................................11.1性能需求..............................................................................................................11.2功能需求..............................................................................................................1第2章概要设计.............................................................................................................22.1功能模块设计......................................................................................................22.2类的分析与设计..................................................................................................2第3章详细设计.............................................................................................................43.1Add()功能模块设计.............................................................................................43.2Delete()功能模块设计.........................................................................................53.3Print(charnu[])功能模块设计............................................................................73.4ZG::Display()和GZ::Print2功能模块设计........................................................83.5GZ::Change()功能模块设计................................................................................9第4章调试分析与测试结果.......................................................................................114.1调试分析............................................................................................................114.2测试结果............................................................................................................11第5章用户使用说明...................................................................................................14参考文献.............................................................................................................................15附录.............................................................................................................................161第1章需求分析1.1性能需求本课程设计以软件工程方法为指导,采用了多文件结构和面向对象的程序设计方法,以C++语言技术为基础,熟练面向对象程序设计(C++)实验指导和c++程序设计语言教科书的内容,使用visualC++6.0为主要开发工具,对职工工资管理系统进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。1.2功能需求需求分析-分析课题需要实现的功能以及要用到的知识点,分析课题涉及的对象间的关系;要开发职工工资管理系统程序,首先要分析改程序应实现哪些功能。对职工工资管理系统程序的功能需求可描述如下:程序运行后显示职工工资管理系统的操作界面,操作界面中有十个操作选项分别为:1.增加职工。2.查看所有职工。3.删除职工。4.增加工资信息。5.修改工资信息。6.删除工资信息。7.输出某职工工资信息。8.输出某月所有工资信息。9.保存信息。0.退出系统。这十个操作是工资管理系统要实现的功能。程序主要由职工(ZG)类和工资(GZ)类构成的,而两个类又是以结构体作为结点的。由于两个类有联系,程序是把工资(GZ)类声明为职工(ZG)类的友元,这样工资(GZ)类的成员就可以访问职工(ZG)类的所有成员了。所以在main(_)中有职工(ZG)类的对象A和工资(GZ)类的对象B,B是A的友元。2第2章概要设计2.1功能模块设计概要设计-根据实现的功能,划分出合理的对象类,明确对象类间的关系;为每个对象类设计正确的属性和方法,为每个方法设计合理的方法体;总体模块结构图如图2-1所示。图2-1软件总体模块图2.2类的分析与设计根据面向对象的程序设计思想,我把程序描述为职工和职工的工资两个对象,由这两个对象抽象描述出ZG类和GZ类两个。考虑到链表的删除和插入比数组方便很多,所以设计成为链表类,而链表又是由结构体的对象作为结点,来作为链表的数据成员,内有结点类型的指针,用来构建链表这种数据结构,所以整个程序到处都是指针的操作。两个类中都有Add(),Delete(),Read(),Write(),Print(),Pinrt(charnu[])等分别是向链表添加结点,从链表中删除结点,读取文件信息,写入文件信息,输出汉字提示,根据职工编号输出信息。classZG//定义一个职工类{Zhigong*head;//头指针Zhigong*p;//当前指针public:工资管理系统GZ类ZG类Add()函数Delete()函数Write()函数Read()函数Print(charnu[])函数Add()函数Delete()函数Write()函数Read()函数Print(charnu[])函数Display()函数Change()函数3ZG(){head=p=NULL;};voidAdd();voidDelete();//删除职工intSearch(charnu[]);//根据职工号查找voidReadFile();//从文件中读取职工信息voidWriteFile();//向文件写入职工信息voidDisplay();//在屏幕中输出全部职工信息voidPrint(charnu[]);//按职工编号输出所有职工的信息,带有返回值voidPrint();//输出汉字信息,多次使用。friendclassGZ;//、、、、两个类有了联系。};classGZ//定义一个职工类{Gongzi*head;//头指针Gongzi*p;//当前指针public:GZ(){head=p=NULL;};voidAdd();//增加voidDelete();//删除voidChange();voidReadFile();//从文件中读取职工信息voidWriteFile();//向文件写入职工信息voidPrint1();//按职工编号输出所有职工的工资信息intPrint1(charnu[]);//按职工编号输出所有职工的工资信息,带有返回值voidPrint2();//按月份输出所有职工的工资信息voidPrint();//输出表头};4第3章详细设计3.1Add()功能模块设计Add()函数在ZG类和GZ类中都有,并且设计思想基本相同,所以只作一份说明,此函数的功能实现的是,对链表的操作,主要是把刚建的结点,就是职工,用头插法连接到链表中。Add()函数模块的流程图如图3-1所示,和程序的主要代码。NY图3-1Add()函数的流程图{p=newZhigong;cout\t请输入职工编号:;cinp-zg.number;if(Search(p-zg.number)==0){cou
本文标题:面向对象程序设计课程设计报告
链接地址:https://www.777doc.com/doc-3261677 .html