学生选课系统实践报告
《数据库系统概论》综合实验报告
(2013——2014学年第1学期)项目名称学生选课管理系统
学院
学号
姓名
授课教师
填表日期:
目录
1、需求分析 (03)
2、概念设计 (18)
3、逻辑设计 (21)
4、物理设计 (27)
5、数据库实施 (29)
6、总结 (38)
学校学生选课系统
一、需求分析阶段
需求分析分为三个部分:需求的文字表述、数据流图、数据字典。
一、需求分析
第一部分调查用户需求
现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学生信息安全性,对信息化处理数据的要求也越来越高。学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课以及成绩信息管理系统的安全性的双重要求下出现的。学生选课排课系统用于根据教学计划、教师资源、教师资源等,制定每学期的课程表及相关信息,面对的用户包括系统管理员、教师和学生。因此该系统的功能模块应分为系统管理员需求、教师需求、学生需求三个部分。管理员可以通过超级用户身份登录,对系统进行全面的管理维护。老师、学生以不同用户的身份进入不同的界面,执行不同的操作。
1.学校的组织结构情况
学校下面的结构可分为各个处理学校事物的职能部门、各种群团组织、教辅单位、直属单位以及各个学院。而职能部门中的教务处这一管理机构以下又分为招生办、教学管理科、学籍管理科以及办公室。其中教学管理科主要负责学生的选课工作以及其他教务系统的管理。学校负责选课的这一组织机构为三类用户服务:管理员、教师、学生。由于目前的大学学生基数越来越庞大,而每一学期学生需要选修课程攻读,若是学校没有一个很好的选课系统,那么上千上万的学生资料整理归纳起来都会是一个非常巨大非常困难的项目。为了方便教师和学生,建立一个好的选课系统是十分有必要的。
学校组织结构图如下:
2.关于选课的业务活动情况
当学期末快到时,学校教务处会下放通知学生选择下学期要选修的课程。在学生选课之前负责选课这一模块工作的教务处的管理员就要整理出学校提供的所有可选课程供同学们选择,并在每一次选课之后做出调整和资料整理。到下一学期的学期末,由任课老师给出每个学生选修课程的成绩,并将成绩汇报给管理员,管理员再进一步整理汇总以及将成绩通知到学生。以下是关于管理员、教师、学生三者之间的关系。
3.用户对系统的要求 信息要求:
由上面的分析我们可以知道该系统主要用于学生选课和教师录入成绩,因此关于信息要求可以分为以下几方面:
(1)学生信息
包括学生的学号、姓名、性别、出生日期、所在班级、专业,除了这些基本信息之外还包括学生选修课程的成绩。
(2)课程信息
包括课程号、课程名称。
(3)选课信息
包括学生的学号、姓名以及选修的课程号、课程名称和成绩
(4)教师信息
包括教师号、姓名、性别、联系电话、所授课程
(5)管理员信息
包括工号、姓名、性别、联系电话
处理要求:
系统应当完成以下的信息处理:
(1)系统管理员
管理员维护整个系统,设置选课阶段:
选课前:学生不可登录,同时发布教师的基本情况。
选课时:a.限制最大选课人数,防止系统崩溃;
b.发布选课信息;
c.数据备份和恢复等;
选课后:a.学生只可查询,管理员对选课结果进行统计;
b.管理员查询选课情况,对学生的选课申请进行处理,进行用户
管理。
(2)教师
查询课程的基本情况、学生情况。
(3)学生
在选课系统中查询课程、教师信息,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等于选课有关的活动。
安全性与完整性要求:
安全性要求:
(1)系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
(2)系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
(3)系统应对不同用户设置不同的权限,区分不同的用户。如区分学生(只能查询管理员发布的课程基本信息和选修课程的限制人数及当前选择人数,只能修改自己的个人信息,如密码。)教师(只能查询选修该课程的学生基本情况以及发布成绩。)管理员(只可以发布课程信息汇总选课情况)
完整性要求:
(1)各种信息记录的完整性,信息记录内容不能为空;
(2)各种数据间相互的联系的正确性;
(3)相同的数据在不同记录中的一致性。
4.确定系统的边界
经对前面的需求调查和初步的分析,确定由计算机完成的工作时对数据进行各种管理和处理,具体的工作内容见第二部分,由手工完成的工作主要有对原始数据的录入;不能由计算机生成的,各种数据的更新,包括数据变化后的修改,数据的增加,失效数据或无用数据的删除等;以及系统的日常维护。
第二部分系统功能的设计和划分
系统功能模块基本将本系统划分为三大模块,即学生选课模块、教师开课模块以及管理员管理模块。
(1)学生选课模块:在这个模块中,允许学生修改个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改选课等。(2)教师开课模块:这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。
(3)管理员管理模块:这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。
(4)通用功能模块:即用户登录、密码修改等功能的实现。
以下是系统功能图
简要需求分析图
系统管理员需求分析图
教师需求分析图
学生需求分析总体的功能需求图
二、数据流图
顶层DFD
在数据流图的基础上再进行分解,对系统功能需求做进一步分解:
1.用户登录
获取用户输入的用户名及密码;
若出现用户名、密码错误或不匹配现象,反馈错误提示;
在用户名及密码都正确的前提下,支持密码修改。
2.选课系统
首先发布选课通知,即先对教师发出通知(教师得到通知后才可申请教课),然后对学生发出通知(此时已安排完有关选修课的所有信息);
创建课程指定任课教师;
设定课程的人数和开课时间安排;
分配账号及密码(由于是管理员操作此部分)。
3.教师开课
获取教师申请教课的信息,包括教师信息及其所要教的课程课程信息;
提供教师浏览课程的功能,即课程时间、教室等的安排;并提供查询学生选课情况的功能,即选此门课程的名单等;
处理和统计教师对学生成绩的评定。
4.学生选课
提供学生修改个人信息的功能;
提供学生浏览全部选修课信息的功能,然后接受学生的选课操作;
获取学生及其所选课程的信息后,提供学生浏览自己所选课程的安排情况;
得到选课系统的指令,在相应时间内可以让学生修改自己的选课;
将选课系统统计好的成绩信息反馈给学生供其浏览。
通过以上分析,根据不同用户给出以下数据流图:
学生信息数据流图
学生信息数据流图
管理员信息数据流图以下是整体结构数据流图:
教
师
信
息
三、数据字典
根据数据流程分析,对系统数据分析和汇总,建立系统数据字典
1. 数据项(如下数据结构中)
2.数据结构
学生信息
课程信息数据字典
选课成绩
教师信息
管理员信息
3.数据流
4.数据存储
5.处理过程
二、概念设计阶段一、数据抽象(聚集法)
二、E-R
初步E-R图
改进后的E-R图(合并分E-R)
三、修改过程
1.合并分E-R图,生成总E-R图
由于各个实体和实体的属性之间的冲突,合并时必须消除这些冲突:
(1)属性冲突:因为设计分E-R图前有过充分讨论,所以没有属性冲突。(2)命名冲突:教师中的所授课程即为课程中的课程号
(3)结构冲突:“选课”是一个实体,但是在E-R图中却成了关系,所以在制作数据库时要把“选课”作为一个实体。
2.消除不必要的冗余
由于某些联系可以导出其它的联系,这种联系可以被消除。