数据库课程设计
——学生选课管理系统
院系:数学与信息科学学院
专业:计算机科学与技术
班级:12.5班
成员:张岩(12)高媛媛(14)
付雪彤(19)苏洪梅(24)
一、定义
1、系统名称:学生选课管理系统
2、成员分工:项目管理员、DBA:高媛媛
系统分析员:张岩
系统设计员:付雪彤
系统开发员、系统测试员:苏洪梅
2、数据库设计软件:Microsoft Office Visio 2003
3、数据库管理软件:Microsoft SQL Server 2008
4、系统开发工具:Microsoft Visual Studio 2008----ASP.NET网站
二、需求分析
1 、系统功能分析

本系统的用户有学生、教师和管理员,每个系有一名管理员,若干教师和若干学生。
1、管理员
(1)管理学生信息:可对本学院学生信息进行查询、增加、删除和修改,学生信息包括学号、姓名、出生日期、院系、专业、班级、入学年份等。
(2)管理教师信息:可对本学院教师信息进行查询、增加、删除和修改,教师信息包括教
师号、姓名、性别、出生日期、院系、职称等。
(3)管理课程信息:可对本学院课程信息进行查询、增加、删除和修改,课程信息包括课
号、课名、学分、学时、考核方式、平时分、最大人数、开课院系等。
(4)上传选课信息:根据各专业教学计划上传课程供学生选择(包括重修重考课程)。
(5)确认开课:根据学生选课情况确定开设的课程并安排授课教师。
(6)查看学生成绩:在教师上传成绩后,管理员可查看本学院学生每门课程的成绩。
(7)查看成绩分析单:查看本学院每门课程的平均分、最高分、最低分、不及格人数。
2、学生
(1)查看个人信息,包括学号、姓名、性别等。
(2)在线选课:管理员加入选课信息,学生根据个人情况选择课程。
(3)报名重修或重考:若学生有不及格课程,可以报名重修或重考。
(4)查看选课:在选择课程后可以查看自己的选课情况。
(5)查看成绩和绩点:教师上传成绩后,学生可以查看本人的成绩、补考成绩、重修成绩、重考成绩和绩点。
(6)评价教师:学生每周对每门任课教师进行一次评价,包括评分和意见等。
3、教师
(1)查看个人信息:包括教师号、姓名、性别等。
(2)查看授课情况:在学生选课、管理员确定开课后,教师可查看本学期自己所要教授的
课程情况,包括上课班级、人数等。
(3)上传成绩:在每学期考试后上传成绩。
(4)查看成绩分析单:查看自己所讲授课程的成绩分析情况。
(5)查看学生评价:每周在学生评价后,教师可查看学生的评分以及学生提出的意见和问
题并进行回复。
2 、数据字典
2.1 数据项
| 编号 | 数据项名 | 数据项含义说明 | 数据类型 | 长度 | 取值范围 | 取值含义 |
| 1 | 学号 | 唯一标识学生的编号 | 文本 | 8 | 01110101——11151050 | 前两位代表院系,中间前两位代表入学年份,中间后两位代表班级,最后两位代表班级学号,例如01110101代表体育学院11级01班01号 |
| 2 | 教师号 | 唯一标识教师的编号 | 文本 | 5 | 01001-11100 | 前两位代表院系,后三位代表该教师在所在系的编号,如01001代表体育学院的001号教师 |
| 3 | 学生姓名 | 表示学生的姓名 | 文本 | 20 | 汉字 | 例如“张三” |
| 4 | 教师姓名 | 表示教师的姓名 | 文本 | 20 | 汉字 | 例如“李四” |
| 5 | 学生性别 | 表示学生的性别 | 文本 | 2 | ‘男’‘女’ | 例如“女” |
| 6 | 教师性别 | 表示教师的性别 | 文本 | 2 | ‘男’‘女’ | 例如“女” |
| 7 | 学生出生日期 | 代表学生的出生年份 | 日期 | 1900-01-01——2000-01-01 | 例如“1994-01-01” | |
| 8 | 教师出生日期 | 代表教师的出生年份 | 日期 | 1900-01-01——2000-01-01 | 例如“1970-01-01” | |
| 9 | 院系名 | 代表各院系的名称 | 文本 | 20 | 11个学院名称 | 例如“数学与信息科学学院” |
| 10 | 专业名 | 各院系的专业名称 | 文本 | 20 | 汉字 | 例如“计算机科学与技术” |
| 11 | 班级号 | 代表班级的编号 | 文本 | 4 | 1101-1510 | 前两位代表入学年份,后两位代表班级在院系的编号,如1201代表某院系的12年入学的01班 |
| 12 | 入学日期 | 学生入学的年月日 | 日期 | XXXX-09-01 | 例如“2012-09-01” | |
| 13 | 职称 | 教师的职称 | 文本 | 10 | 例如“教授”、“副教授”、“讲师” | |
| 14 | 课程号 | 唯一标识课程的编号 | 文本 | 6 | 01XXXX-11XXXX | 前两位代表院系,中间两位代表专业,后两位代表课程编号,如040401代表数学与信息科学学院计算机科学与技术的1号课 |
| 15 | 课程名 | 课程的名称 | 文本 | 20 | 汉字 | 例如“高等数学” |
| 16 | 学时 | 教学的时间单位 | 数值 | 32、48、64等 | 45分钟为1学时,例如“48学时” | |
| 17 | 学分 | 学生学习量的计算单位 | 数值 | 1、2、3、4等 | 例如“6学分” | |
| 18 | 课程性质 | 课程的开课类型 | 文本 | 4 | ‘必修’‘选修’ | 例如“必修” |
| 19 | 考核方式 | 课程的考核方式 | 文本 | 4 | ‘考试’‘考查’ | 例如“考试” |
| 20 | 最大人数 | 表示某门课程的最大选课人数 | 数值 | 例如200人 | ||
| 21 | 选课人数 | 选择某门课程的人数 | 数值 | 超过一定人数可以开课 | ||
| 22 | 成绩 | 考试成绩(包括补考、重修、重考成绩) | 数值 | 0-100 | 考试课100分满分,60分及格考查课90分满分,60分及格补考成绩若及格均按60分处理 | |
| 23 | 平均分 | 某院系或某班级某门课程的平均分 | 数值 | 0-100 | 平均分反映学生学习的整体情况 | |
| 24 | 最高分 | 某院系或某班级某门课程的最高分 | 数值 | 0-100 | 最高分反映试卷的难易程度 | |
| 25 | 最低分 | 某院系或某班级某门课程的最低分 | 数值 | 0-100 | 最低分反映试卷的难易程度 | |
| 26 | 不及格人数 | 某院系或某班级某门课程的不及格人数 | 数值 | 不及格人数反映试卷的难易程度 | ||
| 27 | 绩点 | 评定学习质量 | 0-5.0 | 绩点=分数/10-5,60分以下绩点为0 | ||
| 28 | 教师评分 | 学生每周对任课教师的评分 | 数值 | 1、2、3、4、5 | 最高分为5分,最低分为1分 | |
| 29 | 教师评价 | 学生每周对任课教师的评价 | 文本 | 60 | 最多30个汉字 | |
| 30 | 用户名 | 用户登录该系统时的用户身份标识 | 文本 | 20 | 学生用户名为学号,教师用户名为教师号,管理员用户名为001-011 | |
| 31 | 密码 | 用户登录该系统时的密码 | 文本 | 20 | 系统默认密码与用户名相同,用户第一次登录系统时应修改密码 | |
| 32 | 权限 | 用户登录该系统时的身份 | 文本 | 10 | “学生”、“教师”、“管理员” | 以不同的身份登录有不同的权限 |
2.2 数据结构
| 编号 | 数据结构名 | 组成 |
| 1 | 学生 | 学号、学生姓名、学生性别、学生出生日期、院系名、专业名、班级号、入学年份、备注 |
| 2 | 教师 | 教师号、教师姓名、教师性别、教师出生日期、院系名、职称、备注 |
| 3 | 课程 | 课程号、课程名、学时、学分、院系名、专业名、课程性质、考核方式、平时分、最大人数、备注 |
| 4 | 选课 | 学生、课程、是否开课 |
| 5 | 开课 | 学生、课程、教师、人数 |
| 6 | 成绩单 | 学生、课程、教师、成绩、绩点 |
| 7 | 成绩分析单 | 课程、教师、班级、成绩(平均分、最高/低分、不及格人数等) |
| 8 | 教师评价 | 学生、教师、评分、评价 |
2.3 数据流
| 编号 | 数据流名 | 输入 | 输出 |
| 1 | 更新课程信息 | 管理员 | 管理课程信息 |
| 2 | 更新学生信息 | 管理员 | 管理学生信息 |
| 3 | 更新教师信息 | 管理员 | 管理教师信息 |
| 4 | 查看课程信息 | 管理课程信息 | 管理员 |
| 5 | 查看学生信息 | 管理学生信息 | 学生 |
| 6 | 查看教师信息 | 管理教师信息 | 教师 |
| 7 | 查看个人信息(学生) | 管理员学生信息 | 学生 |
| 8 | 查看个人信息(教师) | 管理教师信息 | 教师 |
| 9 | 上传选课信息 | 管理员 | 选课管理 |
| 10 | 查看选课信息 | 选课管理 | 学生 |
| 11 | 上传选课情况 | 学生 | 选课管理 |
| 12 | 上传开课情况 | 管理员 | 开课管理 |
| 13 | 查看开课情况(学生) | 开课管理 | 学生 |
| 14 | 查看开课情况(教师) | 开课管理 | 教师 |
| 15 | 上传评价 | 学生 | 评价教师 |
| 16 | 查看评价 | 评价教师 | 教师 |
| 16 | 上传学生成绩 | 教师 | 上传成绩 |
| 17 | 学生详细成绩分析 | 上传成绩 | 查看成绩 |
| 19 | 查看个人成绩 | 查看成绩 | 学生 |
| 18 | 查看学生详细成绩分析 | 查看成绩 | 管理员 |
2.4 数据存储
| 编号 | 数据存储名 | 输入数据流 | 输出数据流 |
| 1 | 课程信息表 | 更新课程信息 | 查看课程信息 |
| 2 | 学生信息表 | 学生信息 | 查看学生信息 |
| 3 | 教师信息表 | 教师信息 | 查看教师信息 |
| 4 | 选课信息表 | 上传选课信息 | 查看选课信息 |
| 5 | 选课情况表 | 查看选课信息 | 上传选课情况 |
| 6 | 开课信息表 | 上传开课情况 | 查看开课情况 |
| 7 | 教师评价表 | 上传评价 | 查看评价 |
| 8 | 成绩单 | 上传成绩 | 查看成绩 |
2.5 处理过程
| 编号 | 处理过程名 | 输入数据流 | 输出数据流 |
| 1 | 管理课程信息 | 更新课程信息 | 查看课程信息 |
| 2 | 管理学生信息 | 更新学生信息 | 查看学生信息查看个人信息(学生) |
| 3 | 管理教师信息 | 更新教师信息 | 查看教师信息查看个人信息(教师) |
| 4 | 选课管理 | 上传选课信息 | 上传选课情况 |
| 5 | 开课管理 | 查看选课情况上传开课信息 | 查看开课信息(学生)查看开课信息(教师) |
| 6 | 评价教师 | 上传评价 | 查看评价 |
| 7 | 上传成绩 | 上传学生成绩 | 学生详细成绩分析 |
| 8 | 查看成绩 | 学生详细成绩分析 | 查看个人成绩(学生)查看学生详细成绩分析(管理员、教师) |
3 、数据流图
数据流图中符号定义如下:
外部项:数据存储:处理过程:数据流:




0 层数据流图:

1 层数据流图:
1.0 信息管理

2.0 选课管理

3.0 成绩管理

4.0 学生评价教师
