面向对象实验设计
- 格式:docx
- 大小:226.95 KB
- 文档页数:23
面向对象实验设计
报告
班 级: 081105
学 号: 08110506
姓 名: 杜鹏
专 业: 软件工程
指导老师: 邹国华
2009/12/12
东华理工大学面向对象实验设计报告
1
目录
第1章设计要求.................................................................................................................... 2
1.1 本报告的实验课题 ............................................................................................... 2
第2章 程序设计过程........................................................................................................ 4
2.3 程序设计目的 ....................................................................................................... 4
2.3 程序设计目标 ....................................................................................................... 4
2.3程序实现思路.......................................................................................................... 5
2.1.1类的结构及其简单叙述............................................................................... 5
2.1.2系统功能模块图........................................................................................... 6
2.4系统流程截图.......................................................................................................... 7
2.5类的层次框图.......................................................................................................... 9
2.6完整程序代码........................................................................................................ 10
实验心得体会...................................................................................................................... 21
参考文献.............................................................................................................................. 22
东华理工大学面向对象实验设计报告
2
面向对象实验设计报告书
设计要求
实验课题
班 级081105
学生姓名杜鹏 学 号 08110506 专 业 软件工程
发题日期: 2009年12月07日 完成日期:2009年12月11日
题 目 公司人员管理系统
题目类型:课程设计技术专题研究理论研究软件系统开发
一、 设计任务及要求
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可迚行创新设计,如根据查找结果迚行修改的功能及设计出比友好的界面等。
4、写出设计说明书
二、 设计方法和基本原理
1、问题描述(功能要求):
某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。东华理工大学面向对象实验设计报告
3
现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
要求:
1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2)程序对所有人员有提升级别的功能
3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。
4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
东华理工大学面向对象实验设计报告
4
程序设计过程
程序设计目的
通过设计一个较为简单的《公司人员管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
程序设计目标
题目:公司人员管理系统
公司主要有四类人员:经理、销售经理、兼职技术员、兼职推销员。
某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
要求:
1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2)程序对所有人员有提升级别的功能
3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。
4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 东华理工大学面向对象实验设计报告
5
程序实现思路
类结构
建立一个抽象类person再进行派生。数据成员是protect;成员函数是public。
People派生出四个类:
{
manager 、salesmanager 、technician 、sales
}
此外要定义一个抽象类company,所有的人员的添加和删除都是在这个类的成员函数中实现的。此外包括数据的输入统计也都是基于这个类的成员函数实现的。
Company的成员函数包括:
Add(); 增加人员
Delete(); 删除人员
Modify(); 修改人员
Query(); 查询人员
Set(); 基础数据设置
Save(); 数据存盘(包括基础数据,人员数据)
Load(); 数据装入(包括基础数据,人员数据)
东华理工大学面向对象实验设计报告
6
person派生的每一个类都定义了〝重载〞输入输出input、output函数
△屏幕显示的数据通过调用无参的输入输出函数
△保存文件save()调用的是有参的输入输出函数
系统功能模块
1. 查询功能的实现:调用workerGetAmount()SetAmount迚行输出编号和姓名。再通P1是否为空来判断是否查找到。
2. Worker的信息:遍历链表,如果符合条件可以通过P1是否为空来判断是否查找到,也可以通过返回值是1和0来判断。
3. 删除:同样删除中的关键也是通过调用p1来判断要删除的人,然后删除对象。调用save()自动保存。
4. 排序:通过选择排序法。两个while循环,内循环找最小的编号,找到后存到一个空链表,再迚行外循环到第二小的编号,直到外循环迚行到空。返回新链表的地址。(每当链表的数据发生变化的时候就调用排序函数)
5. 统计:遍历链表找出符合条件的迚行输出
6. 修改:调用p1找到节点迚行重新赋值。调用save()自动保存。
7. 添加:先揑入到最后,再迚行排序。
8. 构造函数:读文件的实现:在读文件的时候利用构造函数读取文件里的所有内容,并且一一付给对象。再利用选择排序的方法将链表迚行从小到大的顺序迚行排序。