# 一、需求分析
- **开发意义:** 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求,需要借助计算机来进行现代化信息管理,从而提高管理的准确性与高效性。
- **可行性:** 传统人工管理成绩存在诸多弊病,比如准确性低、效率低等。计算机具有存储快、查找便利、准确性高的特点,能非常好的解决人工管理的弊病。
- **应用环境:**
- 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 系统功能需求](https://img-blog.csdnimg.cn/20200104155621922.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMxODE5Mg==,size_16,color_FFFFFF,t_70)
## 1.2 其他性能需求
1. 分管理员、教师、学生不同身份登录,并给予不同的权限,提高系统安全性;
2. 使用前端验证保证用户的输入正确。
3. 创建触发器及存储过程,保证完整性。
4. 充分考虑系统报错情况,尽量防止系统崩溃。
# 二、概念结构设计
## 2.1实体关系分析
1. 开设班级,每个班级包含若干学生;
2. 课程由教师开设;
3. 同一门课可能有多个教师开课,一个教师在一学期可能开多门课程;
4. 需要考虑不同学年,并以学年制管理学籍;
5. 不考虑按照班级直接开课的情况,即所有课程均由学生自由选择;
6. 一个学生只能选择某位老师的开的某个课程,即学生不能同时选择同一门两个不同老师开的课程;
7. 不存在两个及以上老师联合开课的情况,即不存在两个及以上教师负责同一教学班的情况。
## 2.2 E-R图
基于以上分析可得以下E-R 图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200104155743402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMxODE5Mg==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200104155758431.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMxODE5Mg==,size_16,color_FFFFFF,t_70)
# 三、逻辑结构设计
## 3.1关系模式设计
将E-R图转换为以下关系模式:(加粗代表主键,斜体内容表示外键)
- 班级(**班级编号**, 班级名称)
- 学生(**学号**, 姓名, 性别, 年龄, 生源所在地, 已修学分总数, 登录密码, *班级编号*)
- 课程(**课程编号**, 课程名称, 学时, 考试或考查, 学分)
- 教师(**教师编号**, 姓名, 性别, 年龄, 职称, 电话, 登录密码)
- 开课情况(**开课编号**,*课程编号*, *任课教师编号*,开课学年, 开课学期,**学号**,成绩)
- 选课情况(***开课编号*,*学号***,成绩)
## 3.2数据类型定义
对关系模式中的属性定义类型、长度和约束:
1. 班级
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 班级编号 | nvarchar | 4 | 主键,唯一,非空 | |
| 班级名称 | nvarchar | 20 | 非空 |
2. 学生
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 学号 | nvarchar | 12 | 主键,唯一,非空 | |
| 姓名 | nvarchar | 5 | 非空 |
| 性别 | nvarchar | 1 | 非空 |
| 年龄 | int | 4 | 非空 |
| 生源所在地 | nvarchar | 20 | 非空 |
| 已修学分总数 | float | 4 | |
| 登录密码 | nvarchar | 20 | 非空 |
| 班级编号 | nvarchar | 4 | 外键,非空 |
3. 课程
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 课程编号 | nvarchar | 5 | 主键,唯一,非空 | |
| 课程名称 | nvarchar | 20 | 非空 |
| 学时 | int | 4 | 非空 |
| 考试或考查 | bit | 1 | 非空 |
| 学分 | float | 4 | 非空 |
4. 教师
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 教师编号 | nvarchar | 5 | 主键,唯一,非空 | |
| 姓名 | nvarchar | 20 | 非空 |
| 性别 | nvarchar | 1 | 非空 |
| 年龄 | int | 4 | 非空 |
| 职称 | nvarchar | 10 | 非空 |
| 电话 | nvarchar | 20 | 非空 |
| 登录密码 | nvarchar | 20 | 非空 |
5. 开课选课情况
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 开课编号 | nvarchar | 15 | 主键,唯一,非空 | |
| 课程编号 | nvarchar | 5 | 外键,非空 |
| 任课教师编号 | nvarchar | 5 | 外键,非空 |
| 开课学年 | nvarchar | 4 | 非空 |
| 开课学期 | bit | 1 | 非空 |
6. 选课情况
| 数据项名 | 数据类型 | 长度 | 完整性约束 | 备注 |
| --- | --- | --- | --- | --- |
| 开课编号 | nvarchar | 15 | 联合主键,也均为外键 | |
| 学号 | nvarchar | 12 |
| 成绩 | int | 4 | |
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于java+数据库设计的高校选课管理系统+源码+开发文档+设计思路,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 开发意义: 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求,需要借助计算机来进行现代化信息管理,从而提高管理的准确性与高效性。 可行性: 传统人工管理成绩存在诸多弊病,比如准确性低、效率低等。计算机具有存储快、查找便利、准确性高的特点,能非常好的解决人工管理的弊病。 应用环境: Web服务器:tomcat8.5; 编程工具Eclipse Java 2019-09; 数据库:SQL sever 2017; 技术路线: jsp+servlet+javabean; 1.1系统功能需求 系统功能框架介绍,处理模块描述。 管理员: 查询教师名单; 添加教师信息; 修改教师信息; 删除教师信息; 查询学生名单; 添加学生信息; 修改学生信息; 删除学生信息; ....
资源推荐
资源详情
资源评论
收起资源包目录
基于java+数据库设计的高校选课管理系统+源码+开发文档+设计思路(毕业设计&课程设计&项目开发) (212个子文件)
.classpath 846B
org.eclipse.wst.common.component 503B
org.eclipse.wst.jsdt.ui.superType.container 49B
ace.min.css 388KB
ace-part2.min.css 126KB
ace-rtl.min.css 114KB
bootstrap.min.css 113KB
ace-skins.min.css 76KB
font-awesome.min.css 27KB
font-awesome.min.css 27KB
bootstrap-datepicker3.min.css 20KB
bootstrap-editable.min.css 17KB
jquery-ui.min.css 15KB
select2.min.css 14KB
ui.jqgrid.min.css 13KB
fullcalendar.min.css 12KB
chosen.min.css 11KB
dropzone.min.css 9KB
ace-ie.min.css 9KB
bootstrap-datetimepicker.min.css 8KB
daterangepicker.min.css 5KB
bootstrap-colorpicker.min.css 4KB
jquery-ui.custom.min.css 3KB
bootstrap-timepicker.min.css 3KB
colorbox.min.css 3KB
jquery.gritter.min.css 2KB
bootstrap-duallistbox.min.css 1KB
bootstrap-multiselect.min.css 1KB
prettify.min.css 532B
fonts.googleapis.com.css 494B
fontawesome-webfont.eot 69KB
glyphicons-halflings-regular.eot 20KB
.gitignore 8B
3.ico 66KB
sqljdbc4.jar 525KB
TeaDao.java 13KB
AdmDao.java 12KB
StuDao.java 10KB
Login.java 7KB
TeaIn.java 3KB
StuChoose.java 3KB
TeaSingle.java 3KB
StuCourse.java 2KB
StudentBean.java 2KB
TeaCourse.java 2KB
StuGrade.java 2KB
TeaSetup.java 2KB
StuSChange.java 2KB
StuProfile.java 2KB
TeaGpa.java 2KB
StuCPassword.java 2KB
AdmSAdd.java 2KB
TeaAvg.java 2KB
AdmCPassword.java 2KB
TeaCPasscode.java 2KB
CourseBean.java 2KB
TeaProfile.java 2KB
AdmTChange.java 2KB
AdmTAdd.java 2KB
AdmCChange.java 2KB
AdmCAdd.java 2KB
AdmCDelete.java 2KB
AdmTDelete.java 2KB
AdmSDelete.java 2KB
AdmStudent.java 2KB
AdmTeacher.java 2KB
AdmCourse.java 1KB
Logout.java 1KB
TeacherBean.java 1KB
BaseDao.java 651B
image-4.jpg 89KB
image-2.jpg 79KB
meteorshower2.jpg 67KB
image-1.jpg 66KB
image-3.jpg 61KB
image-5.jpg 59KB
image-6.jpg 42KB
profile-pic.jpg 10KB
thumb-2.jpg 9KB
thumb-4.jpg 9KB
thumb-3.jpg 9KB
thumb-5.jpg 8KB
pattern.jpg 7KB
thumb-1.jpg 6KB
thumb-6.jpg 5KB
user.jpg 1KB
jquery.jqGrid.min.js 304KB
jquery-ui.min.js 235KB
fullcalendar.min.js 105KB
jquery-ui.custom.min.js 99KB
jquery-1.11.3.min.js 94KB
jquery-2.1.4.min.js 82KB
jquery.dataTables.min.js 81KB
select2.min.js 63KB
ace.min.js 54KB
jquery.sparkline.index.min.js 54KB
holder.min.js 52KB
bootstrap-editable.min.js 50KB
ace-elements.min.js 40KB
moment.min.js 40KB
共 212 条
- 1
- 2
- 3
资源评论
梦回阑珊
- 粉丝: 5204
- 资源: 1681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功