..《数据库系统概论》综合实验报告(2013——2014学年第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例:1214010126,12代表入学年份,14代表学院,第一个01代表专业名称,第二个01代表班级,26代表学号(不能为空)姓名snamechar10描述学生的姓名性别ssexchar2描述学生的性别(只允许填写“男”或“女”)出生日期sdatechar10例:1992-12-4班级sclasschar10例:12140101(取学号的前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学生