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