课 程 设 计 报 告
课程名称 课题名称
专 业 班 级 学 号 姓 名 指导教师
年 月 日
湖南工程学院 课 程 设 计 任 务 书
课程名称 面向对象程序设计 课 题
专业班级 学生姓名 学 号 指导老师 乔汇东、胡瑛、罗敬 审 批
任务书下达日期 年 月 日 任务完成日期 年 月 日
一、设计内容与设计要求
1.课程设计目的:
面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
2.课题题目
⑴公司库存管理系统 ⑵高校学籍管理系统 ⑶高校工资管理系统 ⑷高校人事管理系统 ⑸文件加密管理系统
3.设计要求:
⑴设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释)
⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。 ⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排
第 周 星期 时:分——时:分
星期 时:分——时:分
星期 时:分——时:分
星期 时:分——时:分
课题1:公司库存管理系统
(一)、课程设计题目:
某公司的库存管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理:
1、问题描述(功能要求):
某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、入库和出库、保存的功能。
普通电视机有下列属性:尺寸、类型(液晶或等离子) 、售价、重量、品牌、入库编号
DVD有下列属性:规格(高清、蓝光高清、普通)、重量、售价、品牌、入库编号 带DVD的电视机是上两者的派生类,但请注意有些属性的重复问题。 2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(5)完成系统的应用模块; (6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
课题2:高校学籍管理系统
(一)、课程设计题目:
高校学籍管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理:
1、问题描述(功能要求):
(1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。 (2)能够将指定的信息从文件中删除。
(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。 (4)可以统计全部学生的总成绩,及其在班上的排名。 (5)能够统计各科的平均成绩及及格率。
(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。 (7)如果检索不到相应的信息应提示用户。 (8)扩展要求:能先行设置本学期的科目 每个学生信息应该包括:姓名、学号、成绩
成绩信息应该包括:科目数量、各科目名称、各科目成绩 2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤: (1)写出需求分析(做什么);
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)用户界面的设计;
(7)分析系统功能模块(系统流程图); (8)代码编写,功能调试;
(9)完成系统总结报告以及系统使用说明书。
课题3:高校工资管理系统
(一)、课程设计题目:
高校工资管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理:
1、问题描述(功能要求):
现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。
相关信息:
每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:
其中工资的基本构成如下:
教师: 基本工资+课时费; 实验员: 基本工资+实验室补助; 行政人员: 基本工资+行政补贴;
行政人员兼职教师:基本工资+行政补贴+课时费;
其中课时费计算:教师每一学期的基本工作量为120,教师兼职实验员每学期基本工作量为70,行政人员没有基本工作量,若每节课时费为20元;课时费=(上学期工作量-基本工作量)*20;
注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负
值。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤: (1)写出需求分析(做什么);
(2)分析系统中的各个实体之间的关系及其属性和行为; (3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)用户界面的设计;
(7)分析系统功能模块(系统流程图); (8)代码编写 ,功能调试;
(9)完成系统总结报告以及系统使用说明书。
课题4:高校人事管理系统
(一)、课程设计题目:
高校人事管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理:
1、问题描述(功能要求):
某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、级别、职称、政治面貌、最高学历、任职时间、来院时间、工资。
其中行政人员只有职务和级别,教师只有职务和职称,一般员工只有职务,退休人员则没有职务、级别、职称,但有退休时间。
要求:
(1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询;
(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;
(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);
(5)保存功能:能对输入的数据进行相应的存储,(扩展要求:要求重载插入和提
(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
课题5:文件加密管理系统
(一)、课程设计题目:
高校人事管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理:
1、问题描述(功能要求):
能对任何文件进行加密,加密后形成的文件应与原文件同名。加密后的文件能被识别,并在有有效密码的情况下能解密恢复原文件。加密算法可自行选择,每次加密需要输入密码。
设计成员管理模式,每个成员正确输入编号和登录密码后才能进入系统,进行操作。每个成员进入系统后,可以执行加密,解密和查找三个动作,其中查找功能是该成员在登录后查找其曾经加密过的文件以及加密此文件时所使用的密钥。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤: (1)分析加解密算法的有关步骤; (2)完成文件加解密的基本操作; (3)根据问题描述,设计系统的实现模式;
(4)完成类层次中各个类的描述(包括属性和方法);
(6)完成系统的应用模块; (7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
目 录
1. 2. 3. 4. 5. 6.
系统需求分析 .............................................................................................................. 1 总体设计 ...................................................................................................................... 1 详细设计 ...................................................................................................................... 1 系统调试 ...................................................................................................................... 1 结果分析 ...................................................................................................................... 1 总结 .............................................................................................................................. 1
1. 系统需求分析
(给出你所设计题目拟满足的用户需求,给出系统设计目标,系统拟实现的功能。)
2. 总体设计
(包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。)
3. 详细设计
(类层次图;各功能模块实现等)
4. 系统调试
(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)
5. 结果分析
(总结自己独到的设计特点和不足之处。)
6. 总结
(总结进行本次课程设计的感想和体会。)
(表格或图必须加上表号或图号以及相应的说明,下面是示例)