软件工程 课设 学生选课系统 详细设计.docx
- 文档编号:11116316
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:13
- 大小:126.28KB
软件工程 课设 学生选课系统 详细设计.docx
《软件工程 课设 学生选课系统 详细设计.docx》由会员分享,可在线阅读,更多相关《软件工程 课设 学生选课系统 详细设计.docx(13页珍藏版)》请在冰豆网上搜索。
软件工程课设学生选课系统详细设计
学生管理(选课)系统
——详细设计说明书
目录
一.引言3
1.1编写目的3
1.2背景3
二.系统结构3
三.“代码评测”(1.4.0.0)模块设计说明3
3.1模块描述3
3.2功能3
3.3性能4
3.4输入项4
3.5输出项4
3.6设计方法(算法)4
3.7流程逻辑4
图1主业务流程图5
图2代码审核子模块流程图6
图3词法分析子模块流程图7
图4代码评测子模块流程图8
图5用例检测子模块流程图9
图6结果对比子模块流程图9
图7字符串匹配及得分统计子模块流程图10
图8数据保存子模块流程图11
图9结果反馈子模块流程图12
3.8接口12
3.9存储分配12
3.10注释设计13
文件头:
13
方法头:
13
方法中:
13
类头:
13
3.11限制条件13
3.12测试计划14
数据存储测试14
整体测试14
压力测试14
一.引言
1.1编写目的
为本程序的设计提供更完善的分模块设计。
1.2背景
a.本系统名称:
学生管理(选课)系统
b.本项目任务提出者:
郭子叶;开发者:
郭子叶,郑子豪,张宇涵,潘思阳;预期用户:
本校师生,以及可能面向的社会人士。
二.系统结构
由于本书只涉及到“代码评测”一个模块因此略过。
三.“代码评测”(1.4.0.0)模块设计说明
3.1模块描述
本模块属于本系统的核心模块之一。
本模块的设计用途为,对用户提交的代码进行处理,保存,并编译后返回结果。
本模块需要调用的功能较多,对系统资源也相对敏感,且因为属于核心功能之一,所以在本系统中比较重要。
3.2功能
本模块的主要功能为:
接受用户提交的代码、对代码进行合格性审核、当符合规则之后再将代码合格的代码编译运行,之后将结果返回给前台页面。
其中合格性审核处调用了“代码审核”子模块,该子模块主要检查代码长度以及是否含有非法字符。
检查之后将把审核结果返回至主模块。
而在代码编译运行时调用了“代码评测”子模块,该模块负责将代码进行编译,并在其中加入预先设定好的示例输入,之后将编译运行的结果保存后,反馈给主模块。
3.3性能
1.模块对程序执行的时间要求:
如果题目对程序运行时间有所限制(<=2000ms),则按照限制时间作为标准;如果题目对程序运行时间没有设立限制(>2000ms),则将按照2000ms作为标准。
若超过标准时间则将视为运行失败,并将“时间超标”的结果提交给结果反馈及数据存储模块。
2.模块对程序执行的资源要求:
如果题目对程序运行所占内存资源有所限制(<=64MB),则按照限制内存资源作为标准;如果题目对程序运行内存资源没有设立限制(>64MB),则将按照64MB作为标准。
若超过标准内存占用则将视为运行失败,并将“资源超标”的结果提交给结果反馈及数据存储模块。
3.4输入项
学生姓名,学号,性别,出生年月,照片
3.5输出项
“代码违规/编译错误/运行结果”反馈
3.6设计方法(算法)
由于本模块并未融入复杂算法,因此主要描述一些功能上的技术细节:
1.本模块在编译部分使用了“重定向”技术,将用户提交的代码保存成文件之后,通过调用配置好的编译器,对代码进行编译运行,并输出结果。
整个过程完全自动化,无需人工干预。
2.本模块采用了4层架构的设计实现。
具体如下:
独立设立了用于保存数据的数据层、用于控制行为的控制层、用于表达内容的视图层、用于处理业务的业务层。
每一层拥有各自的任务,分工明确,易于管理维护。
3.7流程逻辑
图1管理员用户管理员信息管理
图2管理员用户课程信息管理
图3管理员用户学生信息管理
图4身份选择
图5学生用户课程信息管理
图6学生用户选课信息管理
图7学生用户学生信息管理
图8用户登录
3.8接口
3.9存储分配
本模块除必要的编译系统文件以外,不再占据额外的存储空间。
一切生成数据将交由其它模块进行存储。
3.10注释设计
文件头:
1.公司名
2.文件名
3.版本号
4.完成日期
5.作者
6.文件功能说明
7.方法列表
方法头:
1.方法名
2.方法功能
3.参数描述
4.完成日期
5.作者
方法中:
1.对于调用其它文件内的方法,写明调用文件位置
2.在声明变量时写明变量的作用
3.对于错误输出说明详细意义
类头:
1.包含的属性
2.包含的方法列表
3.类的作用
3.11限制条件
模块在运行中,性能将受限于在线用户数量。
当同时编译运行用户数过多时,系统的运行效率可能将会受到比较大的影响。
同时受限于存储空间总量以及用户数量,存储空间在系统运行一段时间之后可能会出现不足的情况。
3.12测试计划
本模块的单体测试将主要分为以下几个部分:
运行测试,数据存储测试,整体测试以及压力测试
其中,分块测试包括:
1.提交测试:
用于检测页面提交的代码是否可以正常被检验并上传服务器。
输入项:
程序代码(正确/错误);输出项:
提交成功/代码错误提示。
2.编译运行测试:
用于检测正确提交的代码是否可以在服务器端被正确编译运行并返回变异结果。
输入项:
符合要求的程序代码;输出项:
对代码编译运行之后的结果。
3.时间监控测试:
用于检测编译成功的程序是否可以在运行时被正常计量运行时间。
输入项:
编译完成的程序;输出项:
程序运行的时间。
4.资源监控测试:
用于检测编译成功的程序是否可以在运行时被正常计量运行所占内存资源。
输入项:
编译完成的程序;输出项程序运行时所占据的最大资源。
数据存储测试包括:
1.文件存储测试:
用于测试生成的文件是否可以根据类型被正常存储至磁盘并生成链接存入数据库。
输入项:
需要被存储的文件(程序文件、代码文件、结果等);输出项:
文件存储成功提示且在磁盘上可以找到正确存储的文件。
2.数据存储测试:
用于测试存储后的文件是否可以正确的生成唯一的链接。
输入项:
需要被存储的文件(程序文件、代码文件、结果等);输出项:
生成的文件链接,且通过文件链接可以正常访问已被正确存储的文件。
整体测试包括:
1.整体测试:
用于测试整个系统的衔接是否正常、系统是否可以在正常条件下完美运作。
输入项:
用户程序代码。
输出项:
运行结果。
压力测试包括:
1.性能压力测试:
用于测试整个系统是否可以满足设计时承诺的“同时使用用户数量”。
测试将用多台电脑同时访问系统,同时编译运行程序。
考察在这样的情况下,系统是否依旧可以保持可以接受的运行效率且不出错误。
2.存储压力测试:
用于测试系统是否可以在多用户条件下依旧保持可以接受的存储速度、同时是否可以提前预警空间不足、同时在空间严重不足时做出相应的自我保护行为。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课设 学生选课系统 详细设计 学生 选课 系统 详细 设计