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