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 初步介绍 先介绍下这个 ...
随机推荐
- 青少年CTF平台-Web-Robots
题目信息 题目名称:Robots 题目描述:昨天十三年社团讲课,讲了Robots.txt的作用,小刚上课没有认真听课正在着急,你能不能帮帮忙? 题目难度:一颗星 解题过程 访问题目链接 在这里插入图片 ...
- arrch架构部署redis,报错: ignore-warnings ARM64-COW-BUG
arrch架构服务器redis部署完成后,启动报错.做个记录. arrch架构的redis安装包 下载链接:https://pan.baidu.com/s/1TMXNpMvMDWRFD1f5km7Mw ...
- JDK 17 营销初体验 —— 亚毫秒停顿 ZGC 落地实践
前言 自 2014 年发布以来, JDK 8 一直都是相当热门的 JDK 版本.其原因就是对底层数据结构.JVM 性能以及开发体验做了重大升级,得到了开发人员的认可.但距离 JDK 8 发布已经过去了 ...
- aspnetcore 注册中心 consul
consul启动 . http://192.168.1.6:8500/ #以server方式启动,UI可以访问,boot引导自己选为leader,网段内PC可访问 consul agent -serv ...
- 利用CI机制管控jar依赖树
1. 现状·问题 你还记得你排查jar冲突的付出么? 为了有效控制jar包更新带来的未知jar引入和变动,我们经常使用dependency-tree来查看依赖关系排查问题,通常是出现问题再被动分析和排 ...
- 《Linux基础》02. 目录结构 · vi、vim · 关机 · 重启
@ 目录 1:目录结构 2:vi.vim快速入门 2.1:vi 和 vim 的三种模式 2.1.1:一般模式 2.1.2:编辑模式 2.1.3:命令模式 2.2:常用快捷键 2.2.1:一般模式 2. ...
- java与es8实战之六:用JSON创建请求对象(比builder pattern更加直观简洁)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<java与es8实战>系 ...
- 京东获得JD商品详情 API 返回值说明
item_get-获得JD商品详情 API测试 onebound.jd.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) ...
- Prompt 指北:如何写好 Prompt,让 GPT 的回答更加精准
目录 1. 得亏 GPT 脾气好 2. 玩 GPT 得注意姿势 3. 指南指北指东指西 3.1 首先你得理解 GPT 是咋工作的 3.2 "Prompt 工程"走起 3.3 奇淫技 ...
- ES13 中11个令人惊叹的 JavaScript 新特性
前言 与许多其他编程语言一样,JavaScript 也在不断发展.每年,该语言都会通过新功能变得更加强大,使开发人员能够编写更具表现力和简洁的代码. 小编今天就为大家介绍ES13中添加的最新功能,并查 ...