课程设计——基于jsp+servlet的高校选课管理系统

一、需求分析

  • 开发意义: 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求,需要借助计算机来进行现代化信息管理,从而提高管理的准确性与高效性。
  • 可行性: 传统人工管理成绩存在诸多弊病,比如准确性低、效率低等。计算机具有存储快、查找便利、准确性高的特点,能非常好的解决人工管理的弊病。
  • 应用环境:
    • Web服务器:tomcat8.5;
    • 编程工具Eclipse Java 2019-09;
    • 数据库:SQL sever 2017;
    • 技术路线: jsp+servlet+javabean;

1.1系统功能需求

系统功能框架介绍,处理模块描述。

  • 管理员:
  1. 查询教师名单;
  2. 添加教师信息;
  3. 修改教师信息;
  4. 删除教师信息;
  5. 查询学生名单;
  6. 添加学生信息;
  7. 修改学生信息;
  8. 删除学生信息;
  9. 查询课程信息;
  10. 添加课程信息;
  11. 修改课程信息;
  12. 删除课程信息;
  13. 修改登录密码;
  • 教师:
  1. 查看个人信息;
  2. 查看任课信息;
  3. 按照课程表信息开设课程;
  4. 取消个人已开课的课程;
  5. 按行政班级查看学生均绩及排名;
  6. 按任课课程查询学生单门成绩及排名;
  7. 按学年查询个人教授课程的平均成绩;
  8. 录入学生成绩, 自动更新该学生已修总学分;
  9. 修改登录密码;
  • 学生:
  1. 查看个人信息;
  2. 查看本人课程;
  3. 选课与退选;
  4. 按学年查询考试成绩;
  5. 修改登录密码;

图1.1.1 系统功能需求

1.2 其他性能需求

  1. 分管理员、教师、学生不同身份登录,并给予不同的权限,提高系统安全性;
  2. 使用前端验证保证用户的输入正确。
  3. 创建触发器及存储过程,保证完整性。
  4. 充分考虑系统报错情况,尽量防止系统崩溃。

二、概念结构设计

2.1实体关系分析

  1. 开设班级,每个班级包含若干学生;
  2. 课程由教师开设;
  3. 同一门课可能有多个教师开课,一个教师在一学期可能开多门课程;
  4. 需要考虑不同学年,并以学年制管理学籍;
  5. 不考虑按照班级直接开课的情况,即所有课程均由学生自由选择;
  6. 一个学生只能选择某位老师的开的某个课程,即学生不能同时选择同一门两个不同老师开的课程;
  7. 不存在两个及以上老师联合开课的情况,即不存在两个及以上教师负责同一教学班的情况。

2.2 E-R图

基于以上分析可得以下E-R 图:
在这里插入图片描述
在这里插入图片描述

三、逻辑结构设计

3.1关系模式设计

将E-R图转换为以下关系模式:(加粗代表主键,斜体内容表示外键)

  • 班级(班级编号, 班级名称)
  • 学生(学号, 姓名, 性别, 年龄, 生源所在地, 已修学分总数, 登录密码, 班级编号)
  • 课程(课程编号, 课程名称, 学时, 考试或考查, 学分)
  • 教师(教师编号, 姓名, 性别, 年龄, 职称, 电话, 登录密码)
  • 开课情况(开课编号课程编号, 任课教师编号,开课学年, 开课学期,学号,成绩)
  • 选课情况(开课编号学号,成绩)

3.2数据类型定义

对关系模式中的属性定义类型、长度和约束:

  1. 班级
数据项名数据类型长度完整性约束备注
班级编号nvarchar4主键,唯一,非空
班级名称nvarchar20非空
  1. 学生
数据项名数据类型长度完整性约束备注
学号nvarchar12主键,唯一,非空
姓名nvarchar5非空
性别nvarchar1非空
年龄int4非空
生源所在地nvarchar20非空
已修学分总数float4
登录密码nvarchar20非空
班级编号nvarchar4外键,非空
  1. 课程
数据项名数据类型长度完整性约束备注
课程编号nvarchar5主键,唯一,非空
课程名称nvarchar20非空
学时int4非空
考试或考查bit1非空
学分float4非空
  1. 教师
数据项名数据类型长度完整性约束备注
教师编号nvarchar5主键,唯一,非空
姓名nvarchar20非空
性别nvarchar1非空
年龄int4非空
职称nvarchar10非空
电话nvarchar20非空
登录密码nvarchar20非空
  1. 开课选课情况
数据项名数据类型长度完整性约束备注
开课编号nvarchar15主键,唯一,非空
课程编号nvarchar5外键,非空
任课教师编号nvarchar5外键,非空
开课学年nvarchar4非空
开课学期bit1非空
  1. 选课情况
数据项名数据类型长度完整性约束备注
开课编号nvarchar15联合主键,也均为外键
学号nvarchar12
成绩int4
  • 33
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的代码家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值