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