1、数据结构学生成绩管理系统报告数据结构大型实验报告班级:计算机1402姓名:学号:指导老师:2016年7月15日1 软件需求分析 11.1 软件达到的目的 11.2 软件功能说明 11.3 设计环境 12 系统设计 12.1 数据结构设计 12.1.1 主要数据结构类型的分析与选择(逻辑结构) 12.1.2 数据结构中的数据对象以及具体的操作的确定 12.2 对象设计 12.2.1 系统中的类及对象 12.2.2 类图设计 12.3 消息设计 12.3.1 对象之间的消息传递说明 12.3.2 关键算法设计 12.4 界面设计 13 系统实现 23.1 类的定义(存储结构) 23.2 关键源代码
2、的实现 23.2.1 主函数源代码 23.2.2 主要功能的实现(功能描述、流程图或N-S图) 23.3 软件测试(包括有效测试数据和无效测试数据) 24 结果分析与总结 24.1 结果分析 24.2 总结 21 软件需求分析1.1 软件达到的目的基础信息的输入。成绩的操作。查询功能。成绩统计。1.2 软件功能说明基础信息的输入:即根据输入信息新增学生,班级或课程。成绩的操作:输入指定学生的成绩,并能够对成绩进行修改或删除。查询功能:查询某学生的所有成绩,查询某个班所有学生的成绩,或查询某门课所有学生的成绩。成绩统计:以班级为单位统计不及格,及格,中,良,优的人数,或以课程为单位统计不及格,及
3、格,中,良,优的人数。1.3 设计环境操作系统:win10 pro 64位开发工具:Dev-C+新建工程2 系统设计2.1 数据结构设计2.1.1 主要数据结构类型的分析与选择(逻辑结构)学生管理,班级管理,课程管理与成绩管理中存储相应实例,使用链表存储,方便删除数据。2.1.2 数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象为学生,班级,课程与成绩。对应学生的操作为增加学生,修改学生的姓名或班级。对应班级的操作为增加班级,查看班级的学生成员,与统计班级成绩。对应课程的操作为增加课程,统计该课程的成绩。对应成绩的操作为增加成绩,修改成绩,查询成绩,与删除成绩。2.2 对象设计2.
4、2.1 系统中的类及对象学生学生管理班级班级管理课程课程管理成绩成绩管理2.2.2 类图设计系统的类图如图2.1所示。图2.1 系统类图2.3 消息设计2.3.1 对象之间的消息传递说明在设计类时设计接口,不同对象间通过接口传递消息。2.3.2 关键算法设计新增学生:同时在学生管理类和班级类中新增学生。修改学生信息:由于学生信息同时储存在学生管理类和班级类中,所以需要修改学生的话就需要同时修改学生管理类中的学生和班级类中的学生,修改班级类中的学生,通过旧班级名和学号查找到指定学生并删除,然后根据新班级名插入新学生完成修改学生信息的操作。课程成绩统计:输入课程名,在成绩管理类中搜索课程名对应的数
5、据并统计值。2.4 界面设计根据不同的功能设计不同的界面。主界面如下:1. 学生管理系统:2. 课程管理系统:2班级管理系统:3学生成绩管理系统:3 系统实现3.1 类的定义(存储结构)课程类:课程管理类:成绩类:成绩管理类:学生类:学生管理类:班级类:班级管理类:3.2 关键源代码的实现3.2.1 主函数源代码int main()int num;Score score;ClassManage cm;KchenManage kcs;StudentManage sts;init(cm, score, sts, kcs);menu();while(cinnum)switch(num)case 0:
6、studentmenu(sts, cm);break;case 1:kchenmenu(kcs, score);break;case 2:classmenu(cm, score);break;case 3:scoremenu(score, sts, kcs);break;case 4:SAVE(cm, score, sts, kcs);exit(0);default:cout请输入正确数据endl;break; system(cls);menu();return 0;3.2.2 主要功能的实现(功能描述、流程图或N-S图)新增学生功能:修改成绩功能:否否是是否是删除成绩功能:3.3 软件测试(
7、包括有效测试数据和无效测试数据)以登记成绩为例:无效数据:无效课程:无效成绩(小于0或大于100):有效数据:4 结果分析与总结4.1 结果分析该程序主要功能完成(对班级,课程的增加,学生和成绩的增删改查),结构稳定,并有合理的提示。但由于时间不是特别充裕,有些模块以及整个系统还有很多不完善的地方,如界面不够美观,部分操作较为繁琐,部分实现不够简洁,操作性不太友好等。4.2 总结通过这次数据结构实验的实践训练,进一步掌握了面向对象程序开发的思维方式,加深了对面向对象开发的各种优点的理解。对如何把现实中的一些关系转化为程序中类与类之间关系的实践过程有了一点了解,提高了编程能力,培养综合分析、解决问题的能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1