收藏 分享(赏)

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

上传人:精品资料 文档编号:10794223 上传时间:2020-01-09 格式:DOC 页数:15 大小:892.26KB
下载 相关 举报
太原理工大学软件工程实验报告.doc_第1页
第1页 / 共15页
太原理工大学软件工程实验报告.doc_第2页
第2页 / 共15页
太原理工大学软件工程实验报告.doc_第3页
第3页 / 共15页
太原理工大学软件工程实验报告.doc_第4页
第4页 / 共15页
太原理工大学软件工程实验报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、本科实验报告课程名称: 软件工程导论 实验项目:教务管理系统之子系统学院课程安排报告 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 2015 年 5 月 15 日项目说明教务管理系统之子系统学院课程安排1系统简介每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处

2、给出下个学期全学院教师的教学任务书。假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2限定条件(1)原则上,每位教师每学期主讲的课程门数不超过 2 门。(2)严格限制:每位教师每年教学工作量不得低于 300,不得超过 600。(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。(4)本系统的输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件。(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。附工作量计算子系统中的课堂教学工作量计算方法(简化

3、计算):1单班课 计划学时*1.0双班课 计划学时*1.3三班课 计划学时*1.6四班课 计划学时*2.02双语教学计划学时*合班系数*2.03精品课程国家级精品课程 计划学时*合班系数*1.5省级精品课程 计划学时*合班系数*1.1软件需求分析1 任务概述1.1 目标:根据输入的各类信息及限制条件,给出教学任务书。 1.2 运行环境:win7 系统,java 语言,SQL 数据库。1.3 条件与约束:(1)原则上,每位教师每学期主讲的课程门数不超过 2 门。(2)严格限制:每位教师每年教学工作量不得低于 300,不得超过 600。(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。

4、1.4 功能描述:教务计划的录入,任课教师信息上传与查看,根据输入的数据与限制条件给出教学任务书。2 数据描述2.1 输入输出:输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。2.2 数据流图: (a)顶层数据流图(b)0 层数据流图(c)1 层数据流图2.3 数据字典(1)数据流条目相关限制=任课教师的职称+上课的班数+ 最高周学时数+最低周学时数任课教师的职称=教授+研究生教学计划=课程名称+课程代码+ 课时+班级类别+班号+ 计

5、划学时+合班系数班级类别=本科+ 专科+ 成人教育+研究生授课计划=课程名称+班级类别+ 班号教学任务书=课程名称+课程代码+ 课时+班级类别+班号课表=课程名称+ 课程代码+ 课时+班级类别+班号教学任务=课程名称+课程代码+ 课时+班级类别+班号合格名单=课程名称+课程代码+ 课时+班级类别+班号已通过计划=教工号+课程名称+ 课程代码+课时+班级类别+ 班号未通过人员=教工号通过名单=教工号+ 课程名称+ 课程代码+课时+班级类别+ 班号(2)数据存储条目文件名:课程信息组成:教工号+课程名称+课程代码+ 课时+班级类别+班号+ 限制条件+计划学时+合班系数+已被选择|未被选择+通过|未

6、通过 组织方式:索引文件,以课程代码为关键文件名:教学任务书组成:教工号+课程名称+课程代码+ 课时+班级类别+班号+ 计划学时+合班系数组织方式:索引文件,以课程代码为关键文件名:学生信息组成:学号+班号+ 密码组织方式:索引文件,以学号为关键文件名:老师信息组成:教工号+密码+ 授课计划是否通过限定条件+ 是否出现严重教学事故组织方式:索引文件,以教工号为关键文件名:人员信息组成:教务号+密码组织方式:索引文件,以教务号为关键(3)数据项课程名称:别名:无类型:字符型长度:2汉字15课程代码:别名:无类型:整型长度:5 位课时:别名:无类型:整型长度:2 位(4)加工条目加工名:教务管理系

7、统编号:无输入:授课计划,教学计划,限制条件输出:教学任务书,课表加工名:录入储存处理编号:1输入:相关限制,教学计划加工逻辑:将审查通过的教学计划添加相关限制,放入课程信息中加工名:学生查询编号:2输入:学生信息输出:课表加工逻辑:If 是学生Then 将教学任务书改为课表Else 退出加工名:编号:3输入:授课计划、老师信息加工逻辑:if 合格根据设定的条件判断是否满足为合格计划加工名:限定条件编号:3输入:授课计划、老师信息加工逻辑:If 合格Then 修改课程信息Else 修改老师信息为授课计划未通过限定条件加工名:老师查询编号:4输入:教工号输出:教学任务加工逻辑:If 是老师The

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

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

10、码对应加工名:审计编号:5.2输入:有效值,课程信息输出:通过名单加工逻辑:判断课程是否可以通过,给出通过名单加工名:更新信息编号:5.3输入:通过名单输出:课程信息、教学任务书加工逻辑:修改课程信息是否通过并给出教学任务书3 数据库描述采用 SQL 数据库,信息放在服务器端数据库中,各种用户根据权限不同登陆系统,进行相关操作。4 其他需求接口需求:用户接口需求,软件接口需求。用户界面需求:相对简洁易懂,好操作。 软件总体设计要求从需求分析的数据流图导出系统结构图,并进行优化,画出系统的软件结构图。部分部分部分部分部分软件详细设计1.设计部分:是否满足条件算法名称 CON对 A部 分 细 化

11、为If y为 单 班 课x=x+a*1If y为 双 班 课x=x+a*1.3If y为 三 班 课x=x+a*1.6If y为 四 班 课x=x+a*2.0If y为 双 语 教 学x=x+a*2.0If y为 国 家 级 精 品 课 程x=x+a*b*1.5If y为 省 级 精 品 课 程x=x+a*b*1.1Return x功能:判断老师提交的授课计划是否满足条件输入:授课计划和老师信息老师主讲的课程门数的课程为 z老师出现严重教学事故 c=1 老师未出现严重教学事故 c=0班级类别为 y 计划学时为 a 合班系数为 b输出:已通过的计划输入到课程信息未通过的人员输入到教师信息2.设计

12、部分:有效性检查算法名称 check1功能:判断学生输入的账号输入:学生账号和学生信息a 为输入的账号 b 数据库中保存的学生账号 C 为输入的密码 d 数据库中保存的账号密码输出:有效信息到排课系统无效输入则退出系统附 1 的部分代码package 详细设计代码;public class Test public static void main(String args)int i=0,x=0;if(z=2)i+;if(300=A=600)i+;if(c=0)i+;if(i=3)System.out.println(“pass“);else System.out.println(“nopass

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

14、足条件测试用例:Z2 300A600 C=0Z2 300A600 C=0Z2 A300 或 A600 C=0Z2 300A600 C0Z2 A300 或 A600 C=0Z2 A300 或 A600 C0Z2 300A600 C0Z2 A300 或 A600 C03.2 更新信息测试用例:教工号+课程名称+ 课程代码+课时+班级类别 +班号依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第四个大模块:4.1 检查测试用例:教工号+密码 教工号(是否存在) 密码(是否正确)4.2 查询测试用例:教工号+课程名称+课程代码+ 课时+班级类别+班号+ 限制条件+计划学时+合班系数+已被选

15、择|未被选择+通过|未通过 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。第五个大模块:测试用例:5.1 审核测试用例:教务号+密码 教务号(是否存在) 密码(是否正确)5.2 审计测试用例:教工号+课程名称+ 课程代码+课时+班级类别 +班号+限制条件+计划学时+合班系数+ 已被选择| 未被选择 +通过| 未通过 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。5.3 更新信息测试用例:教工号+课程名称+ 课程代码+课时+班级类别+班号依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。2.集成测试(黑盒测试)利用自底向上集成方法,根据功能划分简略的示意图3.确认测试(黑盒测试)由专门的测试人员和用户参加进行测试。4.系统测试验证功能是否满足需求,考虑安全性,可靠性,性能等多方面因素。实验心得:花了很多时间去参考书上和网上的例子,最终选定用面向过程的方法来做项目,前期花了很多时间画图,初步构建了一个项目的模型出来,然而其实只是简单的做了做,因为 sql 才刚开设课程,只能实现部分的代码编写,自己还有很多需要学习的地方。如果有机会下次要试试用面向对象的方法,用 UML 来做做项目,增强自己的能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报