还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
本科实验报告课程名称软件工程导论实验项目教务管理系统之子系统—学院课程安排报告实验地点专业班级学号学生姓名指导教师2015年5月15日项目说明教务管理系统之子系统——学院课程安排1.系统简介每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、__教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程2.限定条件
(1)原则上,每位教师每学期主讲的课程门数不超过2门
(2)严格限制每位教师每年教学工作量不得低于300,不得超过600
(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务
(4)本系统的输入项至少包括教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件
(5)本系统的输出项至少包括教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)附工作量计算子系统中的课堂教学工作量计算方法(简化计算)1.单班课计划学时*
1.0双班课计划学时*
1.3三班课计划学时*
1.6四班课计划学时*
2.02.双语教学计划学时*合班系数*
2.03.精品课程国家级精品课程计划学时*合班系数*
1.5省级精品课程计划学时*合班系数*
1.1软件需求分析1任务概述
1.1目标根据输入的各类信息及限制条件,给出教学任务书
1.2运行环境win7系统,j__a语言,SQL数据库
1.3条件与约束
(1)原则上,每位教师每学期主讲的课程门数不超过2门
(2)严格限制每位教师每年教学工作量不得低于300,不得超过600
(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务
1.4功能描述教务计划的录入,任课教师信息上传与查看,根据输入的数据与限制条件给出教学任务书2数据描述
2.1输入输出输入项至少包括教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件,输出项至少包括教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)
2.2数据流图(a)顶层数据流图(b)0层数据流图(c)1层数据流图
2.3数据字典
(1)数据流条目相关限制=任课教师的职称+上课的班数+最高周学时数+最低周学时数任课教师的职称=教授+研究生教学计划=课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数班级类别=本科+专科+__教育+研究生授课计划=课程名称+班级类别+班号教学任务书=课程名称+课程代码+课时+班级类别+班号课表=课程名称+课程代码+课时+班级类别+班号教学任务=课程名称+课程代码+课时+班级类别+班号合格__=课程名称+课程代码+课时+班级类别+班号已通过计划=教工号+课程名称+课程代码+课时+班级类别+班号未通过人员=教工号通过__=教工号+课程名称+课程代码+课时+班级类别+班号
(2)数据存储条目文件名课程信息组成教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}__方式索引文件,以课程代码为关键文件名教学任务书组成教工号+课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数__方式索引文件,以课程代码为关键文件名学生信息组成学号+班号+____方式索引文件,以学号为关键文件名老师信息组成教工号+__+授课计划是否通过限定条件+是否出现严重教学事故__方式索引文件,以教工号为关键文件名人员信息组成教务号+____方式索引文件,以教务号为关键3数据项课程名称别名无类型字符型长度2{汉字}15课程代码别名无类型整型长度5位课时别名无类型整型长度2位
(4)__条目__名教务管理系统编号无输入授课计划,教学计划,限制条件输出教学任务书,课表__名录入储存处理编号1输入相关限制,教学计划__逻辑将审查通过的教学计划添加相关限制,放入课程信息中__名学生查询编号2输入学生信息输出课表__逻辑If是学生Then将教学任务书改为课表Else退出__名编号3输入授课计划、老师信息__逻辑if合格根据设定的条件判断是否满足为合格计划__名限定条件编号3输入授课计划、老师信息__逻辑If合格Then修改课程信息Else修改老师信息为授课计划未通过限定条件__名老师查询编号4输入教工号输出教学任务__逻辑If是老师Then根据教学计划书给出教学任务Else退出__名教务处编号5输入教务号输出教学任务书__逻辑if是教务人员Thenif审核通过Then下达教学计划书Else修改课程信息Else退出__名审查编号
1.1输入教学计划输出合格____逻辑将满足计划的课程变为____名再次审查编号
1.2输入合格__输出课程信息__逻辑查看相应教学计划是否添加了限制__名有效性检查编号
2.1输入学号输出有效查询__逻辑检查输入的学号是否有__对应__名排课系统编号
2.2输入教学任务书输出课表__逻辑将教学任务书根据班号划分课程为课表__名是否满足条件编号
3.1输入授课计划、教师信息输出已通过的计划、未通过的人员__逻辑if满足条件Then输出已通过的计划Else输出未通过的人员__名更新信息编号
3.2输入已通过的计划、未通过的人员输出{课程信息|未通过人员}__逻辑if是计划Then修改课程信息Else修改教师信息为授课计划未通过限定条件__名检查编号
4.2输入教工号输出有效值__逻辑检查输入的教工号是否有__对应__名查询编号
4.2输入课程信息和教学任务书输出教学任务__逻辑根据课程信息和教学任务书查看教学任务__名审核编号
5.1输入教务号输出有效值__逻辑检查输入的教务号是否有__对应__名审计编号
5.2输入有效值,课程信息输出通过____逻辑判断课程是否可以通过,给出通过____名更新信息编号
5.3输入通过__输出课程信息、教学任务书__逻辑修改课程信息是否通过并给出教学任务书3数据库描述采用SQL数据库,信息放在服务器端数据库中,各种用户根据权限不同登陆系统,进行相关操作4其他需求接口需求用户接口需求,软件接口需求用户界面需求相对简洁易懂,好操作软件总体设计要求从需求分析的数据流图导出系统结构图,并进行优化,画出系统的软件结构图
①部分
②部分
③部分
④部分
⑤部分软件详细设计
1.设计
③部分是否满足条件算法名称CON对A部分细化为Ify为单班课x=x+a*1Ify为双班课x=x+a*
1.3Ify为三班课x=x+a*
1.6Ify为四班课x=x+a*
2.0Ify为双语教学x=x+a*
2.0Ify为国家级精品课程x=x+a*b*
1.5Ify为省级精品课程x=x+a*b*
1.1Returnx功能判断老师提交的授课计划是否满足条件输入授课计划和老师信息老师主讲的课程门数的课程为z老师出现严重教学事故c=1老师未出现严重教学事故c=0班级类别为y计划学时为a合班系数为b输出已通过的计划输入到课程信息未通过的人员输入到教师信息
2.设计
②部分有效性检查算法名称check1功能判断学生输入的账号输入学生账号和学生信息a为输入的账号b数据库中保存的学生账号C为输入的__d数据库中保存的账号__输出有效信息到排课系统无效输入则退出系统附1的部分代码package详细设计代码;publicclassTest{publicstaticvoid__inString[]args{inti=0x=0;ifz=2i++;if300=A=600i++;ifc=0i++;ifi=3System.out.printlnpass;elseSystem.out.printlnnopass;}}软件测试
1.单元测试(白盒测试)第一个大模块
1.1审查测试用例课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推
1.2再次审查测试用例任课教师的职称+上课的班数+最高周学时数+最低周学时数依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推第二个大模块
2.1有效性检查测试用例学号+__学号(是否存在)__(是否正确)
2.2排课系统测试用例学号+课程名称+课程代码+课时+班级类别+班号依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推第三个大模块
3.1是否满足条件测试用例Z≤2300≤A≤600C=0Z>2300≤A≤600C=0Z≤2A<300或A>600C=0Z≤2300≤A≤600C≠0Z>2A<300或A>600C=0Z≤2A<300或A>600C≠0Z>2300≤A≤600C≠0Z>2A<300或A>600C≠
03.2更新信息测试用例教工号+课程名称+课程代码+课时+班级类别+班号依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推第四个大模块
4.1检查测试用例教工号+__教工号(是否存在)__(是否正确)
4.2查询测试用例教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推第五个大模块测试用例
5.1审核测试用例教务号+__教务号(是否存在)__(是否正确)
5.2审计测试用例教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推
5.3更新信息测试用例教工号+课程名称+课程代码+课时+班级类别+班号依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推
2.集成测试黑盒测试利用自底向上集成方法,根据功能划分简略的示意图
3.确认测试(黑盒测试)由专门的测试人员和用户参加进行测试
4.系统测试验证功能是否满足需求,考虑安全性,可靠性,性能等多方面因素实验心得花了很多时间去参考书上和网上的例子,最终选定用面向过程的方法来做项目,前期花了很多时间画图,初步构建了一个项目的模型出来,然而其实只是简单的做了做,因为sql才刚开设课程,只能实现部分的代码编写,自己还有很多需要学习的地方如果有机会下次要试试用面向对象的方法,用UML来做做项目,增强自己的能力。