本科实验报告
课程名称:实验地点:专业班级:学生姓名:指导教师:软件工程导论学号:2015年5月15日
项目说明
教务管理系统之子系统——学院课程安排
1.系统简介
每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。
2.限定条件
(1)原则上,每位教师每学期主讲的课程门数不超过2门。
(2)严格限制:每位教师每年教学工作量不得低于300,不得超过600。
(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
(4)本系统的输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教
师自报的授课计划和学院制定的有关授课限制条件。
(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班
级下各学期的课程
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
(可以不含上课地点)。
附工作量计算子系统中的课堂教学工作量计算
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
(简化计算):
1.单班课
双班课
三班课
四班课
2.双语教学
计划学时*合班系数*2.0
3.精品课程
国家级精品课程
省级精品课程计划学时*合班系数*1.5计划学时*合班系数*1.1计划学时*1.0计划学时*1.3计划学时*1.6计划学时*2.0
软件需求
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
1任务概述
1.1目标:根据输入的各类信息及限制条件,给出教学任务书。
1.2运行环境:win7系统,java语言,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其他需求
接口需求:用户接口需求,软件接口需求。
用户界面需求:相对简洁易懂,好操作。
软件总体
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
要求
从需求分析的数据流图导出系统结构图,并进行优化,画出系统的软件结构图。
软件详细设计
1.设计③部分:是否满足条件算法名称CON
对A部分细化为
Ify为单班课
x=x+a*1
Ify为双班课
x=x+a*1.3
Ify为三班课
x=x+a*1.6
Ify为四班课
x=x+a*2.0
Ify为双语教学
x=x+a*2.0
Ify为国家级精品课程
x=x+a*b*1.5
Ify为省级精品课程
x=x+a*b*1.1
Returnx
功能:判断老师提交的授课计划是否满足条件
输入:授课计划和老师信息
老师主讲的课程门数的课程为z
老师出现严重教学事故c=1老师未出现严重教学事故c=0班级类别为y计划学时为a合班系数为b
输出:已通过的计划输入到课程信息
未通过的人员输入到教师信息
2.设计②部分:有效性检查
算法名称
check1
功能:判断学生输入的账号
输入:学生账号和学生信息
a为输入的账号b数据库中保存的学生账号
C为输入的密码d数据库中保存的账号密码
输出:有效信息到排课系统
无效输入则退出系统
附1的部分代码
package详细设计代码;
publicclassTest{
publicstaticvoidmain(String[]args){
inti=0,x=0;
ififififout.println("pass");
elseSystem.out.println("nopass");
}
}
软件测试
1.单元测试(白盒测试)
第一个大模块:
1.1审查:
测试用例:课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。
1.2再次审查:
测试用例:任课教师的职称+上课的班数+最高周学时数+最低周学时数
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第二个大模块:
2.1有效性检查
测试用例:学号+密码学号(是否存在)密码(是否正确)
2.2排课系统
测试用例:学号+课程名称+课程代码+课时+班级类别+班号
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第三个大模块:
3.1是否满足条件
300≤A≤600C=0测试用例:Z≤2
Z>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审计
测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+
计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}