目录
第一章 系统总体设计
每个学校都需要在期末进行考试成绩的统计分析工作,而这些工作都必须在考试结束后一个星期的时间内完成。大量的成绩数据的统计工作如果只靠人工完成,费时费力,还容易出错。随机计算机技术的快速发展,计算机在日常管理应用中迅速普及,利用计算机进行学生成绩管理势在必行。因此需要开发出一个满足学校进行成绩的录入、查询、修改等需求的功能完善,安全可靠,迅速便捷的成绩管理系统。
1.2.1 系统设计目的
开发出一个操作简便、界面友好、灵活实用、安全可靠的学生成绩管理系统。该系统的开发以任课教师和学生服务为对象,能够提高学校对学生成绩的统计分析效率,减轻教务管理人员对学生成绩管理和统计的负担,能提高学校对学生成绩的规范化管理。
该成绩系统能够及时对学生成绩进行收集整理,使学校相关部门及时获取可靠的学生成绩信息,便于管理。方便各任课教师记录,统计所带班级学生成绩,提高工作效率,减轻负担,提高教学质量。实现快速方便地处理大量成绩数据信息,完成成绩的录入、修改、删除、查询等处理要求。方便学生查询自己各科目成绩。
1.2.2 系统概述
本系统能够实现学生线上选课、查看成绩等操作。采用python+flask+mysql的方式,未做服务器部署,可以在单机上测试运行
前端则借鉴了网上找到的前端页面模板,在此基础上修改,主要技术是html+css+js,前后端分离开发,使用postman等工具进行接口测试
1.2.3 系统功能要求
- 系统分三种类型用户:管理员、教师、学生,不同用户权限不同。
- 学生可以登录查看个人信息,查看各科成绩以及修改密码。
- 教师可以登录查看个人信息,进行课程的管理,学生成绩统计,修改登录密码。
- 管理员能对学生、教师、课程、专业、专业选课信息进行增删改查。
- Windows10 操作系统
- PyCharm Community Edition 2022.1.1
- MySQL 8.0
第二章 需求分析
本系统将开发一个学生成绩管理的系统。通过调研学生学习情况,老师教学
情况,对学生成绩进行分析,确定学生成绩管理系统主要有三类用户角色:学生、
教师、管理员。他们各自的主要信息处理需求如下:
管理员用户
- 对教师的信息进行增、删、改、查。教师的信息包括教师编号、姓名、性别、出生年份。
- 维护学生的基本信息,实现对学生个人信息的增、删、改、查,学生信息包括学号、姓名、性别、出生年份、籍贯、入学年份、专业编号及名称。
- 维护课程的基本信息,实现对课程信息的增、删、改、查,课
程信息包括课程编号、课程名、学分、开课学年、开课学期、授课教师编号及名称。
- 对专业信息进行管理,实现对专业的增、删、改、查,其中专业包括专业编号、专业名称、学生数量。
- 维护专业选课的基本信息,实现对选课信息的增、删、改、查,选课信息包括专业编号、专业名称、课程编号、课程名称。
学生用户:
- 查询个人信息。
- 学生可以查看自己所选课程信息及以前所选课程的成绩信息。
- 学生可查询课程对应的教师。
- 修改登录密码
教师用户:
- 查询个人信息。
- 查看所教的课程信息,以及选此课程的学生信息。
- 对学生成绩进行修改,查看课程统计。
系统涉及的主要数据源有学生数据、教师数据、管理员数据,产生课程信息表、专业信息表、专业选课表等各表单。结合业务处理需求,系统数据流图如图所示。
图2-1 实体说明
根据需求分析所获得的业务需求和数据需求,可以定义系统的功能结构图如图3-1所示。
图3-1 学生成绩管理系统功能结构
各模块详细功能如下:
3.1.1学生模块
- 学生通过自己的学号,初始密码为学生编号;
- 查看各科课程信息,所学课程任课教师,查看所学课程成绩;
- 个人密码修改:当前密码、两次新密码输入验证后进行密码修改;
3.1.2 教师模块
(1)教师通过教师编号登录,初始密码为教师编号;
(2)课程管理:教师对教授的课程进行成绩录入修改,统计不同分数段的学生人数;
(3)修改个人账户密码,前密码、两次新密码输入验证后进行密码修改;
3.1.3 管理员模块
- 管理员登录,用户名为admin,密码为asdfg13579;
- 查看学生信息,并且对其进行添加、修改、删除;
- 查看教师信息,并且对其进行添加、修改、删除;
- 查看课程信息,并且对其进行添加、修改、删除;
- 查看专业信息,并且对其进行添加、修改、删除;
- 查看专业选课信息,并且对其进行添加、修改、删除;
3.2 数据库概念结构设计
3.2.1 概念结构
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、 更准确地用某一 DBMS 实现这些需求。
概念结构主要特点:
- 能真是、充分地反映显示世界,包括事物和事物之间的联系,能满足用户
对数据的处理要求,是对现实世界的一个只是模型;
- 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参
与是数据库设计成功的关键。
- 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
- 易于向关系、网状、层次等各种数据模型转换;
概念结构时各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
3.2.2学生成绩管理系统概念结构设计
现在对所设计系统的需求作进一步的分析,产生概念结构设计的 E-R 模型。由于这个系统并不复杂,因此可采用自顶向下的设计方法。自顶向下设计的关键是确定系统的核心活动。所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。确定了核心活动之后,系统就有了可扩展的余地。
3.2.3 E-R 模型
系统主要涉及学生、教师、管理员三个实体,学生与教师通过授课建立联系,一个学生学习多门课程,一个教师可以教多个学生;管理员通过管理分别与学生、教师建立联系;另外还有课程、专业、专业选课、成绩等实体;分析定义各实体的属性,建立实体联系模型的E-R图如下所示。
图3-4 学生成绩管理系统E-R图
关系模式:
将数据库的概念模型转化为如下几个基本关系模式,属性标 的为主键,标有 的是外键;
学生(学号、姓名、性别、出生年份、籍贯、入学年份、专业编号、密码)
教师(教师编号、姓名、性别、出生年份、密码)
课程(课程编号、课程名、开课学年、开课学期、学分、教师编号)
专业(专业编号、专业名)
学生选课(学号、课程编号、成绩)
专业选课(专业编号、课程编号)
管理员(用户名、密码)
3.4 数据库物理设计
3.4.1 数据库表结构
数据库包括5个关系表,其中表3-5~3-10所示为表结构。
- student学生表:
字段 |
描述 |
取值说明 |
备注 |
student_id |
学生编号,主键 |