面向对象实验设计

  • 格式: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. 构造函数:读文件的实现:在读文件的时候利用构造函数读取文件里的所有内容,并且一一付给对象。再利用选择排序的方法将链表迚行从小到大的顺序迚行排序。