1 引言

1.1 目的

本系统设计报告是为了开发学生信息管理系统而编写。通过本系统,管理老师可以录入、修改、查找学生成绩;学生可以根据姓名学号查询学年各科成绩。
1.2 背景:

项目名称:学生成绩管理信息系统

2 总体设计

2.1 系统权限分配

根据需求分析,本系统将面向三种用户对象:系统管理员、各任课老师、在校学生。对于不同的用户,系统将分配不同的用户权限。

管理员拥有的权限如下:

  1. 对学生信息进行添加、删除、修改、查询
  2. 对教师信息进行添加、删除、修改、查询
  3. 对课程信息进行添加、删除、修改、查询
  4. 查看学生与老师信息并进行修改
  5. 查看学生选课信息、学生的各科成绩
  6. 对学生的选课信息进行添加、删除等操作

教师拥有的权限如下:

  1. 查看个人账户信息并修改登录密码
  2. 对学生成绩添加、修改、查询,查看学生个人信息与成绩排名

学生拥有的权限如下:

  1. 修改个人登录密码
  2. 查看自己的课表
  3. 进行选课
  4. 查询个人成绩

2.2 子系统设计

本系统可以细分成学生信息管理、教师信息管理、管理员信息管理这三个子系统。

学生信息系统

  1. 查询:
    学生可以通过系统对课表和各科成绩进行查询
  2. 密码管理:
    学生通过密码验证后可以修改登录密码
  3. 选课:
    学生可以通过系统进行选课并查询选课信息

教师信息系统

  1. 基本信息查询:
    老师可以通过该系统进行教师基本信息的查询
  2. 密码管理:
    通过密码验证后可以修改登录密码
  3. 学生信息查询:
    教师可以通过系统查询学生个人信息和学生成绩,并且可以通过系统按学生专业或课程进行排名查询。
  4. 学生成绩管理:
    教师可以通过系统对学生的成绩进行添加与更改

管理员信息系统

  1. 学生信息管理:
    管理员可以通过系统查询、添加、修改、删除学生个人信息,查询学生个人成绩与选课情况
  2. 教师信息管理:
    管理员可以通过系统查询、添加、修改、删除教师信息
  3. 课程管理:
    管理员可以通过系统查询、添加、修改、删除课程信息,为学生进行选课

2.3 软件结构

本系统是基于传统MVC(Model View Controller 模型-视图-控制器)结构设计创建的Web应用程序。具体使用JSP+JavaBean+Servlet结构具体编写系统:其中JSP相当于视图,用于实现建立动态网站所需要的功能,接受与响应客户端;JavaBean相当于模型, 用于配合JSP和Servlet来完成用户的请求;Servlet相当于控制器,通过JSP接受用户请求,调用以及初始化JavaBean来完成程序的功能,再通过JSP把结果显示在客户端。

数据库端

数据库方面使用关系型数据库MySQL来实现数据的存储与管理。

服务器端

服务器使用Tomcat Web应用服务器,用于支持JSP页面和Servlet的运行。

2.3.1 体系结构图

校园数据可视化分析 学校信息可视化设计_信息管理

2.3.2 系统结构图:

校园数据可视化分析 学校信息可视化设计_数据库_02

2.4 外部接口

2.4.1 用户接口

该系统通过Web浏览器与用户接口,所有输入输出界面样式均为Web页面,通过文本框输入,输出形式一般为文本框或者通过表格形式显示。

2.4.2 软件接口

本系统同其他系统之间没有特殊的公共接口、数据通信协议等。

3 模块设计

3.1 学生信息系统设计

3.1.1 功能

完成学生查询选课等各项功能。

3.1.2 性能

系统应能准确快速的根据提供学号查找相应的学生成绩或学生的个人课表,在大量的数据访问时也可以准确无误的完成选课功能。

3.1.3 内部接口

  1. 课表与成绩查询
  2. 课表查询

相关页面Showstucou.jsp

输入说明:

学号:由0至9的数字组成的11位字符串,前四位是入学时间,接下来的三位是专业代码,后面三位是专业班级,最后两位是个人学号。如:2013级编导系二班一号就是20132110201。

输出说明:

系统通过学号进行选课查询,在同页面以表格形式显示课程号、课程名、学分信息等。

与该模块相关的数据库表有:course, studentcourse, student

  1. 成绩查询

相关页面Searchmyself.jsp, Searchoneself.jsp, Searchothers.jsp

输入说明:

学号:由0至9的数字组成的11位字符串,前四位是入学时间,接下来的三位是专业代码,后面三位是专业班级,最后两位是个人学号。

输出说明:

系统通过登录信息或他人学号进行本人或他人成绩查询,在跳转页面以表格形式显示课程号,课程名,平时成绩,期末成绩,成绩,学分绩点。

与该模块相关的数据库表有:course, studentcourse, score, rank

  1. 个人密码管理

相关页面updateSpassword.jsp

输入说明:

原始密码:输入现用密码,可以是大小写字母、数字、符号。

新密码:输入想要使用的密码,可以是大小写字母、数字、符号。

确认密码:再次输入在新密码中输入的密码,确保两次密码输入一致。

与该模块相关的数据库表有:student

  1. 学生选课

相关页面selectcourse.jsp

输入说明:

在每个可选课程后有“选定”按钮,单击该按钮便可选定该课程。

输出说明:

系统在页面上以表格形式输出课程号,课程名,学分,课容量,选课按钮。

与该模块有关的数据库表有:student, course, studentcourse

3.2 教师信息系统设计

3.2.1 功能

完成教师查看个人信息、学生信息,修改密码等功能。

3.2.2 性能

系统应能准确快速的完成查询功能,并提供对查询结果更改的存储。系统应提供数据的录入功能,以便教师可以进行成绩录入。

3.2.3 内部接口

  1. 基本信息查询

相关页面showTinfo.jsp

本页面无输入内容。

输出说明:

系统在页面上以表格形式输出教工号、教师名。

与该模块有关的数据库表有:teacher

  1. 个人密码管理

相关页面updateTpasswork

输入说明:

原始密码:输入现用密码,可以是大小写字母、数字、符号。

新密码:输入想要使用的密码,可以是大小写字母、数字、符号。

确认密码:再次输入在新密码中输入的密码,确保两次密码输入一致。

与该模块相关的数据库表有:teacher

  1. 学生成绩管理

相关页面Searchonescore.jsp, updatescroe.jsp

输入说明:

平时成绩:输入该学生平时的课业成绩。

期末成绩:输入该学生的期末考试成绩。

提交:提交表单,录入成绩至数据库。

重置:清空已填表格。

输出说明:

系统以表格形式显示课程号,课程名,平时成绩,期末成绩,成绩,学分绩点。在最后以按钮形式提供教师修改成绩的跳转页面。

与该模块相关的数据库表有:student, course, score

  1. 学生信息查询

相关页面Showstuent.jsp, Rankcourse.jsp, Rankcourse2.jsp, Rankmajor.jsp, Rankmajor2.jsp

输入说明:

课程号:输入想查询学生排名的课程的课程编号。

专业号:输入想查询学生排名的专业的专业编号。

输出说明:

系统以表格形式输出所有学生名单,包括学号,姓名,专业,班级。在最后以按钮形式提供教师查询成绩的跳转页面。

系统以表格形式按提供的课程编号或专业编号输出学生成绩与相关排名。

与该模块相关的数据库表有:student,score

3.3 管理员信息系统

3.3.1 功能

完成管理员的相关功能

3.3.2 性能

系统应能准确快速的完成学生与教师信息的管理。能够快速便捷的进行课程管理。

3.3.3 内部接口

  1. 教师信息管理
  2. 添加教师:

相关页面addteacher.jsp

输入内容:

教师工号:手动添加新教师的工号。

教师姓名:手动添加新教师的姓名。

教师密码:为新教师手动添加登录密码。

本页面无输出内容

与该模块相关的数据库表有:teacher

  1. 显示教师信息

相关页面Showteacher.jsp

本页面无输入内容。

输出内容:

系统在页面上以表格形式输出教工号、教师名,并提供更改与删除按钮对每个教师进行编辑。

与该模块相关的数据库有:teacher

  1. 修改教师信息

相关页面Showteacher.jsp, Updateteacher.jsp

输入内容:

工号:手动修改教师的工号。

姓名:手动修改教师的姓名。

初始密码:为教师修改初始密码。

本页面无输出内容。

与该模块相关的数据库有:teacher

  1. 学生信息管理
  2. 添加学生:

相关页面addstudent.jsp

输入内容:

学号:手动添加新学生的学号。

姓名:手动添加新学生的姓名。

密码:为新学生手动添加登录密码。

班级:手动添加新学生所在班级。

专业:手动添加新学生所在专业。

本页面无输出内容

与该模块相关的数据库表有:student

  1. 显示教师信息

相关页面Showstudent.jsp

本页面无输入内容。

输出内容:

系统在页面上以表格形式输出学生学号,姓名,班级,专业,并提供修改与删除按钮对每个学生进行编辑,同时提供课程与成绩按钮可以通过跳转页面手动为学生选课与录入成绩。

与该模块相关的数据库有:student, course, studentcourse, score

  1. 修改学生信息

相关页面Showstudent.jsp, Updatestudent.jsp

输入内容:

学号:手动修改学生的工号。

姓名:手动修改学生的姓名。

初始密码:为学生修改初始密码。

班级:手动修改新学生所在班级。

专业:手动修改新学生所在专业。

本页面无输出内容。

与该模块相关的数据库有:student

  1. 课程管理
  2. 添加课程:

相关页面addcourse.jsp

输入内容:

课程号:手动添加新课程的编号。

课程名:手动添加新课程的名字。

教学班号:为新课程手动添加上课教室。

学分:手动添加新课程所占学分。

课容量:手动添加新课程的学时。

本页面无输出内容

与该模块相关的数据库表有:course

  1. 显示课程信息

相关页面Showcourse.jsp

本页面无输入内容。

输出内容:

系统在页面上以表格形式输出课程号、课程名,并提供更改与删除按钮对每个课程进行编辑。

与该模块相关的数据库有:course, studentcourse

  1. 修改教师信息

相关页面Showcourse.jsp, Updatecourse.jsp

输入内容:

课程号:手动修改课程的编号。

课程名:手动修改课程的名字。

教学班号:为课程手动修改上课教室。

学分:手动修改课程所占学分。

课容量:手动修改课程的学时。

本页面无输出内容。

与该模块相关的数据库有:course, studentcourse

4 数据库构成

数据库是由7张表组成,使用MySQL作为DBMS软件,各表的结构如下:

●manager管理员信息表

校园数据可视化分析 学校信息可视化设计_数据库表_03

● student教师信息表

校园数据可视化分析 学校信息可视化设计_数据库_04

●course课程信息表

校园数据可视化分析 学校信息可视化设计_校园数据可视化分析_05

●studentcourse学生选课信息表

校园数据可视化分析 学校信息可视化设计_信息管理_06

●score学生成绩表

校园数据可视化分析 学校信息可视化设计_信息管理_07

●rank学生平均学分积点表

校园数据可视化分析 学校信息可视化设计_校园数据可视化分析_08