1、实验室排课系统实验室排课系统 中南民族大学软工实验报告院 系: 计算机科学学院 专 业: 计算机科学与技术 年 级: 04级 课程名称: 软件工程导论 项目名称: 实验课程排课系统 指导教师: 刘卫平 组 号: 6 学 号: 04061041 04061029 04061013 04061015 姓 名: 郑步青 徐鹏 吴歧 郭胜宾 2.第一层:3.1.2. 数据字典:3.1.3 ER图:3.2. 对性能的规定3.2.1. 精度本系统的数据输入输出精度有严格的要求,因为要准确的安排实验课,所以输入的信息不能有差错,同时,输出的课表也不容有错,不然排课就有冲突的可能性。这样会对实验课的教学带来不
2、便。3.2.2. 时间特性要求本系统采用Microsoft Visual C+6.0前台开发3.3. 输入输出要求输入数据以表格的形式输入,给排课系统提供数据需求。经过整个排课系统进行排课以后,数据以报表的形式输出,输出至打印机打出课表,分配给实验室管理员、学生以及任课教师(辅导教师)。3.4. 数据管理能力要求3.5. 故障处理要求4. 运行环境设定4.1. 设备:计算机操作系统:Windows2000/XP/ME处理器:Intel Pentium166MX或更高内存:32M硬盘:1GB显卡:SVGA显示适配器4.2. 支持软件: Microsoft Office Visio 20074.3
3、. 接口:打印机,USB接口4.4. 控制5. 参考文献 软件工程导论,Delphi课程设计,Access2003中文版实用教程等一.概要设计:1. 11需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。12运行环境 操作系统:Windows2000/xp/ME内存:32M处理器:Intel Pentium 166MX或更高硬盘:1G。显卡:SVGA显示适配器 1.3软件结构的层次图. 2.接口设计21用户接口采用目前非常流行的Windows风格,如窗口,菜单,对话框,滚动条等,并对鼠标提供支持. 22外部接口 运行于Windows XP,并且具有WIN3
4、2 API的操作系统。23内部接口a信息输入管理模块,可以输入实验室信息,输入行政班级信息,输入教师课表信息.b. 信息修改模块,可以修改实验室信息,修改行政班级信息,修改教师课表信息.c. 排棵模块.该模块主要是根据输入的排课信息进行排课.d. 排课信息查询,可以 按行政班级号查询,按教师工号查询,按时间查询.e. 打印排课信息表. 3运行设计 31运行模块组合 说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。32运行控制 说明每一种外界的运行控制的方式方法和操作步骤。33运行时间说明每种运行模块组合将占用各种资源的时间。4.出错处理
5、.排课不成功返回出错警告-排课要求无法满足.二.详细设计一.人机界面设计.1.背景:人机界面的设计质量直接影响用户对软件产品的评价.从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视.2.设计环境: WINDOWS XP, Microsoft Visual Foxpro6.0.2.具体设计:1.总体界面如下图所示: 3.每个模块界面具体如下面所示:3.1.信息输入模块:3.2 信息修改模块:3.3排课信息查询模块:二.数据库设计.(1)排课计划表:记录排课的信息,是该系统最重要的数据表,由于要记录的内容较多,如果用一个表来存放信息,将产生很大的数据冗余,故将排课计划表分为两个
6、表:排课计划主表和排课计划子表,主表用来记录每门上机课程的基本信息,如计划编号、上课教师、课程名称、上课班级、上机人数、计划学时、课程代码等;子表则存放每门实验课程的具体机房安排,如计划编号、周次、星期、节次、所用机房、上机人数等,排课主表与子表通过计划编号相关联,两者是一对多的关系.如下图所示:(2)班级信息表:记录全院有上机课程的班级情况,字段有:班级名称、班级编号、所属院系、所学专业、人数等;(3)机房信息表:记录机房的主要情况,有机房编号、机房名称、机房性质、机位数、可用机位数、是否允许排课等;(4)课程信息表:记录所有上机的课程情况,有课程名称、课程代号、课程类别、使用环境等;(5)
7、日志信息表:记录有关重大操作的信息,有操作日期、操作项目、计划编号、课程名称、操作员等三.过程设计.排课过程算法实现:用N-S流程图表示,如下图所示:三.测试测试计划的目标(1)收集并组织测试测试计划信息(2)将软件细化为可检验的测试需求(3)建立测试计划2 . 测试需求根据用户需求定义测试需求。该软件的主要操作者是实验室管理员,学生和教师可以不了解实验室信息。只要和实验室管理员一起获得系统的输出即可。该软件的数据源有三个,学生信息,教师信息,排课要求,软件要根据这三个信息输出正确的排课表。排课问题的本质是将课程、教师和学生在合适的时间段内分配到合适的教室中,涉及到的因素较多,是一个多目标的调
8、度问题。在排课问题中,我们的主要任务是将班级、教室、课程、教师安排在一周内且不发生时间冲突。一张正确的课表应至少满足以下硬约束条件: (1)一个教师或者一个班级或者一个教室在同一时间段内只能安排一门课程; (2)分配的教室可容纳人数应该大于学生数。 除了上述的硬性约束,还有些软约束,这些软约束有助于使得课表更加合理,更加人性化。这些软约束条件可能是: (1) 尽可能满足个别教师的特殊上课时间要求; (2) 一门课尽量分散在一个星期中,即某天上完某一门课后,要隔一天以上再上这门课,以使教师有充足的时间备课和批改作业,而学生也有足够的时间复习消化; (3)一个教师的课不能排满一整天; (4)学生课
9、表中的上课时间不能过分集中,应避免一天课程很满而另一天却一整天没课的情况。3主要的测试内容(1)系统功能 该系统的功能如下: 其中以排课管理功能为整个系统的核心,是主要测试对象。(2)用户界面 测试软件界面的每个功能键是否能正常使用(3)系统性能 测试系统的性能如何,是否能满足用户的需求,该系统的主要性能指标是输出结果的正确性,要保证不能出现排课冲突,对时间性能要求不是很高,但实现算法也不能过于缓慢。 二 测试设计1测试设计的目标(1)定义自动测试过程(2)选择适当的测试用例2测试过程根据测试需求定义测试过程3. 选择适当的测试用例根据测试过程选择测试用例 该排课管理系统的核心功能是排课管理,
10、因此应把排课管理作为主要的测试对象。 设计测试用例时应尽量输入和学生课表,教师课表有冲突的排课要求,看系统能否输出排课失败,或是给出了一个错误的排课结果。对每个例子,应说明: 测试项及属性 输入说明(数据来源与格式) 输出说明(预期结果) 环境要求(实际环境/具有实效的模拟测试环境) 与其它例子之间的关系将软件可能产生的错误性质分三类:即致命性错误、大错误、小错误。致命性错误:系统不能正常运行大错误:出现排课冲突,上机学生数大于机房机子数。小错误;同一门课的排课过于集中,如今天刚上完,明天又有。 一个教师的课集中在某一整天。学生课的上课时间过分集中,应避免一天课程很满而另一天却一整天没课的情况
11、。对每一种错误设计相对的测试用例。 三 测试开发1测试开发的目标(1)建立可重用的测试用例(2)维护测试对于测试需求的可跟踪性 四 测试执行1 测试执行的目标 (1)执行测试(2)检查测试结果(3)研究并组织测试结果以便评估(4)缺陷维护2测试执行的步骤单元 模块集成维护回归测试 五 测试评估1测试评估的目标:(1)提交量化的测试覆盖域及缺陷跟踪报告(2)评估软件质量2 测试评估的内容 1覆盖域(1)哪些测试需求经过了测试(2)那些需求通过了测试2缺陷(1)我们发现哪些缺陷(2)我们解决了哪些缺陷(3)遗留缺陷对软件有何影响3 . 总体评估 该系统是否合格,能否投入使用总结: 本文介绍了实验室排课系统的设计与实现,实现了排课、调课、查询、统计、打印等基本功能,投入实际运行后,不但大大提高了排课人员的工作效率,而且规范了实验室人员的机房管理工作和学生的上机实验过程。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1