目录
1 需求分析
1.1 功能性需求分析
- 实现一个基于 Web 的学生成绩管理系统,以我们学校为例,可以记录学生在校时的各科成绩,并具备基本的分析查询功能。
- 只有任课老师才能录入所教课程的成绩,一个老师一学期可以上多门课程,一门课程可以由多个老师上,排课时以班级为单位。
- 数据库必须用 sqlserver,开发工具必须用 Eclipse,开发语言必须用 JSP。
1.2 非功能性需求分析
功能相对完善的能正常运行的系统,界面友好,容错性好,操作方便。
2 算法思想描述
采用 C/S 模式设计的信息管理系统要求在每个客户端安装客户端软件。而采用 B/S 模式设计的信息管理系统,只需要在客户机上安装一个浏览器,而不需要安装其他专门的软件,因此大大简化了客户端。
基于 Web 的学生成绩管理系统本质上是一系列操作数据库的接口。
3 数据流图
3.1 学生模块
学生的主要操作包括以下几个方面:
- 登录
- 查询成绩
- 查看个人信息
- 详细描述见下表。
操作模块 | 内容 | 外部数据 |
---|---|---|
登录 | 获取用户信息表中的账号、密码 | 用户信息表 |
查询成绩 | 显示该生所有选课的成绩 | 学生成绩表 |
查看个人信息 | 读取用户信息表和学生表中的信息 | 用户信息表,学生表 |
学生模块的数据流图如下:
3.2 教师模块
教师的主要操作包括以下几个方面:
- 登录
- 查看开设课程
- 查看选课名单
- 录入学生成绩
- 查看用户信息
- 详细描述见下表。
操作模块 | 内容 | 外部数据 |
---|---|---|
登录 | 获取用户信息表中的账号、密码 | 用户信息表 |
查看开设课程 | 显示该老师所有开设课程的信息 | 学生成绩表 |
查看选课名单 | 查看选了该教师某一门课程的学生的名单 | 选课表 |
录入学生成绩 | 录入学生成绩 | 成绩表 |
查看用户信息 | 读取用户信息表中的信息 | 用户信息表 |
教师模块的数据流图如下:
3.3 管理员模块
教师的操作主要包括以下几个方面:
- 登录
- 添加课程
- 添加班级
- 添加学生
- 添加教师
- 开设选课
- 查看课程信息
- 查看学生名单
- 查看教师名单
- 查看开课信息
详细描述见下表。
操作模块 | 内容 | 外部数据 |
---|---|---|
登录 | 获取用户信息表中的账号、密码 | 用户信息表 |
添加课程 | 添加授课内容 | 课程表 |
添加班级 | 添加行政班级 | 班级表 |
添加学生 | 添加学生,选择学生所在班级 | 学生表、用户信息表 |
添加教师 | 添加教师 | 教师表,用户信息表 |
开设选课 | 以班级为单位,选择授课教师,授课内容,授课班级 | 开设课程表 |
查看课程信息 | 显示所有课程的信息 | 课程表 |
查看学生名单 | 显示所有学生的信息 | 用户信息表,学生表 |
查看教师名单 | 显示所有教师的信息 | 用户信息表 |
查看开课信息 | 显示所有开设课程的信息 | 开设课程表 |
管理员模块的数据流图如下:
4 -R 图
4.1 教师与课程之间的关系
教师与课程之间是 n: n 的关系,即一个老师可以教多门课程,一门课程也可以由多个老师讲授。
(教师与学生 E-R 图)
4.2 学生与教师之间的关系
学生与教师之间是 n:m 的关系,即 一名老教授多个学生,而一个学生可以由多个教师来教。
教师与学生的 E-R 图
4.3 学生与课程之间的关系
学生与课程之间是 n:m 的关系,即一个学生可以选修多门课程,一门课程可以被多个学生选学。
学生与课程的 E-R 图
4.4 学生与成绩之间的关系
4.5 管理员与用户的关系
学生成绩管理 全局 E-R 图
5 数据字典
5.1 开设课程数据库 course
编号 cid | 课程名称 cname |
---|---|
1 | C |
2 | C++ |
3 | JSP |
4 | 编译原理 |
5 | 操作系统 |
6 | 马原 |
```c++
```
5.2 班级数据库 class
班级序号 clid | 班级名称 clname |
---|---|
1 | 1501 |
2 | 1502 |
3 | 1503 |
```c++
```
5.3 用户数据库 users
用户账号 uid | 用户密码 upass | 用户权限 upower | 用户姓名 uname | 用户年龄 uage | 性别 usex | 头像 umiage | 用户介绍 utext | 用户状态 ustate |
---|---|---|---|---|---|---|---|---|
admin | admin | 0 | 管理员 | 32 | 男 | 总管理员 | 1 | |
lec1 | 000 | 10 | 张老师 | 25 | 女 | 硕士级导师 | 1 | |
lec2 | 000 | 10 | 高老师 | 26 | 女 | 硕士级导师 | 1 | |
lec3 | 000 | 10 | 王老师 | 33 | 男 | 硕士级导师 | 1 | |
lec4 | 000 | 10 | 李老师 | 27 | 男 | 硕士级导师 | 1 | |
lec5 | 000 | 1 | John | 30 | 1 | |||
user1 | aaa | 1 | 小李 | 20 | 女 | 学霸 | 1 | |
user10 | aaa | 1 | 吴灿 | 21 | 1 | |||
user11 | aaa | 1 | 刘璐琦 | 21 | 1 | |||
user2 | aaa | 1 | 小王 | 21 | 男 | 学渣 | 1 |
5.4 教师数据库 lec
教师编号 lid |
---|
lec1 |
lec2 |
lec3 |
lec4 |
```c++
```
5.5 学生数据库 student
学生编号 sid | 班级 sclass |
---|---|
user1 | 1501 |
user2 | 1501 |
user3 | 1502 |
user4 | 1502 |
user5 | 1503 |
```c++ ...
```
5.6 课程数据库 sc
开课序号 scid | 课程编号 cid | 授课教师编号 lid | 授课班级 clname | 授课地点 scroom | 授课时间 sctime | 学分 sccredit |
---|---|---|---|---|---|---|
1 | 1 | lec1 | 1501 | J3-413 | 1-20 周 一(1-3 节) | 3 |
2 | 2 | lec2 | 1502 | J3-310 | 1-20 周 二(4-5 节) | 2 |
3 | 3 | lec1 | 1502 | J2-111 | 4-20 周 五(6-8 节) | 4 |
4 | 3 | lec1 | 1503 | S3-502 | 1-20 周 四(1-4 节) | 1 |
```c++
```
5.7 成绩数据库 grade
序号 gid | 开课序号 scid | 学生 ID sid | 成绩 ggrade |
---|---|---|---|
1 | 1 | user1 | 100 |
2 | 1 | user2 | 90 |
3 | 2 | user1 | 60 |
c++
...
6 程序结构
MVC 模式,JSP 只负责前端内容的展示。
服务器端分为 3 个部分:
- Servlet 充当控制器
- Dao 层访问数据库
- 模式层储存 JavaBean 类
7 收获与体会
通过此次课程设计,我对 JSP 程序开发的经验得到了增强,对于 JSP 中请求的转发理解更加深刻。数据库的设计,JSP 程序的框架,对于 JSP 的编写、Servlet 的编写都得到了增强。
这一次课程设计也让我感受到程序设计的困难之处,一个小小的 Bug 有可能需要相当长的时间来处理。虽然过程很痛苦,但是但你真正地通过自己找到了问题所在,那就是巨大的收获。
参考文献
- 基于B/S结构的课程辅助系统的设计与实现(电子科技大学·王明)
- 基于.NET的学生信息管理系统设计与实现(中国海洋大学·周立)
- 基于JSP的学生信息管理系统的设计与开发(吉林大学·郭政辉)
- 学生选课及成绩管理系统的设计与实现(华北电力大学(河北)·潘利平)
- 一个师范类院校的教师教学质量评估系统的研究与设计(吉林大学·沙岫)
- 学生管理系统设计与实现(电子科技大学·乔雪)
- 学生管理系统的设计与实现(电子科技大学·贾林蓉)
- 基于Internet的学生信息管理系统——学生成绩管理系统(电子科技大学·游应德)
- 基于B/S结构的学生成绩管理系统的设计与实现(吉林大学·印明阳)
- 职业学校学生成绩管理系统的设计实现(河北科技大学·黄丽娟)
- 基于JSP技术动态教学管理系统设计与实现(电子科技大学·董豪)
- 学生成绩管理系统设计与实现(电子科技大学·王喆)
- 网络教学管理平台的设计与实现(大连海事大学·米滢)
- 基于Web的学生成绩管理系统的设计与实现(吉林大学·张丽娟)
- 基于.net的高校学生成绩管理系统设计与实现(吉林大学·黄学寿)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码导航 ,原文地址:https://m.bishedaima.com/yuanma/35932.html