### 华南农业大学软件工程综合性实验报告知识点梳理 #### 一、系统的需求描述与分析 **1.1 需求背景** 本项目旨在开发一个《课程成绩管理系统》,旨在为华南农业大学的教师们提供便捷的成绩管理工具,同时也能让学生查询自身成绩。系统需支持成绩的录入、查询、修改及删除等功能。 **1.2 成绩构成** 学生的最终成绩由以下几个部分组成: - **课堂点名成绩**:共三次点名,每次点名没到记0分,到了记100分。第一次点名占总成绩1%,后两次各占2%,合计5%。 - **课堂考试成绩**:三次考试,每次满分100分。前两次各占7%,第三次占6%,合计20%。 - **课后作业成绩**:三次作业,每次满分100分。前两次各占8%,第三次占9%,合计25%。 - **期末考试成绩**:一次考试,满分100分,占总成绩50%。 **1.3 功能需求** - **添加学生成绩**:输入学号,录入各项成绩,系统自动计算总评成绩并保存数据。 - **查看单个学生成绩**:输入学号查询该生的各项成绩和总评成绩。 - **修改学生成绩**:输入学号,修改指定学生的成绩。 - **删除学生成绩**:输入学号,确认后删除学生的所有成绩记录。 - **成绩统计**:包括平均分、最高分、最低分、优秀率、良好率、不及格率等统计指标。 - **学生查询成绩**:输入学号及验证码,验证通过后展示成绩详情。 #### 二、需求分析 **2.1 分层的数据流图** - **顶层图**:展示整个系统的高层次视图,包括输入数据流(如学号、成绩等)和输出数据流(如查询结果、统计结果等)。 - **0层图**:细化顶层图,展示各个主要处理流程。 - **加工1子图**:进一步分解添加成绩的过程。 - **加工6子图**:进一步分解成绩统计的过程。 **2.2 数据字典-数据流词条** - 定义系统中的每一个数据元素,包括数据流、数据存储、数据项等,明确其含义和格式。 **2.3 实体-关系模型** - 描述系统中的实体及其之间的关系,如学生、教师、成绩等实体及其关联关系。 **2.4 加工规约** - 对系统中的各个处理过程进行详细说明,包括输入、处理逻辑和输出等。 #### 三、设计 **3.1 软件体系结构设计** - **初始结构图**:展示系统初步的模块划分和数据流。 - **优化后的结构图**:对初始结构图进行优化,提升系统的可扩展性和维护性。 **3.2 接口说明** - **模块功能描述**:明确每个模块的主要职责。 - **模块名称**:采用易于理解的英文命名,并附带中文解释。 - **模块参数**:定义模块间交互的数据格式,包括输入参数和输出结果。 **3.3 各模块的内部设计** - 对每个模块进行详细设计,包括数据处理逻辑、算法实现等。 **3.4 界面设计** - 设计用户界面布局,确保界面友好、直观。 - 考虑用户体验,如响应速度、易用性等。 #### 四、测试 **4.1 测试添加学生成绩功能** - 检查系统能否正确录入并计算学生的总评成绩。 - 验证成绩录入的准确性。 **4.2 测试查看单个学生成绩功能** - 检查系统能否准确查询到指定学生的成绩。 - 验证查询结果的准确性。 **4.3 测试修改学生成绩功能** - 测试系统能否成功更新学生的成绩信息。 - 确保修改后数据的一致性。 **4.4 测试删除学生成绩功能** - 测试系统能否正确删除学生的成绩记录。 - 验证删除操作的安全性。 **4.5 测试成绩统计功能** - 检查系统能否准确统计各项成绩指标。 - 验证统计结果的正确性。 **4.6 测试学生查询成绩功能** - 测试学生能否顺利查询自己的成绩。 - 确保安全机制的有效性。 #### 五、课程收获 通过对本次综合性实验的学习和实践,学生不仅掌握了软件工程的基本理论知识,还锻炼了从需求分析到系统实现再到测试评估的全过程能力。此外,团队合作能力和项目管理技能也得到了显著提高。
- 粉丝: 36
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Java Servlet的在线购物系统.zip
- (源码)基于Java+Spring Boot的教务管理系统.zip
- 主要是Java技术栈的文章.zip
- (源码)基于Arduino平台的公共交通状态展示系统.zip
- (源码)基于Python和Raspberry Pi的PIC微控制器编程与数据记录系统.zip
- (源码)基于Linux系统的文件信息列表工具.zip
- (源码)基于Python和MXNet框架的ZJ League视频问题回答系统.zip
- (源码)基于C++的图书管理系统.zip
- (源码)基于C++的航班管理系统.zip
- ATmega328-Bootloader-Maker(使用ATmega328p芯片制作Arduino Uno R3开发板)