太原理工大学软件工程实验报告

发布时间:   来源:文档文库   
字号:


本科实验报告
课程名称:
实验项目:教务管理系统之子系统—学院课程安排报告
实验地点:
专业班级:
学生姓名:指导教师:2015软件工程导论

学号:


515





项目说明
教务管理系统之子系统——学院课程安排
1.系统简介
每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等)任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2.限定条件
1)原则上,每位教师每学期主讲的课程门数不超过2门。
2)严格限制:每位教师每年教学工作量不得低于300,不得超过6003)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
4)本系统的输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教
师自报的授课计划和学院制定的有关授课限制条件。
5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班
级下各学期的课程表(可以不含上课地点)。
附工作量计算子系统中的课堂教学工作量计算方法(简化计算):1.单班课计划学时*双班课计划学时*三班课计划学时*四班课计划学时*2.双语教学
计划学时*合班系数*3.精品课程
国家级精品课程计划学时*合班系数*省级精品课程计划学时*合班系数*



软件需求分析
1任务概述
目标:根据输入的各类信息及限制条件,给出教学任务书。运行环境:win7系统,java语言,SQL数据库。条件与约束:
1)原则上,每位教师每学期主讲的课程门数不超过2门。
2)严格限制:每位教师每年教学工作量不得低于300,不得超过6003)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。功能描述:
教务计划的录入,任课教师信息上传与查看,根据输入的数据与限制条件给出教学任务书。
2数据描述
输入输出:
输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计
划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。
数据流图:

a)顶层数据流图
b0层数据流图











c1层数据流图
数据字典

1)数据流条目
相关限制=任课教师的职称+上课的班数+最高周学时数+最低周学时数
任课教师的职称=教授+研究生
教学计划=课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数班级类别=本科+专科+成人教育+研究生授课计划=课程名称+班级类别+班号
教学任务书=课程名称+课程代码+课时+班级类别+班号课表=课程名称+课程代码+课时+班级类别+班号教学任务=课程名称+课程代码+课时+班级类别+班号合格名单=课程名称+课程代码+课时+班级类别+班号
已通过计划=教工号+课程名称+课程代码+课时+班级类别+班号未通过人员=教工号
通过名单=教工号+课程名称+课程代码+课时+班级类别+班号
2)数据存储条目文件名:课程信息
组成:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}组织方式:索引文件,以课程代码为关键文件名:教学任务书
组成:教工号+课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数组织方式:索引文件,以课程代码为关键文件名:学生信息组成:学号+班号+密码
组织方式:索引文件,以学号为关键文件名:老师信息
组成:教工号+密码+授课计划是否通过限定条件+是否出现严重教学事故

组织方式:索引文件,以教工号为关键文件名:人员信息组成:教务号+密码
组织方式:索引文件,以教务号为关键(3数据项
课程名称:别名:无类型:字符型长度:2{汉字}15课程代码:别名:无类型:整型长度:5课时:别名:无类型:整型长度:24)加工条目
加工名:教务管理系统编号:无
输入:授课计划,教学计划,限制条件输出:教学任务书,课表加工名:录入储存处理编号:1
输入:相关限制,教学计划
加工逻辑:将审查通过的教学计划添加相关限制,放入课程信息中加工名:学生查询编号:2输入:学生信息输出:课表

加工逻辑:If是学生
Then将教学任务书改为课表Else退出
加工名:编号:3
输入:授课计划、老师信息加工逻辑:if合格
根据设定的条件判断是否满足为合格计划加工名:限定条件编号:3
输入:授课计划、老师信息加工逻辑:If合格
Then修改课程信息
Else修改老师信息为授课计划未通过限定条件加工名:老师查询编号:4输入:教工号输出:教学任务加工逻辑:If是老师
Then根据教学计划书给出教学任务Else退出加工名:教务处编号:5输入:教务号输出:教学任务书

加工逻辑:if是教务人员Thenif审核通过
Then下达教学计划书Else修改课程信息Else退出加工名:审查编号:输入:教学计划输出:合格名单
加工逻辑:将满足计划的课程变为名单加工名:再次审查编号:输入:合格名单输出:课程信息
加工逻辑:查看相应教学计划是否添加了限制加工名:有效性检查编号:输入:学号输出:有效查询
加工逻辑:检查输入的学号是否有密码对应加工名:排课系统编号:
输入:教学任务书输出:课表
加工逻辑:将教学任务书根据班号划分课程为课表加工名:是否满足条件编号:

输入:授课计划、教师信息输出:已通过的计划、未通过的人员加工逻辑:if满足条件
Then输出已通过的计划Else输出未通过的人员加工名:更新信息编号:
输入:已通过的计划、未通过的人员输出:{课程信息|未通过人员}加工逻辑:if是计划
Then修改课程信息
Else修改教师信息为授课计划未通过限定条件加工名:检查编号:输入:教工号输出:有效值
加工逻辑:检查输入的教工号是否有密码对应加工名:查询编号:
输入:课程信息和教学任务书输出:教学任务
加工逻辑:根据课程信息和教学任务书查看教学任务加工名:审核编号:输入:教务号输出:有效值
加工逻辑:检查输入的教务号是否有密码对应

加工名:审计编号:
输入:有效值,课程信息输出:通过名单
加工逻辑:判断课程是否可以通过,给出通过名单加工名:更新信息编号:输入:通过名单
输出:课程信息、教学任务书
加工逻辑:修改课程信息是否通过并给出教学任务书
3数据库描述
采用SQL数据库,信息放在服务器端数据库中,各种用户根据权限不同登陆系
统,进行相关操作。
4其他需求
接口需求:用户接口需求,软件接口需求。用户界面需求:相对简洁易懂,好操作。

软件总体设计

要求
从需求分析的数据流图导出系统结构图,并进行优化,画出系统的软件结构图。
①部分



②部分


③部分

④部分


⑤部分


软件详细设计

1.设计③部分:是否满足条件
算法名称CON
AIfyx=x+a*1Ifyx=x+a*Ifyx=x+a*Ifyx=x+a*Ifyx=x+a*
Ifyx=x+a*b*Ifyx=x+a*b*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;if(z<=2i++;if(300<=A<=600i++;

}
}
if(c=0i++;if(i=3"pass";else"nopass";

软件测试
1.单元测试(白盒测试)
第一个大模块:审查:
测试用例:课程名称+课程代码+课时+班级类别+班号+计划学时+合班系数依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。再次审查:
测试用例:任课教师的职称+上课的班数+最高周学时数+最低周学时数依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第二个大模块:有效性检查
测试用例:学号+密码学号(是否存在)密码(是否正确)排课系统
测试用例:学号+课程名称+课程代码+课时+班级类别+班号
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第三个大模块:是否满足条件
测试用例:Z2300A600C=0Z2300A600C=0

Z2A300A600C=0Z2300A600C0Z2A300A600C=0Z2A300A600C0Z2300A600C0Z2A300A600C0更新信息
测试用例:教工号+课程名称+课程代码+课时+班级类别+班号
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第四个大模块:检查
测试用例:教工号+密码教工号(是否存在)密码(是否正确)查询
测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+
合班系数+{已被选择|未被选择}+{通过|未通过}
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。
第五个大模块:测试用例:审核
测试用例:教务号+密码教务号(是否存在)密码(是否正确)审计
测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+合班系数+{已被选择|未被选择}+{通过|未通过}依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。更新信息
测试用例:教工号+课程名称+课程代码+课时+班级类别+班号
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。


2.集成测试(黑盒测试
利用自底向上集成方法,根据功能划分简略的示意图


3.确认测试(黑盒测试)由专门的测试人员和用户参加进行测试。

4.系统测试
验证功能是否满足需求,考虑安全性,可靠性,性能等多方面因素。

实验心得:
花了很多时间去参考书上和网上的例子,最终选定用面向过程
的方法来做项目,前期花了很多时间画图,初步构建了一个项目的模型出来,然而其实只是简单的做了做,因为sql才刚开设课程,只能实现部分的代码编写,自己还有很多需要学习的地方。如果有机会下次要试试用面向对象的方法,用UML来做做项目,增强自己的能力。

本文来源:https://www.2haoxitong.net/k/doc/20194e0e81eb6294dd88d0d233d4b14e85243eb9.html

《太原理工大学软件工程实验报告.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式