《作业管理系统-需求分析与数据库设计报告.pdf》由会员分享,可在线阅读,更多相关《作业管理系统-需求分析与数据库设计报告.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、需求分析与数据库设计报告需求分析与数据库设计报告一、一、设计的目的与要求设计的目的与要求目的目的1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,对数据库做进一步的了解,掌握相关知识;2.进一步加强对数据库运用能力和熟练掌握数据库中的重要知识,了解如何从数据库中读写有关数据;3.培养分析问题、解决问题的能力.要求要求1.完成数据库系统的安装与设置。2.根据具体的课题完成需求分析。3.完成数据库应用系统的逻辑设计.4.创建数据库、数据表。5.完成设计报告。二、设计正文二、设计正文1.1.需求分析需求分析1 1。1 1调查用户需求调查用户需求本系统的最终用户为系统
2、管理员,全体老师学生.根据我们日常生活中的经验,结合对自己学校任课老师的咨询和对北京各个高校学生的调查,得出用户的下列实际要求:1.1.11.1.1 基本功能需求基本功能需求在学生的日常学习活动中,每个课程每节课都会有老师负责管理学生的作业收发.日常管理包含以下几方面的信息。学生的基本信息入校时,每位同学都有唯一的学号,并被分配到指定的专业班级,也会有一个班号,其入校时间就是他的注册时间。另外,同一院系的学生的专业课程可能相同,不同专业的学生,部分专业课程不同。相应地会有其所在的院系名称,专业班级名称。教师的基本信息在校教师在任教期间都有唯一的教工号,并被分配到指定的院系和指定的教研室,注册后
3、拥有登陆作业管理系统的身份 ID 和密码,一个教师可以教多门课程,一个教师所教的一门课程可以对应多个班级.发布作业基本信息教师对其任教的课程具有发布作业的功能,教师对指定的课程发布相对应的作业,发布的作业具有作业索引号、作业名称、作业发布时间,以及教师对发布作业的预留信息等基本属性。上交作业基本信息学生上交的每一份老师要求完成的作业都有一个作业名称,上交时候有一个时间,上交的作业唯一的内容,这份作业老师所给的分数,这个分数对应的等级,还有老师根据学生的各个方面的表现(书面,考勤的)给出的修正分.课程的基本信息每门课程对应有自己的课程名和课程号,并属于唯一的一个院系.班级基本信息每个班级都有唯一
4、的班级号和班级名称,每个班级对应所属的院系.院系基本信息每个院系都有唯一的院系号和院系名称。1 1。1.21.2 用户对系统的要求用户对系统的要求系统管理员系统管理员a.a.信息要求信息要求系统管理员能查询上面提到的所有相关信息,包括某一学号的学生的个人信息,某一名字的老师的个人信息,某一教师所教的课程信息,某一学生的班级,课程的基本信息,班级的基本信息。b.b.处理要求处理要求当学生基本信息发生变化时,系统管理员能对其进行修改.比如,某些同学的院系班级信息发生改变,他们在本院系和班级中相应的记录就应做相应改变;或者,同学退学后,该学生的所有记录应该删除等等。当老师或者学生的密码丢失时,管理员
5、能够根据教工号或者学号给予找回。系统管理员能够对所有学生教师的信息进行合法的操作.c c安全性与完整性要求安全性与完整性要求安全性要求系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生,教师),管理员。完整性要求各种信息记录的完整性,关键信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。学生学生a.a.信息要求信息要求学生能够查询当前所有老师给其下发的作业信息,能查询已交
6、作业信息,能查询老师的基本联系信息,能查看评优区作业信息,能查询任课教师信息。b.b.处理要求处理要求学生可以修改自己上传未批改的作业,可以下载老师发布的作业附件信息,可以在合法的时间内下载自己上交的作业,可以修改自己的某些个人信息,可以上传自己的作业。教师教师a.a.信息要求信息要求教师能够查询相关课程信息,能够查询相关课程作业上交信息,能够查询学生个人信息,能够查询下发的作业信息,能够查询所教班级信息,可以按分数段查询班级作业成绩,可以查看班级(或课程)作业统计信息。b.b.处理要求处理要求教师可以修改自己的联系信息,可以插入相应课程作业的成绩,表示作业已经批改。教师可以发布作业信息,可以
7、修改已经下发作业的信息,可以给予课程作业修正分,可以下载自己发布的作业附件信息,可以按需求格式批量下载班级(或课程)作业,可以下载班级(或课程)统计图表,可以批量批改作业,可以将学生作业放入评优区。1 1。2 2系统功能的设计和划分系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能划分为以下几个功能模块:图 1.2 系统功能模块划分图又分为以下两块管理部分:第一部分:用户管理部分第一部分:用户管理部分第二部分第二部分:管理员管理部分管理员管理部分各部分完成的功能如下:1 1。2 2。1 1 用户管理部分用户管理部分学生处理用户登录。学生用户可以查询本学期任课教师信息。学生
8、用户可以根据名字查询到教师信息。学生用户可以查询到自己班级的信息。学生可以查询自己的信息。学生用户可以查询到自己所学课程的信息。学生用户可以查询已经批改的作业信息。学生用户可以查询与修改待批改作业信息。学生用户可以查询到评优区当前评优的作品信息。学生用户可以查询自己待完成的作业信息。学生用户可以修改自己的某些个人信息(密码等).学生用户可以提交自己的作业。学生用户可以下载教师发布的作业信息。学生用户可以下载评优区的作业。教师处理用户注册。处理用户登录。教师用户可以查询自己的个人信息。教师用户可以查询当前所教授课程信息.教师用户可以查询所下发的作业信息。教师用户可以查询上交作业信息。教师用户可以
9、查询所教学生的个人信息。教师用户可以查询未交作业的学生信息。教师用户可以查询所教班级信息。教师用户可以查询评优区信息。教师用户可以按分数段查询班级作业成绩。教师用户可以查看班级(或课程)作业统计信息。教师用户可以修改自己的某些信息.教师用户可以发布作业任务。教师用户可以下载自己发布作业的附件.教师用户可以修改所下发的作业信息.教师用户可以修改课程作业的修正分。教师用户可以批改学生上交的作业。教师用户可以按需求格式批量下载班级(或课程)作业.教师用户可以下载班级(或课程)统计图表.教师用户可以批量批改作业.教师用户可以将学生作业放入评优区。教师用户可以提醒未交作业的学生.教师用户可以下载评优区的
10、作业。1 1。2 2。2 2 管理员管理部分管理员管理部分处理管理员登录管理员可以查询、修改教师所教课程信息。管理员可以查询、修改班级与院系信息。管理员可以删除、插入、修改与查询学生的个人信息.管理员可以删除、插入、修改与查询教师的个人信息。管理员可以查看学生和教师的登陆密码。管理员可以修改管理员密码.1.31.3 数据流图数据流图登陆数据流图图 131 登陆数据流图学生个人信息数据流图图 132 学生个人信息数据流图教师个人信息数据流图图 1-3-3 教师个人信息数据流图班级信息数据流图图 13-4 班级信息数据流图课程信息数据流图图 135 课程信息数据流图教师发布作业信息数据流图图 13
11、6 教师发布作业信息数据流图学生上交作业信息数据流图图 1-37 学生上交作业数据流图评优区作业信息数据流图图 1-38 评优区作业信息数据流图院系信息数据流图图 1-39 院系信息数据流图班级课程信息数据流图图 1-3-10 班级课程信息数据流图1.41.4数据字典数据字典1414。1 1 数据项数据项在校教师数据字典:属性名教工号姓名性别密码存储代码IdNameSexPassword类型charncharncharchar长度1520220备注在校教师教工号在校学生姓名在校教师性别教师登陆系统密码取值和含义0000000000-999999999910 个字以内中文“男或“女”数字、字符、
12、下划线的组合,区分大小写办公室院系OfficeDeptIdncharint20教师办公室所在院系号10 字以内中文整数联系电话邮箱宣言TelEmailcharchar1140100教师联系方式教师邮箱教师教学宣言11 位电话号码邮箱标准格式50 字以内中文Declarationnchar在校学生数据字典:属性名学号姓名性别密码签名班级院系联系电话邮箱存储代码IdNameSexPasswordSignClassIdDeptIdTelEmail类型charncharncharcharncharintintcharchar长度15202201001140备注学生学号学生姓名学生性别学生登陆系统密码学
13、生个性签名学生所在班级号学生所在院系号学生联系方式学生邮箱取值含义10 字以下中文“男”或“女”同上表50 字以下中文11 位数字学生作业数据字典:属性名课程号学号附件索引存储代码CourseIdStudentIdSEnclosureIndex上传时间SubmitDate成绩等级存储路径GradeLevelSEnclosurePath名称修正分NameCorrectGrade评语是 否 作 业完成教师发布作业数据字典:RemarkIsOverncharbit100教师对学生作业的评语学生是否完成作业ncharfloat50附件名称学生作业修正分25 字以下中文系统或老师给出对学生作业的主观评价
14、分50 字以下中文-floatintnchar100学生作业成绩学生作业等级学生上传附件存储路径-1100 间数字0-5 间数字服务器存储路径date作业上传时间类型intcharchar长度155备注学生上传作业课程号学生学号学生上传附件索引取值含义-5 为字符属性名教工号课程号附件索引存储代码TeacherIdCourseIdTEnclosureIndex类型charIntchar长度155备注教师教工号教师所教某一课程号教师发布作业索引取值含义-发布时间AssigenDatedate教师发布作业日期截止日期名称存储路径DeadlineNameTEnclosurePathdatenchar
15、char50100作业上交截止日期附件名称教师发布作业存储路径-备注Messagenchar1000教师对发布作业的备注500 字以下中文专业班级数据字典:属性名班级号名称班主任存储代码IdNameHeadTeacherId院系DeptIdint院系号类型intncharchar长度3015备注班级号班级名称班级班主任教工号取值含义15 字以下中文-院系数据字典:属性名院系号名称存储代码IdName类型intnchar长度30备注院系号院系名称取值含义-15 字以下中文课程数据字典:属性名课程号院系名称存储代码IdDeptIdName类型intintnchar长度30备注课程号开课院系课程名称
16、取值含义-15 字内中文班级课程数据字典:属性名课程号班级号教工号存储代码CourseIdClassIdTeacherId类型intintchar长度15备注课程号班级号教工号取值含义-用户数据字典:属性名用户 ID用户密码用户类型存储代码IdPasswordType类型charchartnyint长度15201备注用户 ID用户密码普通用户或超级用户取值含义评优区作业数据字典:属性名学号附件索引存储代码StudentIdSEnclosureIndex课程号CourseIdint学生作业所属课程-类型charint长度155备注学生学号学生作业附件索引取值含义-1.41.4。2 2 数据结构数
17、据结构数据结构名用户信息在校学生信息组成用户 ID,用户密码,用户类型(普通用户,管理员)学号,姓名,性别,班级,密码,是否完成作业,个性签名,院系,联系电话,邮箱在校教师信息学生作业信息教工号,性别,姓名,密码,院系,办公室,教学宣言,联系电话,邮箱作业号,课程号,学号,上传日期,存储路径,分数,等级,修正分,附件名称,评语教师发布作业信息教工号,课程号,发布时间,截止日期,作业号,备注信息,存储路径,附件名称专业班级信息院系信息班级课程信息评优区作业信息课程信息1.4.31.4.3 数据流数据流数据流名教师下发作业信息数据流来源教师数据流去向教师发布作业表学生作业表查询教师下发作业信息教师
18、下发作业信息学生教师学生上传作业信息学生学生作业表教师学生作业信息学生作业信息教师下发作业信息组成教师下发作业信息班级号,院系号,班主任教工号院系号,院系名称班级号,课程号,教工号作业号,学号,课程号课程号,开课院系号,课程名查询学生上传作业信息学生作业表学生下载(统计)学生作业信息学生作业表学生个人信息表班级信息表课程信息表作业评优信息查询(下载)评优作业信息查询学生个人信息学生个人信息表教师评优作业表评优作业表教师学生教师学生管理员查询教师个人(联系)信息教师个人信息表教师学生管理员修改学生固有信息修改教师固有信息修改学生个人信息修改教师个人信息1 1。4.44.4 数据存储数据存储数据存
19、储名学生作业表输入的数据流教师发布作业信息学生上交作业信息教师批改作业信息评优区作业表学生上传作业表教师选定教师发布作业表1.4.51.4.5 处理过程处理过程处理过程名学生上交作业教师批改作业查询学生作业信息教师发布作业查询教师发布作业信息学生作业评优输入数据流学生上交作业信息作业成绩信息学生作业信息教师发布作业信息教师发布作业信息学生作业信息输出数据流学生上交作业信息学生作业成绩信息学生作业信息教师发布作业信息教师发布作业信息学生作业信息教师发布作业信息教师发布作业信息教师发布作业信息评优区作业信息评优区作业信息输出的数据流学生作业信息组成学生上交作业信息教师批改作业信息管理员管理员学生教
20、师学生个人信息表教师个人信息表学生个人信息表教师个人信息表学生信息教师信息学生个人信息教师个人信息教师个人信息学生个人信息学生作业信息学生作业信息教师学生作业信息查询个人信息评优区作业查询2 2。概念设计。概念设计学生、教师个人信息评优区作业信息学生、教师个人信息评优区作业信息根据需求分析说明书设计ER 图,设计完成的 ER 图为:图 21 学生属性图 22 教师属性图 2-3 教师下发作业属性图 2-4 学生作业属性图 2-5 院系、班级、评优区作业属性图 26 班级课程、课程属性图 27 系统 E-R 设计3 3。逻辑设计。逻辑设计3 3。1 1 关系表设计关系表设计将 ER 图转换为关系
21、模式、要求设计出数据库所有关系表表 3.1.1在校学生(T_student)属性中文名称学号姓名性别签名班级院系联系电话邮箱密码属性名IdNameSexSignClassIdDeptIdTelEmailPassword类型charncharncharncharintintcharcharchar长度15202100114020完整性约束主键非空值为“男”或“女”无外键外键无无非空表 3.1。2在校教师(T_teacher)属性中文名称教工号姓名性别宣言办公室院系属性名IdNameSexDeclarationOfficeDeptId类型charncharncharncharncharint长度1
22、520210020完整性约束主键非空值为“男”或“女无非空外键联系电话邮箱密码TelEmailPasswordcharcharchar114020无无非空表 3。1.3学生作业(T_enclosureFS)属性中文名称课程号学号附件索引上传时间成绩等级存储路径名称是否完成作业评语修正分属性名CourseIdStudentId类型intchar长度15510050100完整性约束主键主键主键无值为-1100值为 05无非空值为 0 或 1无值为数字SEnclosureIndexcharSubmitDateGradeSLevelSEnclosurePathNameIsOverRemarkCorre
23、ctGradedatefloatintncharncharbitncharfloat表 3。1.4教师发布作业(T_enclosureFT)属性中文名称教工号课程号附件索引发布时间截止日期名称存储路径备注属性名TeacherIdCourseId类型charint长度15550100100完整性约束主键主键主键无值大于发布时间非空无无SEnclosureIndexcharAssignDateDeadlineNameSEnclosurePathMessagedatedatencharncharnchar表 3。1.5专业班级(T_class)属性中文名称班级号名称班主任院系属性名IdNameHea
24、dTeacherIdDeptId类型intncharcharint长度3015完整性约束主键非空外键外键表 3。1.6院系(T_dept)属性中文名称院系号名称属性名IdName类型intnchar长度30完整性约束主键非空表 3。1.7课程(T_course)属性中文名称课程号院系名称属性名IdDeptIdName类型intintnchar长度30完整性约束主键外键非空表 3.1.8班级课程(R_course_class)属性中文名称课程号班级号教工号属性名CourseIdClassIdTeacherId类型intintchar长度15完整性约束主键主键外键表 3。1.9评优区作业(T_ex
25、cellent)属性中文名称学号课程号作业索引属性名StudentIdCourseId类型charint长度155完整性约束主键主键主键SEnclosureIndexchar表 3.1.10用户(T_user)属性中文名称用户号用户密码用户类型3.23.2 视图设计视图设计为了方便程序查询,建立了如下用户视图:用户视图:学生信息视图(学号,姓名,性别,院系,班级,个性签名,联系电话,邮箱,密码)定义:定义:CREATE VIEW CS_Student(Id,Name,Sex,DeptName,ClassName,Signs,Tel,Email,Password)AS SELECT s。Id,s
26、。Name,Sex,d。Name,c。Name,Sign,Tel,Email,Password from T_student s,T_class c,T_dept d WHERE s。ClassId=c.Id ANDs.DeptId=d.Id教师信息视图(教师名,性别,办公室,院系,联系电话,邮箱,宣言,密码)定义定义:属性名IdPasswordType类型charcharbit长度1520完整性约束主键非空值为 0 或 1CREATE VIEW CS_Teacher(Name,Sex,Office,DeptName,Tel,Email,Declaration,Password)AS SELE
27、CT t。Name,Sex,Office,d。Name,Tel,Email,Declaration,Password from T_teacher t,T_dept d WHERE t.DeptId=d.Id班级信息视图(班级名称,班级人数,班主任,院系)定义:定义:CREATE VIEW CS_Class(Name,number,HeadTeacher,DeptName)AS SELECT c。Name,COUNT(*),t。Name,d。Name from T_class c,T_teacher t,T_dept d where c。DeptId=d.Id AND c。HeadTeache
28、rId=t。Id GROUP BY c.Id,c。Name,t。Name,d。Name教师发布作业信息视图(课程名,作业名,班级名,存储路径,教师名,截止日期,发布日期,备注)定义定义:CREATE VIEW CS_TEnclosure(CourseName,EnclosureName,ClassName,EnclosurePath,TeacherName,Deadline,AssignDate,Message)ASSELECT course.Name,e。Name,c。Name,TEnclosurePath,t。Name,Deadline,AssignDate,Message FROM T_
29、enclosureFT e,T_course course,T_class c,R_course_class cc,T_teacher t WHERE e.courseId=course.Id AND e.TeacherId=t。Id AND cc。ClassId=c.IdAND cc.CourseId=e.courseId AND cc.TeacherId=t.Id学生作业信息视图(班级名,课程名,学生名,学号,作业名称,存储路径,是否完成,分数,等级,修正分,评语)定义:定义:CREATE VIEW CS_SEnclosure(ClassName,CourseName,StudentNam
30、e,StudentId,EnclosureName,EnclosurePath,IsOver,Grade,SLevel,CorrectGrade,Remark)AS SELECT c.Name,course.Name,s.Name,e.StudentId,e。Name,SEnclosurePath,IsOver,Grade,SLevel,CorrectGrade,Remark from T_class c,T_course course,T_enclosureFS e,T_teacher t,T_student s WHERE e.StudentId=s。Id AND e.CourseId=c
31、ourse.IdAND s.ClassId=c.Id评优区作业信息视图(学生名,学号,课程名,作业名称,存储路径,班级名,分数,等级,修正分,评语)定义:定义:CREATE VIEW CS_Excellent(StudentName,StudentId,CourseName,SEnclosureName,EnclosurePath,ClassName,Grade,SLevel,CorrectGrade,Remark)AS SELECT s.Name,s.Id,course.Name,e。Name,SEnclosurePath,c.Name,Grade,SLevel,CorrectGrade,R
32、emark FROM T_student s,T_enclosureFS e,T_class c,T_course course WHERE s。Id=e.StudentIdAND e。CourseId=course.Id AND s.ClassId=c。Id班级课程信息视图(班级名称,课程名称,教师)定义:定义:CREATE VIEW dbo.CS_Course_ClassASSELECTdbo.T_class。Name,dbo。T_course。Name AS Expr1,dbo.T_teacher。Name AS Expr2FROMdbo。R_course_class INNER JOI
33、Ndbo。T_course ON dbo。R_course_class。CourseId=dbo。T_course。Id INNERJOINdbo.T_teacher ON dbo.R_course_class。TeacherId=dbo.T_teacher。Id INNERJOINdbo。T_class ON dbo。R_course_class。ClassId=dbo.T_class。Id班级作业统计信息视图(作业名,班级名,最高分,平均分,最低分,及格率,优秀率,不及格人数)定义:定义:CREATE VIEW dbo.CS_StaASSELECTdbo。T_enclosureFS。Nam
34、e AS taskName,dbo。T_class。Name AS className,derivedtbl_1.max,derivedtbl_1。min,derivedtbl_1.avgFROMdbo。T_enclosureFS CROSS JOINdbo。T_class CROSS JOIN(SELECTdbo.T_student.ClassId,MAX(T_enclosureFS_1.Grade)ASmax,MIN(T_enclosureFS_1。Grade)AS min,AVG(T_enclosureFS_1。Grade)AS avgFROMdbo。T_enclosureFS AS T
35、_enclosureFS_1 INNER JOINdbo。T_student ONT_enclosureFS_1.StudentId=dbo。T_student.IdGROUP BY dbo.T_student。ClassId)AS derivedtbl_14.4.物理设计物理设计确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等.1、系统自动在每个表的主码上建立索引。2、在 T_class 表 Name 列上建立 IX_T_class_Name 索引,因为查询操作很多都使通过班级名进行的。3、在 T_course
36、表 Name 列上建立 IX_T_course_Name索引,因为查询操作很多通过课程名进行的。4、在 T_enclosureFS 表 Grade 列上建立 IX_T_enclosureFS_Grade 和 IX_T_enclosureFS_Name 索引,因为查询很多操作通过作业分数和作业名进行.5、在T_enclosureFT 表 Name 列上建立 IX_T_enclosureFT_Name 索引,因为查询操作很多通过附件名来进行的。6、在 T_student 表 Name 列上建立 IX_T_student_Name 索引,因为查询操作很多通过学生姓名来进行的.7、在 T_teache
37、r 表 Name 列上建立 IX_T_teacher_Name 索引,因为查询操作很多通过教师姓名来进行的。5 5、课程设计总结、课程设计总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,数据库应用到计算机应用的各个领域。因此作为二十一世纪的大学生来说掌握数据库技术是十分重要的。回顾起这次数据库课程设计,我感慨颇多。的确,从选题到定稿,从理论到时间,在接近一周的时间里,可以说是苦多于甜,但是同时也学到了很多的东西,并巩固了很多以前学过的知识,也接触到了很多书本上没有的东西,在实
38、践过程中,遇到的困难也是很多的,比如说设计数据字典这一环节,由于对数据字典的概念了解的不够深刻,在书写数据项、数据结构、数据存储等时觉得很抽象,以及后来的概念设计和视图设计过程,都觉得不太熟悉,但是通过查阅资料等手段都把这些问题一一解决了。通过这次课程设计使我懂得了理论与实践相结合是很重要的,只有理论知识是远远不够的,只有把理论知识与实践结合起来,才能提高自己的动手能力和独立思考能力,很多问题看似简单,思路也很清晰,但是当真正动手设计的时候才发现其中的难度,这次课设中印象最深的是经常突然发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善数据库的设计。总而言之,这次数据库课程设计让我学到了很多在书本上学不到的东西,也从中学到了许多解决实际问题的经验,也让我明白无论遇到怎么的难题,只要有耐心并坚持,就一定能解决好问题。四、参考文献四、参考文献1 萨师煊,王珊数据库系统概论。高等教育出版社,第 3 版。2000 年 2 月2 黄维通 SQL Server 2000简明教材.清华大学版社,第 1 版。2002 年 3 月