学生选课系统详细设计说明书.docx
- 文档编号:29891902
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:27
- 大小:530.25KB
学生选课系统详细设计说明书.docx
《学生选课系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《学生选课系统详细设计说明书.docx(27页珍藏版)》请在冰豆网上搜索。
学生选课系统详细设计说明书
学生选课系统详细设计说明书
姓名:
任力健
学号:
1134110152
1。
1需求分析。
.。
。
。
.。
...。
....。
..。
。
.。
.。
。
..。
。
...。
..。
。
......。
。
。
2
6.计划26
1.需求分析
1.1需求分析
1。
1.1分析阶段
本项目所开发的学生选课系统完成学校对学生的选课信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力,告别以往的人工统计.方便学生、老师、管理员使用,学生可以在线查看可选课程信息、在线选课、信息修改、成绩查看,老师可以查选自己的课程人数、课程信息(包括开课时间、地点、开课方式),管理员可以对整个系统进行管理(包括系统管理、用户管理、课程管理).
系统模块划分如下:
1.1。
1。
1系统管理员需求分析
系统管理员负责整个系统的维护,其需求最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表、排课报表。
所涉及的信息包括课程信息、教师信息和学生信息。
因此系统管理员具有该系统的最高权限,能够编辑各信息模块,如插入一个新生的信息,增添一门课程的信息,删除退休教师的信息等.
1。
1.1.2教师需求分析
在该系统中,为方便教师工作,要求教师能够核实自己信息、查询所授课程的信息、查看自己教学班的信息,以及最后登记学生的成绩等.
图3.教师需求
1.1.1.3学生需求分析
该系统为学生主要提供选课服务,因此学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,进行相关操作.此外还应附带其他服务,如核实个人信息,查看教师信息、课程信息以便选课,查看自己选课结果,查询考试成绩等。
1.2任务概述
1.2。
1目标
本系统是为了更好管理学生选课排课信息而设计的。
由于学校的学生和课程繁多,包含的信息量大且复杂,有必要建立一个学生选课系统,使选课排课管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息.
1.2。
2运行环境
服务器配置包括硬件配置和软件配置,它们各自都有详细的要求,下面将分别进行介绍.
1、服务器端配置
(1)、硬件配置
安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求:
233兆赫(MHZ)Pentium或更高的微处理器(或与之相当的处理器)
使用256内存(RAM最小为64MB,最大为4GB)
不小于40MB的可用硬盘空间
(2)、软件配置
安装本软件之前,需要确保计算机已安装:
MicorsoftWindowsXP及以上的操作系统.
1。
3数据流图
1.4数据字典
教学班信息:
学生信息:
教师信息:
登录信息:
课程信息:
成绩信息:
课程表信息:
1.5系统完整性、安全性
1。
5.1对服务的要求
为保证该系统平稳、安全地运行,系统为用户提供的服务要有以下限制。
管理员具有该系统的最高权限,负责系统维护,更新。
教师只能查看个人的全部信息,若要修改个人信息,需向教务处申报,由管理员修改。
学生只能查看个人的全部信息,教师的部分信息,自己的选课结果,若要修改个人信息、选课信息,需向教务处申报,由教务处修改。
1。
5.2对性能的规定
精度:
此系统的数据输入大多数为字符串类型,也有表示成绩的浮点数,精度为6.
响应时间:
对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为1-2秒。
更新处理时间要求
用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。
数据的转换和传输也应该在人们的接受的等待时间内。
灵活行
(1)在操作方式上若发生变化,如无法使用浏览器进入系统,那么,可以使用命令方式进入如:
可以通过编写java程序与数据库联接,实现登录.
(2)因为本系统开发是使用jsp实现,这种开发技术具有java一样的很好的系统移植性。
(3)对于数据精度方面,应在数据库中加以限制;实现实体完整性,用户自定义完整性约束。
(4)在设计界面结构和数据结构是应留有对以后扩充系统功能的余地,如可以在每个数据字段上设计多个自定义字段。
2。
概念结构设计
2.1概念结构
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念结构主要特点:
(1)能真是、充分地反映显示世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个只是模型;
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键.
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换;
概念结构时各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定.
2.2学生选课系统概念结构设计
现在对所设计系统的需求作进一步的分析,产生概念结构设计的E—R模型。
由于这个系统并不复杂,因此可采用自顶向下的设计方法。
自顶向下设计的关键是确定系统的核心活动。
所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。
确定了核心活动之后,系统就有了可扩展的余地。
对于这个图书借阅管理系统,其核心活动是借阅,读者与图书之间是通过借阅发生联系的。
因此,此系统包含的实体有:
(1)学生:
用以描述学生的基本信息,用学号标识,老师、学生、管理员都可查询,其中管理员、学生可修改资料.
(2)任课老师:
用以描述老师的基本信息及登入密码,老师、管理员可查询、修改。
(3)管理员:
用以描述教务处管理员的基本信息及登入密码,只有管理员自己可查询、修改。
(4)课程表:
用以描述本学期全部可选课程的信息,学生、管理员、老师都可查看,只有管理员可修改。
(5)学生成绩表:
用以描述本学期全体学生的选课成绩,老师可修改。
(6)教学班信息表:
用以描述选修该老师的课的学生信息,及课程开设地点和时间,主要是老师查看及输入学生成绩。
经过初步分析,可以得到此系统中各实体所包含的基本属性如下:
(1)学生:
{学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept)}
(2)教师:
{工号(Tno),姓名(Tname),职称(Zhicheng)}
(3)管理员:
{用户名(Gname),登入密码(Gmima)}
(4)课程表:
{课程号(Cno),课程名(Cname),学分(Ccredit),上课时间(Ctime),上课地点(Cplace),代课老师(Tname)}
(5)学生成绩表:
{姓名(Sname),学号(Sno),课程号(Cno),成绩(Grade)}
(6)教学班信息表:
{学生姓名(Sno),学生学号(Sname),所在系(Sdept),上课地点(Place),上课时间(Time)}
2.2。
1系统实体E-R图
图1实体及其属性
(一)
图2实体及其属性图
(二)
2。
2。
2学生选课系统的分E—R图
图3老师需求管理E—R图
图4教务处需求管理的E-R图
图5学生需求管理的E-R图
2.2。
3学生选课系统E—R图
3。
逻辑结构设计
3.1逻辑结构设计
概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。
为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。
这就是数据库逻辑设计所要完成的任务。
数据库逻辑结构的设计分为两个步骤:
首先将概念设计所得的E—R图转换为关系模型;然后对关系模型进行优化,如下图所示
图4.1逻辑结构设计过程
关系模型是由一组关系(二维表)的结合,而E-R模型则是由实体、实体的属性、实体间的关系三个要素组成.所以要将E—R模型转换为关系模型,就是将实体、属性和联系都要转换为相应的关系模型。
3.2学生选课系统的逻辑结构设计
有了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模式.设计基本的关系模式主要从E—R模型出发,将其直接转换为关系模式。
根据转换规则,这个E-R转换的关系模式为:
(1)学生(学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept))
(2)任课老师(工号(Tno),姓名(Tname),职称(Zhicheng))
(3)教务处(用户名(Gname),登入密码(Gmima))
(4)课程表(课程号(Cno),课程名(Cname),学分(Ccredit),上课时间(Ctime),上课地点(Cplace),代课老师(Tname))
(5)学生成绩表(姓名(Sname),学号(Sno),课程号(Cno),成绩(Grade))
(6)教学班信息表(学生姓名(Sno),学生学号(Sname),所在系(Sdept),上课地点(Place),上课时间(Time),成绩(Grade))
现在分析一下这些关系模式。
由于在设计关系模式时是以现实存在的实体为依据,而且遵守一个基本表只描述现实世界的一个主题的原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上述所有这些关系模式都是第三范式的关系模式.
在设计好关系模式并确定好每个关系模式的主码后,接着根据这些关系模式之间的关联关系确定关系模式的外码。
由基本E-R模型可得,“学生"关系中的“学号和姓名”与“教学班信息表”关系中的“学生学号和学生姓名”分别是同语义且取值域相同。
4.物理设计
数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的中的是时间和空间效率。
4.1关系中的关系模式
图书管理系统中的关系模式如下:
(1)学生(学号,姓名,性别,年龄,所在系)主码:
学号
(2)任课老师(工号,姓名,职称)主码:
工号
(3)教务处(用户名,登入密码)主码:
用户名
(4)课程表(课程号,课程名,学分,上课时间,上课地点,代课老师)主码:
课程号
(5)学生成绩表(姓名,学号,课程号,成绩)主码:
学号,课程号
(6)教学班信息表(学生姓名,学生学号,所在系,成绩,上课地点,上课时间)主码:
学生学号
4.2基本表设计
利用MicrosoftSQLServer2000建立一个空数据库book,其中包括以下表。
表5。
1教务处
字段名
数据类型
数据长度
允许空
用户名
Char
20
×
登入密码
Char
20
×
createtable教务处
(用户名char(20)primarykey,
登入密码char(20)notnull)
表5。
2学生
字段名
数据类型
数据长度
允许空
学号
Int
10
×
姓名
Char
20
×
性别
Char
20
×
年龄
Char
20
×
所在系
Char
50
×
createtable学生
(学号int(10)primarykey,
姓名char(20)notnull,
性别char(20)notnull,
年龄char(20)notnull,
所在系char(50)notnull)
表5。
3任课老师
字段名
数据类型
数据长度
允许空
工号
Int
10
×
姓名
Char
20
×
职称
Char
20
√
createtable任课老师
(工号int(10)primarykey,
姓名char(20)notnull,
职称char(20)
表5。
4课程表
字段名
数据类型
数据长度
允许空
课程名
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
×
学号
Int
10
×
课程号
Int
10
×
成绩
Int
10
×
createtable学生成绩
(姓名char(20),
学号int(10),
课程号int(10)notnull,
成绩int(10)notnull,
primarykey(姓名,学号),
foreignkey(学号)references学生(学号))
表5。
6教学班信息表
字段名
数据类型
数据长度
允许空
学生姓名
Char
20
×
学生学号
Char
20
×
所在系
Int
10
×
成绩
Int
10
×
上课地点
Place
10
×
上课时间
Datetime
10
×
createtable教学班信息表
(学生姓名char(20)primarykey,
学生学号char(20)notnull,
所在系intnotnull,
成绩intnotnul,
上课地点placenotnul,
上课时间Datetimenotnul)
5.数据库的实施和维护
数据库物理设计完成之后,需要用RDBMS提供的数据定义语言和其他使用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,在经调试产生目标文件。
5.1数据的载入
1、向学生表中插入三条信息:
(1)insertinto学生
values(’2009010111’,’吴涛’,'男’,’21',’计算机系'’)
(2)insertinto学生
(3)values(’2009010222’,'李玲','女','21',’外语系’)
(3)insertinto学生
(4)values(2009010333',’王伟','男’,’22’,'化学系')
2、向课程表中插入三条信息:
(1)insertinto课程表
values(’1’,’旅游学’,’计算机','4’,’2:
00','3’,'李林’)
(2)insertinto课程表
values('2’,'计算机',’4’,’3:
00','3',’2007-1-1','陈飞')
(3)insertinto课程表
values('3,'花卉',’2','8:
00',’2','王强')
5。
2数据库的维护
在数据库运行阶段,对数据库经常性的维护工作主要是有DBA完成,它包括:
1.数据库的转储和恢复
2.数据库的安全性和完整性控制
3.数据库性能的监督、分析和改造
4.数据库的重组织与重构造
5.2。
1维护
数据库既是共享的资源,又要进行适当的保密。
DBA必须对数据库安全性和完整性控制负起责任。
尤其在计算机网络普遍引应用的今天,保证数据安全、防止黑客攻击、防止病毒入侵等,都是DBA所需要面对的.按照设计阶段提供的安全防范和故障恢复规范,DBA要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。
数据库在运行过程中,由于应用环境发生变化,对安全性的要求可能发生变化,DBA要根据实际情况及时调整相应的授权和密码,以保证数据库的安全性。
同样数据库的完整性约束条件也可能会随应用环境的改变而改变,这时DBA也要对其进行调整,以满足用户的要求.
5.2.2检测并改善数据库性能
目前许多DBMS产品都提供了检测系统性能参数的工具,DBA可以利用系统提供的这些工具,经常对数据库的存储空间及响应时间进行分析评价;结合用户的反映情况确定改进措施;及时改正运行中发现的错误;按用户的要求对数据库的现有功能进行适当的扩充。
但要注意在增加新功能时应保证原有功能和性能不受损害。
5。
2.3重新组织和构造数据库
数据库建立后,除了数据本身是动态变化外,随着应用环境的变化,数据库本身也必须变化以适应应用要求。
数据库运行一段时间后,由于记录在不断增加、删除和修改,会改变数据库的物理存储结构,使数据库的物理特性受到破坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。
因此,需要对数据库进行重新组织,即重新安排数据的存储位置,回收垃圾,减少指针链,改进数据库的响应时间和空间利用率,提高系统性能.这与操作系统对“磁盘碎片”的处理的概念相似.数据库的重组只是使数据库的物理存储结构发生变化,而数据库的逻辑结构不变,所以根据数据库的三级模式,可以知道数据库重组对系统功能没有影响,只是为了提高系统的性能。
由此可知,数据库的重组并不会改变原设计的数据逻辑结构和物理结构,而数据库的重构造则不同,它部分修改原数据库的模式或内模式,这主要是因为数据库的应用环境发生了变化,如需求变化、设计调整等.例如增加新的数据项、改变数据类型、改变数据库的容量、增加或删除索引、修改完整性约束等。
DBMS一般都提供了重新组织和构造数据库的应用程序,以帮助DBA完成数据库的重组和重构工作。
只要数据库系统在运行,就需要不断地进行修改、调整和维护。
一旦应用变化太大,数据库重新组织和构造也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。
从头开始数据库设计工作,标准着一个新的数据库应用系统生命周期的开始。
6、计划
6.1测试方案
6。
2测试项目测试方法:
黑盒测试
选取测试用例的原则:
1、所设计出的测试用例能够减少为达到合理测试所需要设计的附加测试用例数目
2、所设计出的测试用例能够告诉我们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在
3、正确的划分等价类,已根据等价类设计测试方案,以满足所有的测试都能追溯到用户需求
尽量避免含糊的测试用例。
尽量将具有相类似功能的测试用例抽象并归类。
尽量避免冗长和复杂的测试用例。
6.2测试项目
(一)学生管理模块功能测试
测试内容:
(1)密码验证功能
(2)选课功能
(3)密码修改功能
目的:
尽可能多的找出系统运行中会出现的错误,站在学生的立场,考虑学生在实际执行信息、成绩查询、选课功能时会出现的各种错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能.
(二)教师管理模块功能测试
测试内容:
(1)密码验证功能
(2)成绩录入功能
(3)成绩查询功能
(4)密码修改功能
目的:
尽可能多的找出系统运行中会出现的错误,站在教师的立场,考虑教师在实际执行成绩录入功能,课程表查询功能,以及学生班级成绩信息时会出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。
(三)管理员管理模块功能测试
测试内容:
(1)密码验证功能
(2)用户信息添加、修改、删除功能
(3)密码修改功能
(4)权限管理功能
(5)课程添加删除功能
目的:
尽可能多的找出系统运行中会出现的错误,站在管理员的立场,考虑管理员在实际执行过程中,进行权限管理,信息设置添加、修改、查询时肯能出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。
6。
3测试准备
首先,认真分析软件需求规格说明书以充分了解用户对系统的功能和性能需求.站在老师、学生和管理员的立场上进行思考
其次,在测试开始前期就应该制定出测试计划,以便能够有充分的时间和空间去了解用户需求。
然后根据测试计划,编写测试用例。
最后,执行测试用例,对测试结果进行分析,对错误加以改正,从而使该管理系统更加的完善,更加的便于用户使用
6。
4测试机构及人员
测试机构名称:
课程设计项目软件08-4班第四小组
负责人:
主要职责就是进行项目测试
7.测试项目说明
7.1测试项目名称及测试内容
测试分为三个模块进行:
学生管理模块功能测试
测试内容:
(1)密码验证功能
(2)选课功能
(3)密码修改功能
教师管理模块功能测试
测试内容:
(1)密码验证功能
(2)成绩录入功能
(3)成绩查询功能
(4)密码修改功能
管理员管理模块功能测试
测试内容:
(1)密码验证功能
(2)用户信息添加、修改、删除功能
(3)密码修改功能
(4)权限管理功能
7。
2测试用例
7.2。
1输入
7。
2。
2输出
7.2。
3步骤及操作
以上三点在测试用例中体现(测试用例图表)
登录测试用例
输入
操作及步骤
输出
输入教师号为空
点击登录
用户名不能为空
输入为注册教师号
点击登录
无此用户名
输入注册过的教师号密码为空
点击登录
请填写密码
输入注册过的教师号及错误密码
点击登录
密码错误
输入正确的教师号及密码
点击登录
成功登陆
密码修改测试用例
输入
操作及步骤
输出
新密码处为空
确定修改
请输入密码
再次输入密码为空
确定修改
两次密码不一致
新密码与再次输入不一致
确定修改
两次密码不一致
新密码与再次输入一致
确定修改
修改成功
教师管理模块测试用例
输入
操作及步骤
输出
没输入课程号
修改、录入成绩
请输入课程号
没输入学生号
修改、录入成绩
请输入学生号
没输入成绩
修改、录入成绩
请输入成绩
输入课程号不存在
修改、录入成绩
该学生没有选那门课程或没有该学生或该课程
输入学生号不存在
修改、录入成绩
课程号和学生号不匹配
修改、录入成绩
操作成功
输入范围之内的数据
修改、录入成绩
没输入班级
点击班级平均分
请输入班级
输入范围之外的班级
没有该记录
输入范围之内的班级
班级平均分为61
没输入学号
点击学生平均分
请输入学号
输入范围之外的学号
没有该记录
输入范围之内的学号
该学生平均成绩为92
没输入课程号
点击课程成绩查询
请输入课程号
输入范围之外的课程号
没有该记录
输入范围之内的课程号
该课程的平均分92,最高分93,最低分91
管理员管理模块测试用例(对于权限管理功能这里只列举教师管理,其他类似)
输入
操作及步骤
输出
输入某学生信息及修改项
修改
操作成功
某个信息象未填写
输入相应项
修改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 详细 设计 说明书