JavaWeb项目练习(学生选课管理系统)一
打算做一个选课管理系统,作为期末的复习。
上需求
2.1 页面要求
(1)系统可以通过浏览器直接访问;(1分)
(2)各个功能页面整体风格统一;(2分)
(3)首页为用户登录页面,管理员、教师、学生三种角色用户登录后,进入相应的功能页,只能看到角色允许访问功能模块;(3分)

图1 学生选课系统功能结构图
(5)学生功能页:共包括查看个人信息、修改个人基本信息、修改个人密码、查询课程信息、自助选课、查询个人课表六项功能模块。
(6)教师功能页:包括查看教师个人信息、修改个人基本信息、修改个人密码、修改个人所教授课程部分信息,查询个人课表五项功能模块;
(7)管理员功能页:新添学生基本信息、修改学生基本信息、删除学生基本信息、新添教师基本信息,修改教师基本信息、删除教师基本信息、新添课程基本信息、修改教师基本信息、删除基本信息,密码重置十项功能模块。
2.2 功能要求
(1)新添学生基本信息:新添一名新学生基本个人信息,学生基本信息包括;学号(数据库中学号保持唯一、由系统自动生成、生成规则:学号由八位数字组成、开头以“2019XXXX”XXXX为四位依次递增的数字序号例如:“20190001、20190002……”)、姓名、性别(限定为“男”或“女”两个选项)、年龄、专业(要求限定在“计算机科学与技术”、“软件工程”、“网络工程”、“数字媒体技术”四个选项)、班级六项基本信息。(5分)
(2)修改学生基本信息(等同于学生功能页中修改个人信息):学号不允许修改,姓名、性别、年龄、专业、班级可以按照要求进行修改,不符合录入格式的,提交时不允许修改,并提示错误信息类型,返回修改界面。(2分)
(3)删除学生基本信息:管理员可以从系统中删除学生基本信息。(1分)
(4)新添教师基本信息:新增一名教师基本信息,教师基本信息包括:教师工号(唯一,六位数字组成,前两位表示学院代码“01表示信息、02表示土木、03表示机械、04、表示电气、05表示交通”,后四位为依次递增的数字序号,提交时应验证工号的正确性,如有误,则提示错误,反馈界面,不允许提交保存)、姓名、职称(职称限定在“助教”、“讲师”、“副教授”、“教授”四个选项)、所属学院(取值限定在“信息、土木、机械、电气、交通”五个选项,并与教师工号前两位形成校验关系);(5分)
(5)修改教师基本信息(等同于教师功能页中修改个人信息):可以修改教师工号,姓名、职称、所属学院,教师工号前两位与所属学院关联,修改任何一项,必须关联修改另外一项,修改提交时须验证是否符合录入格式的,不符合不允许修改,提示错误信息类型,返回修改界面。(2分)
(6)删除教师基本信息:管理员可以从系统中删除教师基本信息,但是如果教师已经承担相应课程,系统不允许删除。(1分)
(7)新添课程基本信息:管理员可以增加一门课程基本信息,课程基本信息包括:课程编号(唯一,六位数字序号,系统自动生成依次递增),课程名称、开课时间(取值限定在“星期一、星期二、星期三、星期四、星期五”),开课节次(取值限定在“1-2节、3-4节、5-6节、7-8节、9-10节”)所属学院(取值限定在“信息、土木、机械、电气、交通”五个选项),任课教师工号,任课教师名称,选课限制人数。(5分)
(8)修改课程基本信息:可以修改课程开课时间、开课节次、所属学院(取值限定在“信息、土木、机械、电气、交通”五个选项),任课教师工号,任课教师名称,选课限制人数六项基本信息,课程编号、课程名称不允许修改。(2分)
(9)删除课程基本信息:管理员可以删除课程基本信息,但如果该课程有学生已经选课,提示错误信息“该课程已经被选,不允许删除”,不允许删除该课程基本信息。(1分)
(10) 自助选课管理:学生登录后可以浏览相关的课程信息列表,并查看课程的详细信息,点击“选课”按钮操作,系统判断该课程是否已超过选课人数,如果超过选课人数限制提示“该课程已经超过选课人数限制,选课失败”,回到选课界面,如果成功,提示“选课成功”。(5分)
(11)查询课表:教师或学生登录系统后均可查询个人课表,学生按照选课结果显示开课时间、开课节次、课程名称,教师按照承担课程显示开课时间、开课节次、课程名称,选课人数;(3分)
(12)修改个人所教授课程部分信息:教师登录后,可以修改个人承担课程的选课人数一项基本信息,其余信息不允许修改;(2分)
(13)个人密码修改:教师或学生用户登录后,可以输入旧密码、新密码、新密码确认修改个人密码,需要判断旧密码是否正确,新密码和新密码确认是否一致;(2分)
(14)重置密码:管理员可以修改教师或学生的个人密码,先按照教师工号或学生学号查询,显示出基本信息后,点击密码重置,将教师或个人密码统一修改为“123456”。(2分)
(15)数据库评分标准:按照题目要求创建教师基本信息表、学生基本信息表、课程基本信息表,选课结果表(4分),实现数据库连接正常(2分)。
JavaWeb项目练习(学生选课管理系统)一的更多相关文章
- Django 小实例S1 简易学生选课管理系统 2 新建项目(project)并进行设置
Django 小实例S1 简易学生选课管理系统 第2节--新建项目(project)并进行设置 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 0 ...
- Django 小实例S1 简易学生选课管理系统 1 项目流程梳理与数据库设计
Django 小实例S1 简易学生选课管理系统 第1章--项目流程梳理与数据库设计 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 项目流程梳理 ...
- Django 小实例S1 简易学生选课管理系统 12 CSS样式完善
Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...
- Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现
Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...
- Django 小实例S1 简易学生选课管理系统 8 CSS样式优化
Django 小实例S1 简易学生选课管理系统 第8节--CSS样式优化 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 前面的几节下来,用户模块基 ...
- Django 小实例S1 简易学生选课管理系统 7 修改个人信息
Django 小实例S1 简易学生选课管理系统 第7节--修改个人信息 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 用户模块除了注册登录之外,还 ...
- Django 小实例S1 简易学生选课管理系统 3 创建用户模型(model)
Django 小实例S1 简易学生选课管理系统 第3节--创建用户模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新 ...
- Django 小实例S1 简易学生选课管理系统 4 实现登录页面
Django 小实例S1 简易学生选课管理系统 第4节--实现登录页面 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...
- Django 小实例S1 简易学生选课管理系统 5 实现注册功能
Django 小实例S1 简易学生选课管理系统 第5节--实现注册功能 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...
- Django 小实例S1 简易学生选课管理系统 0 初步介绍与演示
Django 小实例S1 简易学生选课管理系统 第0章--初步介绍与演示 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 初步介绍 先介绍下这个 ...
随机推荐
- [nginx]定制http头信息
前言 修改http响应头信息,相关Nginx模块:ngx_http_headers_module expires 语法: expires [modified] time; expires [modif ...
- 《CUDA编程:基础与实践》读书笔记(1):CUDA编程基础
1. GPU简介 GPU与CPU的主要区别在于: CPU拥有少数几个快速的计算核心,而GPU拥有成百上千个不那么快速的计算核心. CPU中有更多的晶体管用于数据缓存和流程控制,而GPU中有更多的晶体管 ...
- js判断h5页面地址的打开方式(微信、pc、移动端)
1 function isOpenMode(){ 2 //平台.设备和操作系统 3 var system = { 4 win: false, 5 mac: false, 6 xll: false, 7 ...
- Spring Boot通过企业邮箱发邮件被Gmail退回的问题解决方法
这两天给我们开发的Chrome插件:Youtube中文配音增加了账户注册和登录功能,其中有一步是邮箱验证,所以这边会在Spring Boot后台给用户的邮箱发个验证信息.如果发邮件,之前的文章教程里就 ...
- PDF 补丁丁 1.0 正式版
经过了一年多的测试和完善,PDF 补丁丁发布第一个开放源代码的正式版本了. PDF 补丁丁也是国内首先开放源代码.带有修改和阅读PDF的功能的 PDF 处理程序之一. 源代码网址:https://gi ...
- RocketMQ 系列(五)高可用与负载均衡
RocketMQ 系列(五)高可用与负载均衡 RocketMQ 前面系列文章如下: RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 RocketMQ 系列(三) 集成 S ...
- 在线问诊 Python、FastAPI、Neo4j — 创建 检查节点
目录 症状数据 创建节点 根据不同的症状,会建议做些相对应的检验.检查 症状数据 examine_data.csv 建议值用""引起来.避免中间有,号造成误识别 检查 " ...
- Solution -「THUPC 2021」区间矩阵乘法
Description Link. 给定长度为 \(n\) 的序列 \(a_1, a_2, \dots, a_n\):共 \(m\) 组询问,每次询问给出 \(d,p_1,p_2\),求 \[\sum ...
- Solution Set -「ARC 116」(in progress)
「ARC 116A」Odd vs Even Link. 看 \(n\) 有多少 \(2\) 因子. // Problem: A - Odd vs Even // Contest: AtCoder - ...
- flask中cookies的使用
flask中cookies的使用 在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, ...