1、11 引言 .21.1 编写目的 21.2 背景 21.3 定义 21.4 参考资料 22 程序系统的结构 .33 程序 1(标识符)设计说明 53.1 功能 53.2 性能 63.3 输人项 103.4 输出项 103.5 算法 103.6 流程逻辑 103.7 接口 113.8 存储分配 113.9 注释设计 113.10 限制条件 123.11 测试计划 123.12 尚未解决的问题 122详细设计说明书1 引言1.1 编写目的该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括系统的模块划分、程序系统的结构、各个模块的流程以及各层次中
2、每个程序的设计考虑。用户群体为需要选课的学生。1.2 背景软件系统名称:学生选课系统 软件实现计算机:LENOVO任务提出者:黄素红开发者:黄素红用户:在校大学生1.3 定义(1)Active Server Pages (ASP) 是服务器端脚本编写环境,是由 Server 端脚本、对象及组件拓展过的标准主页使用它可以创建和运行动态、交互的 Web 页和基于 Web 的功能强大的应用程序。ASP 程序是由文本、HTML 标记和脚本组合而成的。在 ASP 程序中,脚本通过分隔符与文本和 HTML 标记区分开来。ASP 用分隔符%和% 包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚
3、本语言进行处理。在 ASP 分隔符%和%内,可以包括主脚本语言允许的任何语句、表达式和操作符等。(2)SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以XML 格式轻松存储和检索数据。1.4 参考资料1.魏志华.软件工程.北京:清华大学出版社,20052.张海藩.软件工程导论.北京:清华大学出版社,20133. Roger S. Pressman.软件工程实践者之
4、路 第五版.影印.清华大学出版社.200132 程序系统的结构1. 总体模块如图 1 所示。学生选课系统管理员 教师 学生 退出用户管理 教师管理 学生管理 选/退课 成绩查询 信息管理 修改密码 退出系统课程信息 成绩录入 信息管理 修改密码图 1 模块分析图2.教师模块:教师首先登录到系统,登录的时候输入教师编号和密码。该密码由管理员设置,通过各学院教师干事发给每个教师用户。在输入教师编号和密码之后,系统将验证教师编号和密码是否正确。如果验证通过,就使教师处于登录状态。否则,系统显示教师账号或密码错误的信息。教师登录到系统后,可以使用可设课程的系统功能。在开设课程的时候,要求输入课程编号、
5、课程名信息。提交信息后,系统会到数据库中验证该课程是否已经开设过。若没有,则统一开设该课程。教师在开设了课程以后,可以删除已经开设的课程。教师可以把成绩录入到系统中。图 2 教师模块分析图3.学生模块:教师系统登录 开设课程 删除课程 录入成绩4学生首先登录到系统,登录的时候输入学生编号和密码。该密码由管理员设置,通过各学院教学干事发给每个学生用户。在输入教师编号和密码之后,系统将验证学生编号和密码是否正确。如果验证通过,就使学生处于登录状态。否则,系统显示学生账号或密码错误的信息。学生登录到系统后,可以使用选课系统功能。各门课程有各个教师开设,学生在系统中可以查到所有开设的可选的课程,然后进
6、行选择。选择过的课程就不会再出现在学生可选的课程栏中。学生选择了部分课程后,可以删除自己选择的课程,删除以后的课程会重新出现在学生可选的课程栏中。学生的每门课程都会有一个考试成绩,改成绩由教师录入系统。学生在系统中可以查询自己所有课程的考试成绩。图 3 学生模块分析图3.管理员模块:管理员首先要登录到系统,登录的时候输入管理员账号和密码。该密码由更高一级的人员设置。在输入管理员账号和密码之后,系统将验证管理员账号和密码是否正确。如果验证通过,就使管理员处于登录状态。否则,系统显示管理员账号或密码错误的信息。管理员登录到系统后,可以使用添加学生账号的功能。在添加的过程中,要求输入学生学号、密码、
7、姓名、院系和专业信息。提交以后,系统会到数据库去验证该学生账号是否已经建立。如果还没有建立,则建立该学生账号。管理员可以使用删除学生账号的功能。系统在删除学生账号之前,会先删除账号所选择的所有课程,然后再 删除该账号。管理员可以使用添加教师账号的功能。系统在添加的过程中,要求输入教师编号、密码、姓名和院系信息。提交信息以后,系统会到数据库中验证该教师账号是否已经建立。如果还没有建立,则建立该教师账号。学生系统登录 选课 删除选课 查询成绩5图 4 管理员模块分析图3 程序 1(标识符)设计说明3.1 功能用 IPO 图描述输入输出。管理员系统登录新学生账号建立新教师账号 删除账号6图 5 课程
8、管理模块 IPO 图IPO 图系统:学生选课系统 作者:黄素红模块:课程管理模块 日期:2016-05编号:P1被调用者:管理员 调用:系统数据库输入:课程编号 输出:数据库中课程的信息处理:管理员通过登录课程管理模块,查看各个课程的情况,并做出相应的信息。局部数据元素:课程号、课程名、开课日期等。注释:IPO 图系统:学生选课系统 作者:黄素红模块:学生管理模块 日期:2016-05编号:P27图 6 学生管理模块 IPO 图被调用者:学生 调用:系统数据库输入:学生学号 输出:学生信息处理:学生通过验证信息登陆学生管理模块,然后查看个人信息情况。并作出相应的处理。局部数据元素:学生学号等。
9、 注释:IPO 图系统:学生选课系统 作者:黄素红模块:教师管理模块 日期:2016-05编号:P38图 7 教师管理模块 IPO 图被调用者:教师 调用:系统数据库输入:教师编号 输出:教师信息处理:教师通过验证信息登陆教师管理模块,然后查看个人信息情况。并作出相应的处理局部数据元素:教师编号等。 注释:IPO 图系统:学生选课系统 作者:黄素红模块:查询信息模块 日期:2016-05编号:P49图 8 查询信息模块 IPO 图3.2 性能此系统的输入数据大多数为字符串类型,也有表示成绩的整型。响应时间要求:对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为 1-2 s。更
10、新处理时间要求:用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。数据的转换和传输时间的要求也应该在人们的接受的等待时间内;用户操作时间为半个小时,若是超过此时间,则网页失效,退出本网页。在设计界面结构和数据结构应该保留对以后系统功能扩充的余地,方便以后系统升级或者是需求功能的改变。能够同时允许多人同时登入,系统性能瓶颈是课程的高级查询,输入条件多,关联表也多,并且如果课程信息数量越多,查询也就越慢,为了达到性能要求,选课的高级查询采用存储过程,经常使用的查询字段建立索引。并且保证数据冗余最小化。被调用者:教师、学生 调用:系统数据库输入:教师编号、学生编号 输出:个人成绩,课程
11、安排处理:学生、教师通过验证信息登陆查询信息模块,然后查看个人信息情况、个人成绩、课程安排。并作出相应的处理。局部数据元素:教师编号、学生编号等。注释:103.3 输人项输入的数据一般为字符串,对于整型输入的数据范围,应该有所提示,并且在数据库的完整性约束里进行约束。输入格式应该和数据库中关系表的格式保持一致。3.4 输出项对输出的数据应该能够导出到 word 文档,名称为选课系统,类型是能导出到 Word 文档,输出格式赢与数据库中关系表保持一致。文件加密方式采用 MD5 加密,学生选课输出数量应不多于 2 门课程。3.5 算法本部分没有采用自定义的算法。3.6 流程逻辑图 9 学生选课流程
12、图113.7 接口1 硬件接口 由于采用 B/S 架构,系统的客户端可以在所有的 PC 机上使用,只要有浏览器即可。服务器也可以运行在所有的 PC 机上,鉴于效率问题,建议使用专业的服务器。2软件接口 客户端采用 Windows 2000/XP 以上操作系统, Internet Explorer 6.0 以上浏览器。3.8 存储分配本程序在高级语言 JAVA 进行编码,直接的内存分配由 JAVA 运行时分配。 本组件内所依赖的变量、结构要求全部在组件元素内申明。3.9 注释设计在适当的代码位置添加注释。1. 模块首部。2. 各分枝点处。3. 变量的功能、范围、缺省条件等。4. 使用的逻辑加注释
13、。3.10 限制条件所有用户的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,学生用户和教师用户。3.11 测试计划在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文件名中加入文档类型来解决。测试模块分为三大模块,分别是管理员模块、学生用户模块、教师模块。教师模块:1.测试教师登录是否成功2.能否开设课程,删除课程学生模块:1.测试学生是否登录成功2.学生是否能成功选课,是否能删除课程管理员模块:1.是否能登录成功122.是否能添加学生用户与教师用户3.12 尚未解决的问题1.课程编号 id 在数据库中为 32 位随机生成的 varchar 类型,此功能未完善。2.课程显示为图片加名称,图片与名称未能完全匹配。