面向对象课程设计报告---学生成绩管理系统
课 程 设 计 任 务 书 课程名称 面向对象程序设计 课题 学生成绩管理系统 专业班级计算机 学生姓名 学号 指导老师李珍辉 陈淑红 李杰军 审批 任务书下达日期 2011 年 11月 15日 任务完成日期 2011 年 12月 28日 一一、、设设计计内内容容与与设设计计要要求求 1.1.课程设计目的:课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一, 是学习完 《面向对象程序设计》 课程后进行的一次全面的综合练习。 要求学生达到熟练掌握 C++语言的基本知识和技能; 基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单 的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.2.课题题目课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3 3.设计要求:.设计要求: ⑴ 设计课题题目: 每位同学根据自己学号除以每位同学根据自己学号除以 1010 所得的余数加所得的余数加 1 1 选择相选择相 应题号的课题。随意应题号的课题。随意换题者不记成绩。 ⑵ 根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图) ;输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图) 。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R 图) ;数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释) ⑶ 按规定格式完成课程设计报告,将其打印稿(A4 纸)上交给老师存档。 ⑷ 不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。 二 、 进 度 安 排 第 17 周星期一 8:00——12:00 星期二 8:00——12:00 星期四 8:00——12:00 第 18 周星期一 8:00——12:00 星期二 14:30——18:30 星期三 8:00——12:00 课题课题 6 6:学生成绩管理系统:学生成绩管理系统 (一)(一) 、课程设计题目:、课程设计题目: 学生成绩管理系统 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求) : 设计一个实用的小型学生成绩管理程序,具有查询,检索和删除功能,并且能够打 开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现,充分体现面向对 象的程序设计特点。 要求: 实现主要功能:建立文件,文件的存取和显示,删除记录,查询记录。可以随时检 索,删除,或增加记录,也可以保存或取消新的记录。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法) ; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书 目录 1.系统需求分析 .错错误误! !未定义书签。未定义书签。 2.总体设计 .错错误误! !未定义书签。未定义书签。 3.详细设计 .错错误误! !未定义书签。未定义书签。 4.系统调试 .错错误误! !未定义书签。未定义书签。 5.结果分析 .错错误误! !未定义书签。未定义书签。 6.总结 .错错误误! !未定义书签。未定义书签。 7.程序代码 .错错误误! !未定义书签。未定义书签。 1. 系统需求分析 系统设计的目的与意义:系统设计的目的与意义: 现在的学校学生数量较多,各样的考试也比较频繁,因此需要一个学生成绩管理 系统来对学生的成绩进行管理。 系统功能需求:系统功能需求: 本系统有四个类,Score 类、Subject 类、Student 类、Class 类,存储学生的个人 信息、考试科目及成绩信息。有学生成绩信息录入、学生成绩信息修改、学生成绩信息 显示、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。 2. 总体设计 系统功能分析:系统功能分析: 系统通过调用函数来实现学生成绩信息录入、学生成绩信息修改、学生成绩信息删 除、学生成绩信息查询以及数据保存文件等功能。Insert()函数用于录入学生成绩及 信息;Update1()函数用来修改学生成绩及信息;Show()函数用于显示所有已有的 记录;Delete()函数用来删除学生成绩及信息;Search1()及Search2()函数用来 查询及信息;Save()函数用于将输入的信息存入文件内;主函数main()用于调用这 些函数。 系统功能模块划分与设计:系统功能模块划分与设计: 本系统定义了 Score 类、Subject 类、Student 类以及 Class 类这四个类,定义了 Insert() 、Update1() 、Show() 、Save() 、Delete() 、Search1()及 Search2() 等函数来实现系统所需功能。 系统功能模块图:系统功能模块图: 学 生 成 绩 学 生 成 绩 学 生 成 绩 学生成绩管理系统 无 此 记 学 生 成 绩 显 示 全 部 记 录 存 入 退 出 系 查 询 成 录 入 成 无 此 记 删 除 成 无 此 记 修 改 成 显 示 成 保 存 成 退 出 成 3. 详细设计 分数类的设计分数类的设计: : 该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。 图 Score -score:int +Score(s:int=0) 科目类的设计科目类的设计: : 该类定义了一个 Score 类类型的变量,定义了一个字符数组用来存放科目名称,定 义了设置和显示私有成员的函数。 Subject -subject[20]:char -sc:Score +Subject() 图 学生类的设计学生类的设计: : 该类定义了一个 Subject 类类型的数组,一个字符型数组和一个字符变