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