1学生选课系统详细设计文档执笔人:李伟宽梁晋源作者:李伟宽梁晋源日期:2017-5.16学号:20151561417820151561419821引言...........................................31.1编写目的.....................................31.3定义.........................................31.4参考资料.....................................32程序系统的结构.................................43程序1(标识符)设计说明.......................113.1功能........................................153.2性能........................................153.3输人项......................................153.4输出项......................................153.5算法........................................153.6流程逻辑....................................153.7接口........................................163.8存储分配....................................163.9注释设计....................................163.10限制条件...................................173.11测试计划...................................174用户界面设计说明..............................184.1用户界面说明................................194.2用户界面与模块关系表........................203详细设计说明书1引言1.1编写目的该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括系统的模块划分、程序系统的结构、各个模块的流程以及各层次中每个程序的设计考虑。用户群体为需要选课的学生。1.2定义(1)ActiveServerPages(ASP)是服务器端脚本编写环境,是由Server端脚本、对象及组件拓展过的标准主页使用它可以创建和运行动态、交互的Web页和基于Web的功能强大的应用程序。ASP程序是由文本、HTML标记和脚本组合而成的。在ASP程序中,脚本通过分隔符与文本和HTML标记区分开来。ASP用分隔符〈%和%〉包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。在ASP分隔符〈%和%〉内,可以包括主脚本语言允许的任何语句、表达式和操作符等。(2)SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。1.4参考资料1.魏志华.《软件工程》.北京:清华大学出版社,20052.张海藩.《软件工程导论》.北京:清华大学出版社,20133.RogerS.Pressman.软件工程-实践者之路第五版.影印.清华大学出版社.200142程序系统的结构1.总体模块如图1所示。52.2程序文件清单子系统名程序文件名运行平台编程语言简要描述教务处管理员系统学生管理模块教师管理模块课程管理模块成绩模块资料管理Windows系统C语言对学生信息的添加,修改删除操作对教师信息的添加,修改删除操作对课程的添加,,对课程进行修改对管理员信息的修改以及登陆密码修改教师系统教师信息模块教师查询模块成绩录入模块课程信息发布模块Windows系统C语言查看课程,查看学生,提交学生成绩,密码修改,课程信息发布,公共信息查询学生系统学生查询信息模块学生选课模块成绩模块Windows系统C语言查询选课名单,查询教师信息,修改课程信息,修改密码,查看考试成绩,公共信息查询2.3程序文件说明:2.3.1模块一:登录模块模块功能描述:对登录用户进行身份验证,用户通过选择自身身份(学生、教师、管理员),并输入相应密码,由后台程序进行身份验证,并登陆到相应的功能页面(学生管理界面、教师管理6界面、管理员界面)。输入项:学生号或教师号或管理员号以及相应密码。数据结构:线性结构(链表或数组)数据库中存储内容:学生、教师、管理员的登录号以及相应的密码。涉及的算法:(在登录号按从小到大的顺序存储的情况下,用二分查找发效率高)将输入的登录号和密码与数据库中的存储内容进行比对,若相符合调用相应的管理界面。调用的模块:学生管理界面、教师管理界面、管理员界面。2.3.2模块二:查询选课信息模块编写者:梁晋源,李伟宽编写日期:2017-5-16程序功能描述:查询教师信息,修改课程信息,查询选课名单输入/输出项:教师信息,课程信息主要数据结构:线性结构存取的数据库表和字段:课程名称,课程号,教师姓名7调用的公共函数:stdio.h2.3.3模块三:学生选课模块编写者:梁晋源,李伟宽编写日期:2017-5-16程序功能描述:选课,退选,查询输入/输出项:学生信息,课程名,教师名主要数据结构:线性结构存取的数据库表和字段:课程信息,学号,教师名调用的其他程序:无调用的公共函数库或者公共函数:stdio.h,stdlib.h算法:查找课程否是2.3.4模块四:密码修改模块编写者:梁晋源,李伟宽编写日期:2017-5-16程序功能描述:修改登录密码课程信息公共课选修课查询选择课程信息确定课程信息8输入/输出项:学生或教师或管理员密码,登陆成功或失败主要数据存储:线性结构存取的数据库表和字段:各系统的密码调用的其他程序:无调用的公共函数库或公共函数:stdio.h,stdlib.h算法:账号与密码的匹配否是是否2.25模块五:查询已公布课程信息(教师模块)输入账号密码检查输入数据是否正确密码错误是否修改输入新密码再次输入新密码进入系统系统修改数据库密码进入系统9模块功能描述:教师登录相应界面后,调用该模块查看已公布课程信息。输入项:无数据结构:线性结构(链表或结构体)。涉及的算法:输出课程信息,并调用下属模块对输出信息进行修改。调用的模块:删除发布信息、修改发布信息。2.3.6模块六:课程管理模块编写者:梁晋源,李伟宽编写日期:2017-5-16程序功能描述:对课程的添加,修改输入/输出项:课程添加和修改,删除主要数据结构:链表存取的数据库和字段:课程信息,教师信息调用其它程序:添加和删除模块10调用公共函数库:stdio.h,string.h,stdlib.h算法:链表的增加和删除输入账号密码是否2.27模块七:成绩管理(管理模块)模块功能描述:教务处管理员对学生的成绩进行查询和统计。输入项:管理员通过switch()选择函数,调用此模块。数据结构:线性结构。涉及的算法:运用二分查找法对学生成绩进行查找(学生成绩按从小到大排序),按照学生成绩进行分段统计,分为60分以下(不及格),60—80(良),80—90(好),90—100(优秀),四个等级。调用的模块:成绩查询,成绩统计。课程信息添加课程信息增加课程名,教师名修改课程信息修改课程名,课程对应的教师名输入管理员账号和密码113程序1(标识符)设计说明3.1功能用IPO图描述输入输出。图5课程管理模块IPO图IPO图系统:学生选课系统作者:梁晋源,李伟宽模块:课程管理模块日期:2017-5-16编号:P1被调用者:管理员调用:系统数据库输入:课程编号输出:数据库中课程的信息处理:管理员通过登录课程管理模块,查看各个课程的情况,并做出相应的信息。局部数据元素:课程号、课程名、开课日期等。注释:12图6学生管理模块IPO图IPO图系统:学生选课系统作者:梁晋源,李伟宽模块:学生管理模块日期:2017-5-16编号:P2被调用者:学生调用:系统数据库输入:学生学号输出:学生信息处理:学生通过验证信息登陆学生管理模块,然后查看个人信息情况。并作出相应的处理。局部数据元素:学生学号等。注释:13图7教师管理模块IPO图IPO图系统:学生选课系统作者:梁晋源,李伟宽模块:教师管理模块日期:2017-5-16编号:P3被调用者:教师调用:系统数据库输入:教师编号输出:教师信息处理:教师通过验证信息登陆教师管理模块,然后查看个人信息情况。并作出相应的处理局部数据元素:教师编号等。注释:14图8查询信息模块IPO图IPO图系统:学生选课系统作者:梁晋源,李伟宽模块:查询信息模块日期:2017-5-16编号:P4被调用者:教师、学生调用:系统数据库输入:教师编号、学生编号输出:个人成绩,课程安排处理:学生、教师通过验证信息登陆查询信息模块,然后查看个人信息情况、个人成绩、课程安排。并作出相应的处理。局部数据元素:教师编号、学生编号等。注释:15图8查询信息模块IPO图3.2性能此系统的输入数据大多数为字符串类型,也有表示成绩的整型。响应时间要求:对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为1-2s。更新处理时间要求:用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。数据的转换和传输时间的要求也应该在人们的接受的等待时间内;用户操作时间为半个小时,若是超过此时间,则网页失效,退出本网页。在设计界面结构和数据结构应该保留对以后系统功能扩充的余地,方便以后系统升级或者是需求功能的改变。IPO图系统:学生选课系统作者:梁晋源,李伟宽模块:成绩模块日期:2017-5-16编号:P5被调用者:教师、学生,管理员调用:系统数据库输入:成绩输出:成绩统计处理:学生、教师管理员通过验证信息登陆,然后对成绩进行录入,统计以及对其进行排名,查询局部数据元素:教师编号、学生编号等。注释:16能够同时允许多人同时登入,系统性能瓶颈是课程的高级查询,输入条件多,关联表也多,并且如果课程信息数量越多,查询也就越慢,为了达到性能要求,选课的高级查询采用存储过程,经常使用的查询字段建立索引。并且保证数据冗余最小化。3.3输人项输入的数据一般为字符串,对于整型输入的数据范围,应该有所提示,并且在数据库的完整性约束里进行约束。输入格式应该和数据库中关系表的格式保持一致。3.4输出项对输出的数据应该能够导出到word文档,名称为选课系统,类型是能导出到Word文档,输出格式赢与数据库中关系表保持一致。文件加密方式采用MD5加密,学生选课输出数量应不多于2门课程。3.5算法本部分没有采用自定义的算法。3.6流程逻辑图9学生选课流程图173.7接口1.硬件接口由于采用B/S架构,系统的客户端可以在所有的PC机上使用,只要有浏览器即可。服务器也可以运行在所有的PC机上,鉴于效率问题,建议使用专业的服务器。2.软件接口客户端采用Windows2000/XP以上操作系统,InternetExplorer6.0以上浏览器。3.8存储分配本程序在c进行编码,直接的内存分配由c运行时分配。本组件内所依赖的变量、结构要求全部在组件元素内申明。3.9注释设计在适当的代码位置添加注释。1.模块首部。2.各分枝点处。3.变量的功能、范围、缺省条件等。4.使用的逻辑加注释。3.10限制条件所有用户的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,学生用户和教师用户。3.11测试计划在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文