学生选课系统详细设计报告.docx
《学生选课系统详细设计报告.docx》由会员分享,可在线阅读,更多相关《学生选课系统详细设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
学生选课系统详细设计报告
…
学生选课系统详细
设计报告
^
班级:
软件1204班
姓名:
冯丹(041231)
王锐娟(04123129)
孙玉萍(041231)
]
:
%
!
;
…
第一章需求分析
需求分析
分析阶段
本项目所开发的学生选课系统完成学校对学生的选课信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力,告别以往的人工统计。
方便学生、老师,学生可以在线查看可选课程信息、在线选课、信息修改、成绩查看,老师可以查选自己的课程人数、课程信息(包括开课时间、地点、开课方式),管理员可以对整个系统进行管理(包括系统管理、用户管理、课程管理)。
系统模块划分如下:
;
。
教师需求分析
在该系统中,为方便教师工作,要求教师能够核实自己信息、查询所授课程的信息、查看自己教学班的信息,以及最后登记学生的成绩等。
教师
]
%
图3.教师需求
学生需求分析
该系统为学生主要提供选课服务,因此学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,进行相关操作。
此外还应附带其他服务,如核实个人信息,查看教师信息、课程信息以便选课,查看自己选课结果,查询考试成绩等。
~
任务概述
.
目标
本系统是为了更好管理学生选课排课信息而设计的。
由于学校的学生和课程繁多,包含的信息量大且复杂,有必要建立一个学生选课系统,使选课排课管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息。
运行环境
服务器配置包括硬件配置和软件配置,它们各自都有详细的要求,下面将分别进行介绍.
1、服务器端配置
(1)、硬件配置
安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求:
233兆赫(MHZ)Pentium或更高的微处理器(或与之相当的处理器)
[
使用256内存(RAM最小为64MB,最大为4GB)
不小于40MB的可用硬盘空间
(2)、软件配置
安装本软件之前,需要确保计算机已安装:
MicorsoftWindowsXP及以上的操作系统.
数据流图
数据字典
登录信息:
学生信息:
教师信息:
课程信息:
!
成绩信息:
系统完整性、安全性
对服务的要求
为保证该系统平稳、安全地运行,系统为用户提供的服务要有以下限制。
1>教师只能查看个人的全部信息,若要修改个人信息,需向教务处申报,由管理员修改。
2>学生只能查看个人的全部信息,教师的部分信息,自己的选课结果,若要修改个人信息、选课信息,需向教务处申报,由教务处修改。
对性能的规定
\
(1)精度:
此系统的数据输入大多数为字符串类型,也有表示成绩的浮点数,精度为6。
响应时间:
对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为1-2秒。
(2)更新处理时间要求:
用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。
数据的转换和传输也应该在人们的接受的等待时间内。
(3)灵活行
(1)在操作方式上若发生变化,如无法使用浏览器进入系统,那么,可以使用命令方式进入如:
可以通过编写java程序与数据库联接,实现登录。
【
(2)因为本系统开发是使用jsp实现,这种开发技术具有java一样的很好的系统移植性。
(3)对于数据精度方面,应在数据库中加以限制;实现实体完整性,用户自定义完整性约束。
(4)在设计界面结构和数据结构是应留有对以后扩充系统功能的余地,如可以在每个数据字段上设计多个自定义字段。
第二章概念结构设计
概念结构
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念结构主要特点:
(1)能真是、充分地反映显示世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个只是模型;
;
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换;
概念结构时各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
学生选课系统概念结构设计
现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。
由于这个系统并不复杂,因此可采用自顶向下的设计方法。
自顶向下设计的关键是确定系统的核心活动。
所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。
确定了核心活动之后,系统就有了可扩展的余地。
对于这个图书借阅管理系统,其核心活动是借阅,读者与图书之间是通过借阅发生联系的。
因此,此系统包含的实体有:
(1)学生:
用以描述学生的基本信息,用学号标识,老师、学生、管理员都可查询,其中管理员、学生可修改资料。
.
(2)任课老师:
用以描述老师的基本信息及登入密码,老师、管理员可查询、修改。
(3)课程表:
用以描述本学期全部可选课程的信息,学生、管理员、老师都可查看,只有管理员可修改。
(4)学生成绩表:
用以描述本学期全体学生的选课成绩,老师可修改。
经过初步分析,可以得到此系统中各实体所包含的基本属性如下:
1>学生:
{学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept)}
2>教师:
{工号(Tno),姓名(Tname),职称(Zhicheng)}
3>课程表:
{课程号(Cno),课程名(Cname),学分(Ccredit),上课时间(Ctime),上课地点(Cplace),代课老师(Tname)}
4>学生成绩表:
{姓名(Sname),学号(Sno),课程号(Cno),成绩(Grade)}
·
系统实体E-R图
《
图1实体及其属性
(一)
图2实体及其属性图
(二)
学生选课系统的分E-R图
|
&
图3老师需求管理E-R图
—
图4教务处需求管理的E-R图
^
图5学生需求管理的E-R图
学生选课系统E-R图
《
<
[
;
(
第三章逻辑结构设计
逻辑结构设计
概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。
为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。
这就是数据库逻辑设计所要完成的任务。
数据库逻辑结构的设计分为两个步骤:
首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化,如下图所示
/
图逻辑结构设计过程
关系模型是由一组关系(二维表)的结合,而E-R模型则是由实体、实体的属性、实体间的关系三个要素组成。
所以要将E-R模型转换为关系模型,就是将实体、属性和联系都要转换为相应的关系模型。
学生选课系统的逻辑结构设计
有了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模式。
设计基本的关系模式主要从E-R模型出发,将其直接转换为关系模式。
根据转换规则,这个E-R转换的关系模式为:
(1)学生(学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept))
(2)老师(工号(Tno),姓名(Tname),职称(Zhicheng))
(3)课程表(课程号(Cno),课程名(Cname),学分(Ccredit),上课时间(Ctime),上课地点(Cplace),代课老师(Tname))
(4),
(5)学生成绩表(姓名(Sname),学号(Sno),课程号(Cno),成绩(Grade))
现在分析一下这些关系模式。
由于在设计关系模式时是以现实存在的实体为依据,而且遵守一个基本表只描述现实世界的一个主题的原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上述所有这些关系模式都是第三范式的关系模式。
在设计好关系模式并确定好每个关系模式的主码后,接着根据这些关系模式之间的关联关系确定关系模式的外码。
由基本E-R模型名字相同分别是同语义且取值域相同。
第四章物理设计
数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的中的是时间和空间效率。
[
关系中的关系模式
图书管理系统中的关系模式如下:
(1)学生(学号,姓名,性别,年龄,所在系)主码:
学号
(2)任课老师(工号,姓名,职称)主码:
工号
(4)课程表(课程号,课程名,学分,上课时间,上课地点,代课老师)主码:
课程号
(5)学生成绩表(姓名,学号,课程号,成绩)主码:
学号,课程号
基本表设计
利用MicrosoftSQLServer2000建立一个空数据库book,其中包括以下表。
&
表教务处
字段名
数据类型
数据长度
允许空
用户名
Char
$
20
×
登入密码
Char
20
×
createtable教务处
{
(用户名char(20)primarykey,
登入密码char(20)notnull)
表学生
字段名
数据类型
数据长度
允许空
'
学号
Int
10
×
姓名
Char
20
×
~
性别
Char
20
×
密码
Char
20
×
、
院系
Char
50
×
身高
Int
10
×
?
密码
char
20
×
createtable学生
(学号int(10)primarykey,
姓名char(20)notnull,
~
性别char(20)notnull,
年龄char(20)notnull,
身高int(10)notnull,
密码char(20)notnull,
院系char(50)notnull)
表任课老师
字段名
…
数据类型
数据长度
允许空
工号
Int
10
×
姓名
:
Char
20
×
职称
Char
20
√
;
createtable任课老师
(工号int(10)primarykey,
姓名char(20)notnull,
职称char(20))
表课程表
字段名
数据类型
数据长度
允许空
课程名
Char
20
×
】
课程号
Int
20
×
学分
Int
5
×
)
上课时间
Char
20
×
上课地点
Char
20
×
—
代课老师
Char
20
×
createtable课程表
(课程号char(20)primarykey,
课程名int(20)notnull,
学分int(5)notnull,
上课时间char(20)notnull,
上课地点char(20)notnull,
代课老师char(20)notnull)
表5..5学生成绩
字段名
数据类型
数据长度
允许空
课程名
Char
20
×
代课老师
Char
10
×
课程号
Int
10
×
成绩
Int
10
×
createtable学生成绩
(课程名char(20),
代课老师int(10),
课程号int(10)notnull,
成绩int(10)notnull,
primarykey(课程名,课程号号),
foreignkey(学号)references学生(学号))
第五章数据库的实施和维护
数据库物理设计完成之后,需要用RDBMS提供的数据定义语言和其他使用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,在经调试产生目标文件。
数据的载入
1、向学生表中插入三条信息:
(1)insertinto学生
values('04123134','冯丹',’111111','女',’1993-10-20’,’’,’CS’)
(2)insertinto学生
values('04123135','孙玉萍',’222222','女',’1992-01-20’,’’,’AS’)
(3)insertinto学生
values('04123129','王锐娟',’333333','女',’1992-07-28’,’’,’WS’)
2、选择课程中插入三条信息:
(1)insertinto课程
values('CS-020','英语','王小银','')
(2)insertinto课程
values('CS-110','数据库','王春梅','')
数据库的维护
在数据库运行阶段,对数据库经常性的维护工作主要是有DBA完成,它包括:
1.数据库的转储和恢复
2.数据库的安全性和完整性控制
3.数据库性能的监督、分析和改造
4.数据库的重组织与重构造
维护
数据库既是共享的资源,又要进行适当的保密。
DBA必须对数据库安全性和完整性控制负起责任。
尤其在计算机网络普遍引应用的今天,保证数据安全、防止黑客攻击、防止病毒入侵等,都是DBA所需要面对的。
按照设计阶段提供的安全防范和故障恢复规范,DBA要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。
数据库在运行过程中,由于应用环境发生变化,对安全性的要求可能发生变化,DBA要根据实际情况及时调整相应的授权和密码,以保证数据库的安全性。
同样数据库的完整性约束条件也可能会随应用环境的改变而改变,这时DBA也要对其进行调整,以满足用户的要求。
检测并改善数据库性能
目前许多DBMS产品都提供了检测系统性能参数的工具,DBA可以利用系统提供的这些工具,经常对数据库的存储空间及响应时间进行分析评价;结合用户的反映情况确定改进措施;及时改正运行中发现的错误;按用户的要求对数据库的现有功能进行适当的扩充。
但要注意在增加新功能时应保证原有功能和性能不受损害。
重新组织和构造数据库
数据库建立后,除了数据本身是动态变化外,随着应用环境的变化,数据库本身也必须变化以适应应用要求。
数据库运行一段时间后,由于记录在不断增加、删除和修改,会改变数据库的物理存储结构,使数据库的物理特性受到破坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。
因此,需要对数据库进行重新组织,即重新安排数据的存储位置,回收垃圾,减少指针链,改进数据库的响应时间和空间利用率,提高系统性能。
这与操作系统对“磁盘碎片”的处理的概念相似。
数据库的重组只是使数据库的物理存储结构发生变化,而数据库的逻辑结构不变,所以根据数据库的三级模式,可以知道数据库重组对系统功能没有影响,只是为了提高系统的性能。
由此可知,数据库的重组并不会改变原设计的数据逻辑结构和物理结构,而数据库的重构造则不同,它部分修改原数据库的模式或内模式,这主要是因为数据库的应用环境发生了变化,如需求变化、设计调整等。
例如增加新的数据项、改变数据类型、改变数据库的容量、增加或删除索引、修改完整性约束等。
DBMS一般都提供了重新组织和构造数据库的应用程序,以帮助DBA完成数据库的重组和重构工作。
只要数据库系统在运行,就需要不断地进行修改、调整和维护。
一旦应用变化太大,数据库重新组织和构造也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。
从头开始数据库设计工作,标准着一个新的数据库应用系统生命周期的开始。