数据库学生选课系统分析与设计Word格式文档下载.docx
《数据库学生选课系统分析与设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库学生选课系统分析与设计Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;
接着,学生选课管理系统进行了详细分析,划分了具体的功能模块;
最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。
系统可以实现学生选课的一些重要功能,如:
课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。
关键词管理系统;
数据库;
SQLServer2000
Abstract
Withthedevelopmentofsociety,thenumberofstudentsandthetypeofcourseincreasedsharply,thetraditionalcoursesmanagementmodecannotmeetcurrentdemand,therefore,wedevelopthestudents'
coursesmanagementsystem.
Iaccordingtostudentsofthepracticalneedofcoursesmanagement,completethecourseforstudentsofthemanagementsystemrequirementsanalysis,functionmodulepartition,databasemodelanalysis,etc,andhasdesignedthebackenddatabaseandforegroundapplication.
Thispaperfirsttothisbackground,databasebasictheoryandSQLlanguagearediscusseddevelopmenttools,students'
courseselectionmanagementsystemareanalyzedindetail,dividingaspecificfunctionmodule;
Finally,wegivethestudents'
electivecoursesystemapplicationdesignprocess,andthecoreofeachfunctionmodulecode.
Thesystemcanrealizethecourseofsomeimportantfunctionstudents,suchas:
courseadd,delete,informationquery,courses,andtheformationofschedule,andthestudents'
coursesmanagementpersonnel,andthemaintenanceofcustomerinformation.
Keywords:
managementsystem;
Database;
SQLServer2000
1.引言
本文以高校选课管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。
在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。
采用结构化的功能模块设计系统功能,可读性好,易于扩充。
基本功能全面,系统可读性好,易于维护、更新,安全性好。
2.需求分析阶段
2.1引言
进行系统设计,首先要对系统的现状进行分析。
根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。
每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。
随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。
该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。
明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
学生选课排课系统用于根据教学计划、教师资源、教师资源等,制定每学期的课程表及相关信息,面对的用户包括系统管理员、教师和学生。
因此该系统的功能模块应分为系统管理员需求、教师需求、学生需求三个部分。
管理员可以通过超级用户身份登录,对系统进行全面的管理维护,老师、学生以不同用户的身份进入不同的界面,执行不同的操作。
图2.1.1简要需求分析图
系统管理员需求分析
系统管理员负责整个系统的维护,其需求最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表、排课报表。
所涉及的信息包括课程信息、教师信息和学生信息。
因此系统管理员具有该系统的最高权限,能够编辑各信息模块,如插入一个新生的信息,增添一门课程的信息,删除退休教师的信息等。
教师需求分析
在该系统中,为方便教师工作,要求教师能够核实自己信息、查询所授课程的信息、查看自己教学班的信息,以及最后登记学生的成绩等。
图2.1.2教师需求
学生需求分析
该系统为学生主要提供选课服务,因此学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,进行相关操作。
此外还应附带其他服务,如核实个人信息,查看教师信息、课程信息以便选课,查看自己选课结果,查询考试成绩等。
图2.1.3学生需求
2.2需求分析阶段的目标与任务
2.2.1处理对象
学生信息:
学号,姓名,性别,年龄,所属班级,家庭住址,民族,出生日期,电话,登陆密码
教师信息:
教师编号,姓名,性别,年龄,籍贯,民族,电话,登陆密码
班级信息:
班级编号,班级名,班级人数,所属系别,辅导员
课程信息:
课程代码,先行课,授课老师,学时数,开课时间,授课地点
选课信息:
学生学号,学生姓名,教师编号,教师姓名,课程代码,课程名,成绩
管理员信息:
管理员代码,管理员姓名,性别,籍贯,年龄,联系电话,电子邮件。
2.2.2处理功能及要求
1.能够存储一定数量的课程信息,并方便有效的进行相应的课程信息数据操作和管理,这主要包括:
1)课程信息的录入、删除及修改。
2)课程信息的多关键字检索查询。
2.能够对一定数量的学生、管理员进行相应的信息存储与管理,这其中包括:
1)学生信息的登记、删除及修改。
2)管理员信息的增加、删除及修改。
3)学生资料的统计与查询。
3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4.对查询、统计的结果能够列表显示。
2.2.3.安全性和完整性要求
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;
系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.3需求分析阶段成果
2.3.1体会与收获
系统需求分析主要是通过对本校选课系统的操作和料及同学的咨询,了解我校选课系统的管理规则和运行机制,并通过上网搜索有关学生选课管理系统的知识,了解到了学生选课管理的现状,以及在管理中的一些问题。
由于是第一次做这样的需求调查,开始总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过同学的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。
2.3.2学生选课管理系统业务流程图
学生选课的业务流程图:
图2.3.1
2.3.3选课管理系统数据字典
(a)数据项:
系统涉及的数据项有42项
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
DI01
StuID
学生学号
char(8)
学号
DI02
StuName
学生姓名
varchar(10)
姓名
DI03
Tel
学生联系电话
varchar(13)
电话
DI04
Sage
学生年龄
smallint
年龄
DI05
Ssex
学生性别
char
(2)
性别
DI06
Semail
学生电子邮件
varchar(20)
电子邮件
DI07
Sintday
出生日期
datetime
入学日期
DI08
Sgrade
所属班级
班级
DI09
Snation
民族
DI10
Sadd
学生住址
varchar(40)
地址
DI11
GradeID
班级编号
char(6)
班号
DI12
GName
班级名称
班名
DI13
GNum
班级人数
Int
DI14
Gassist
辅导员
DI15
Gdept
所属系别
系别
DI16
Gacademy
所属学院
学院
DI17
TID
教师编号
编号
DI18
TName
教师姓名
DI19
Temail
教师电子邮件
DI20
Tsex
教师性别
varchar
(2)
DI21
Tage
教师年龄
DI22
Tnation
DI23
Tadd
籍贯
DI24
DI25
Ttel
教师联系电话
DI26
CID
课程代码
代码
DI27
CName
课程名称
课程名
DI28
Cnum
学时数
DI29
Ccapa
课程容量
varchar(3)
容量
DI30
Cdate
开课时间
时间
DI31
Croom
开课地点
char(5)
地点
DI32
C_XKL
课程性质
varchar(6)
DI33
授课代码
DI34
MID
管理员代码
DI35
MName
管理员姓名
DI36
Msex
DI37
Mtel
联系电话
DI38
Madd
DI39
Memil
DI40
SCID
选课编码
选课号
DI41
DI42
DI43
DI44
Credit
选课成绩
成绩
(b)数据结构:
表1.2数据结构列表
数据结构编号
数据结构名
数据结构含义
组成
DS-1
Student
学生信息
StuID、StuName、Tel、Sage、Ssex、Semail、Sintay、Sgrade、Snation、Sadd
DS-2
Grade
班级信息
GradeID、GName、GNum、Gassist、GdeptGacademy
DS-3
Teacher
教师信息
TID、TName、Temail、Ttel、Tsex、Tage、Tnation、Tadd
DS-4
Course
课程信息
CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、TID
DS-5
Manager
管理员信息
MID、Mname、Msex、Mtel、Madd、Memil
DS-6
SC
选课信息
SCID、SCsname、CID、TID、Credit
2.3.5处理逻辑描述
表1.3处理逻辑列表
处理编号
处理功能
处理过程
PR-1
判断学生、教师查询涉及的功能模块
学生信息模块、班级信息模块、教师信息模块、课程信息模块、管理员信息模块、选课信息模块。
先确定查询所涉及的功能模块;
然后,根据要查询的内容,确定查询数据流向;
最后显示查询结果。
PR-2
判断学生、教师修改要涉及的模块,同时把相应的修改数据传到相应的模块之中
学生信息模块、班级信息模块、教师信息模块、课程信息模块、管理员信息模块;
先确定更新所涉及的功能模块;
然后,把更新信息传送到相应的模块中;
最后,进行相应的更新操作。
3概念设计阶段
3.1引言
系统开发的总体目标是实现学生选课管理的系统化和自动化,缩短学生的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高学生选课管理效率的目的。
主要任务是对学生信息、管理员信息、课程信息、选课信息、教师信息基本信息的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2任务与目标
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
在本选课管理系统中,从第3层数据流程图下手。
分析各3层数据流图和数据字典,知道整个系统功能围绕“学生”、“管理员”和“教师”的处理。
根据实体与属性间的两条准则:
作为“属性”,不能再具有需要描述的性质。
“属性”不能与其他实体具有联系。
3.3阶段结果
(1)根据不同的对象,分别画出各分E-R图:
(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:
(3)各E-R图各实体的属性如下所示:
学生:
Student(StuID、StuName、Tel、Sage、Ssex、Semail、Sintday、Sgrade、Snation、Sadd)
班级:
Grade(GradeID、GName、GNum、Gassist、GdeptGacademy)
教师:
Teacher(TID、TName、Temail、Ttel、Tsex、Tage、Tnation、Tadd)
课程:
Course(CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、TID)
管理员:
Manager(MID、Mname、Msex、Mtel、Madd、Memil)
各E-R图中联系的属性如下所示:
选课信息:
SC(SCID、StuID、TID、CID、Credit)
4.逻辑设计阶段
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
具体的基本E-R图向关系模型的转化如下:
Student(StuID、StuName、Tel、Sage、Ssex、Semail、Sb_day、Sgrade、Snation、Sadd)
Course(CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、C_Ter)
SC(SCID、SCsname、Sctname、Sccname、Credit)
(注:
标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)
4.2.2模型优化
关系模式Student,Grade,Room,Teacher,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为:
选课信息:
SC(SCID、SCsname、Sctname、Sccname、Credit)
4.2.3数据库模式定义
表4.2.1学生信息表
列名
数据类型
可否为空
说明
char
notnull
varchar
表4.2.2班级信息表
Not
null
int
Notnull
表4.2.3教师信息表
表4.2.3课程信息表
先行课
表4.2.4管理员信息表
表4.2.5选课信息表
选课