学生选课系统实践报告资料(共37页)

上传人:20****08 文档编号:57851850 上传时间:2022-02-25 格式:DOC 页数:37 大小:3.78MB
返回 下载 相关 举报
学生选课系统实践报告资料(共37页)_第1页
第1页 / 共37页
学生选课系统实践报告资料(共37页)_第2页
第2页 / 共37页
学生选课系统实践报告资料(共37页)_第3页
第3页 / 共37页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上数据库系统概论综合实验报告 (20132014学年 第1学期)项目名称 学生选课管理系统 学 院 学 号 姓 名 授课教师 填表日期: 目 录1、 需求分析 032、 概念设计 183、 逻辑设计 214、 物理设计 275、 数据库实施296、 总结 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数据结构学生信息属性名存储代码类型长度备注学号snochar10例 :,12代表入学年份,14代表学院,第一个01代表专业名称,第二个01代表班级,26代表学号(不能为空)姓名snamechar10描述学生的姓名性别ssexchar2描述学生的性别(只允许填写“男”或“女”)出生日期sdatechar10例:1992-12-4班级sclasschar10例:(取学号的前8位)专业sdeptchar20例:信息管理与信息系统课程信息数据字典属性名存储代码类型长度备注课程号cnochar10例:T001,T代表所属类别,001代表课程编号(不为空)课程名cnamechar20描述课程名信息。例:数据库原理与应用任课老师jnochar10任课老师的教师号学时chourint描述每门科目需要学习的时间。例:42学分creditint描述修完某个科目所得学分选课成绩属性名存储代码类型长度备注学号snochar10不能为空姓名snamechar10描述学生姓名信息课程号cnochar10不能为空课程名cnamechar20描述课程名信息分数gradeint描述某一科目通过考试所获得的成绩教师信息属性名存储代码类型长度备注教师号jnochar10描述教师的代号信息,例:001(不为空)教师姓名jnamechar10描述教师姓名信息性别jsexchar2描述教师性别。例:“男”或“女”联系电话jtelvarchar20描述教师的联系方式所授课程号cnochar10描述教师所教课程信息管理员信息属性名存储代码类型长度备注姓名namechar10描述管理员性别sexchar2描述管理员性别。例:“男”或“女”职工号nochar10描述管理员代号。联系电话telvarchar20描述管理员的联系方式3数据流编号数据流名来源组成去向数据流量备注1账号密码用户登录处理账号+密码统计分析处理小用户输入账号和密码2教师信息管理员录入教师信息教师教师查询信息大在教师权限范围内查询信息3课程信息管理员录入课程信息课程查询课程信息大录入学生选择的课程4学生信息管理员录入学生信息学生学生查询信息大在学生权限范围内查询信息5查询结果用户查询分析学生、教师、选课查询信息小查询老师权限范围内的数据6学生成绩管理员录入学生成绩选课学生成绩表大录入学生的选课成绩信息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.消除不必要的冗余 由于某些联系可以导出其它的联系,这种联系可以被消除。 三、逻辑结构设计阶段 一、概念模型向关系模型转换及依赖关系分析根据总E-R图中的实体与实体之间的联系以及转换的一般原则,如下的关系:学生(学号、姓名、性别、出生日期、班级、专业)课程(课程号、课程名、任课老师、学时、学分)教师(教师号、姓名、性别、电话、所授课程)选课(学号、课程号、课程名、成绩)一对多关系(1:n)的转换教师(教师号、姓名、性别、电话、所授课程)学生(学号、姓名、性别、出生日期、班级、专业)学生(学号、姓名、性别、出生日期、班级、专业)课程(课程号、课程名、任课老师、学时、学分)学生(学号、姓名、性别、出生日期、班级、专业)课程(课程号、课程名、任课老师、学时、学分)选课(学号、课程号、成绩)教师(教师号、姓名、性别、电话、所授课程)课程(课程号、课程名、任课老师、学时、学分)二、数据模型的优化1.确定数据依赖2.消除冗余的联系3.确定所属范式4.按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。(1)在关系模式学生(学号、姓名、性别、出生日期、班级、专业)中,每一个属性都不能再分,故属于1NF;在关系模式学生(学号、姓名、性别、出生日期、班级、专业)中,主键为学号,所以,姓名,性别,专业,出生日期,班级都是非主属性。根据候选键定义可知,学号完全决定姓名,姓名,性别,专业,出生日期,班级,即每一个非主属性完全依赖于候选键,故,该关系模式属于2NF;在关系模式学生(学号、姓名、性别、出生日期、班级、专业)中,姓名、性别、出生日期、班级、专业,都是非主属性,且每一个非主属性不传递函数依赖于候选键学号,即,学号决定姓名,但姓名不决定性别,不决定出生日期、班级、专业。故,该关系模式属于3NF;在关系模式学生(学号、姓名、性别、出生日期、班级、专业)中,候选键为学函数依赖为学号姓名,学号性别,学号出生日期,学号班级,学号专业,故,该关系模式属BCNF;由于在关系模式学生(学号、姓名、性别、出生日期、班级、专业)中不存在多值依赖,故该关系模式不属于4NF。综上所述,关系模式学生(学号、姓名、性别、出生日期、班级、专业)为BCNF。(2)在关系模式课程(课程号、课程名、任课老师、学时、学分)和教师(教师号、姓名、性别、电话、所授课程)中,每一个属性都不能再分,故,属于首先满足1NF.主键分别为编号和课程号,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于2NF。且每一个非主属性不传递函数依赖于候选键学号,故属于3NF。而且,候选键编号和课程号决定一切非主属性,故,该关系模式属于BCNF。由于关系模式中不存在多值依赖,故,不属于4NF。所以这两个关系模式属于BCNF。(3)在关系模式选课(学号、课程号、课程名、成绩)中,每一个属性都不能再分,故,属于首先满足1NF.在关系模式选课(学号、课程号、课程名、成绩)中,主键分别为学号和课程号码,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于2NF。且每一个非主属性不传递函数依赖于候选键学号,故属于3NF。综上所述,关系模式选课(学号、课程号、课程名、成绩)为3NF。5.按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率三、设计用户子模式1.对于关系模式学生(学号,姓名,性别,出生日期,班级,专业),为学生和管理员建立视图:学生1(学号,姓名,性别,出生日期,班级,专业)为非学生建立视图:学生2(学号,姓名,班级,专业)2.对于关系模式教师(教师号,姓名,性别,电话,所授课程),为教师和管理员建立视图:教师1(教师号,姓名,性别,电话,所授课程)为学生建立视图:教师2(教师号,姓名,所授课程)3.对于关系模式选课(学号,课程号,课程名,成绩),为教师学生和管理员建立视图:选课1(学号,课程号,课程名,成绩)4.对于课程(课程号,课程名,任课老师,学时,学分),为教师和管理员建立视图:课程1(课程号,课程名,任课老师,学时,学分)为学生建立视图:课程2(课程号,课程名,任课老师,学分) 四、物理设计阶段 数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理结构设计。数据库的物理结构设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的中的是时间和空间效率。索引表学生信息表的索引表:索引列名数据类型长度主SnoChar10无SnameChar10无SsexChar2无SdateChar10无SclassChar10无Sdeptchar20课程信息表的索引表:索引列名数据类型长度主Cnochar10无CnameChar20无JnoChar10无ChourInt无creditint选课信息表:索引列名数据类型长度主Sno Char10CnoChar10无cnameChar20无gradeint无snameChar10教师信息表的索引表:索引列名数据类型长度主JnoChar10无JnameChar10无JsexChar2无JtelChar20(1) 在Student表的Sname(姓名)列上建立一个聚簇索引,可以提高查询效率(2) Student表按学号升序建唯一索引(3) Course表按课程号升序建唯一索引(4) SC表按学号升序和课程号降序建唯一索引 五、数据库实施阶段 数据库实施建立数据库ST:-建立数据库STcreate database ST;-建立表studentcreate table student(sno char(10) primary key not null,sname char(10),ssex char(2) check(ssex in(男,女),sdate varchar(10) check(sdategetdate(),sclass char(10),sdept char(10);-建立表teachercreate table teacher(jno char(10) primary key not null,jname char(10),jsex char(2) check(jsex in(男,女),jtel char(11);-建立表coursecreate table course(cno char(10) primary key not null,cname char(20),jno char(10),chour int,credit int,foreign key(jno) references teacher(jno);-建立表sccreate table sc(sno char(10) not null,sname char(10) not null,cno char(10),cname char(10),grade int,primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno);插入数据-向student表中插入数据insertinto studentvalues(,乔一,男,1987-10-15,电子数控);insertinto studentvalues(,郑二,男,1989-06-22,中国学专业);insertinto studentvalues(,欧三,男,1992-10-13,表演);insertinto studentvalues(,王四,女,1992-12-04,信管);insertinto studentvalues(,沈五,女,1994-02-09,信管);insertinto studentvalues(,汤六,女,1994-03-30,信管);insertinto studentvalues(,李七,女,1994-09-15,信管);-向teacher表中插入数据insertinto teachervalues(1001,乔小一,男,);insertinto teachervalues(1002,郑小二,男,);insertinto teachervalues(1003,朴小三,女,);insertinto teachervalues(1004,欧小四,男,);-向course表中插入数据insertinto coursevalues(T001,中国学,1002,42,6);insertinto coursevalues(K001,数控原理,1001,30,3);insertinto coursevalues(G001,表演技巧,1003,32,5);insertinto coursevalues(F001,信息管理,1004,27,4);-向sc表中插入数据insertinto scvalues(,乔一,K001,数控原理,99);insertinto scvalues(,郑二,T001,中国学,97);insertinto scvalues(,欧三,G001,表演技巧,96);insertinto scvalues(,王四,F001,信息管理,95);insertinto scvalues(,沈五,F001,信息管理,94);insertinto scvalues(,汤六,F001,信息管理,93);insertinto scvalues(,李七,F001,信息管理,92); 六、总结部分 通过对学生选课系统的了解和日常我们所熟悉的对选课的数据库的应用,我们对数据库的各部分的设计有了感性的认识,对需求分析的重要性和对一个系统的各部分的工作流程细节有了更深入的了解,对概念设计的步骤掌握的更加清晰,促进了对分析过程中的原则要求及所得到的数据结果的原因认识,大体上知道如何对一个系统从那几个方面的进行分析得到我们需要的信息;逻辑设计阶段中,由于整个系统的数据的复杂性和实际应用中的交叉性,在理论上和实际的操作中无论是设计关系模型还是最后选择存储方法时都觉得时间和空间之间有较多的矛盾性,最后的分析选择也存在很多的不足,对数据库的设计的难度有了更深的认识,深感一个高效,简便的数据库的设计实乃非吾辈现在能力所能及也.总之,在通过真正动手之后,我们对数据库的设计无论是概念,理论,原理的理解还是实际对数据库的操作能力都获益匪浅,但离真正设计还有相当的距离.小组分工:需求分析部分: 概念设计部分:逻辑设计部分:物理设计部分: 数据库实施: PPT制作: 专心-专注-专业
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!