软件需求规格说明1介绍1.目标软件需求规格说明描述了“排课系统”的软件功能性需求和非功能性需求。
这一文档计划由实现和验证系统正确功能的项目团队成员来使用。
除非在其他地方另有说明,这里指定的所有需求都具有最高优先级。
2.项目范围和产品特性排课系统允许教学秘书通过该系统完成本系内各班级的课程安排,能够减轻教学秘书的工作负担。
允许教师查看初排及最终课表,提交意见。
可以完成:数据导入与维护、课程表编排、设置排课规则、课表发布、查看/发送意见等功能。
3.参考文献Karl Wiegers 所著的Software Requirements 版本2 刘伟琴刘洪涛译张海藩所著的软件工程导论(第5版)2总体描述1.产品远景规划“排课系统”是一个能够减轻教秘工作量,实现教务工作自动化,提高工作效率;给一些存在特殊情况的老师一个提出意见的机会;方便学生尽早制定学业计划的教务办公软件。
下图是一幅关联图,它演示了其外部实体和系统接。
2.用户类和用户特性用户类描述教学秘书(优先考虑)教学秘书是“排课系统”最主体用户,他希望能在“排课系统”的帮助下,顺利完成排课工作,以代替当前只能依靠手工排课的现状,减轻工作压力,提高工作效率;同时,“排课系统”应当具有一定的准确性,避免教学秘书的多次修改。
教师在“排课系统”中,教师能更早的获知下学期的初排课程表信息,提出意见,在一定程度上能满足教师对课表的特殊要求运行环境、设计和实现的约束条件、用户文档略3.假设和依赖AS-1:排课系统可以设一个平台让管理员和教师提出一定量的要求,并可以根据要求处理排课。
AS-2:对于特殊教师的课程不再排课系统的考虑范围内。
DE-1:排课系统的用户信息与教务系统的信息要匹配。
能成功的将培养方案及教师信息导入。
3系统特性1.导入培养方案(1)描述和优先级教学秘书的账号和密码在以及ip得到验证,登陆到排课系统之后,可以向排课系统导入各个年级、专业的培养方案,并将其保存在排课系统的数据库中,因为在入学之初,培养方案就已经安排好,所以培养方案不提供修改的功能,只提供删除和重新导入功能,允许从教务系统导入培养方案,也允许从教秘的电脑中导入excel文件。
这也是生成排课规则的重要依据之一。
优先级为高。
(2)刺激/响应序列刺激:导入培养方案是出现一个或多个培养方案导入错误或失败。
响应:将错误信息反馈给教学秘书,引导他对错误进行查看,并可以针对错误重新导入培养方案。
刺激:导入培养方案成功响应:将成功信息反馈给教学秘书,并将导入的方案储存到数据库中2.导入教师信息(1)描述和优先级教学秘书的账号和密码在以及ip得到验证,登陆到排课系统之后,可以向排课系统导入各个教师的信息,教师信息包括姓名,教授课程以及联系方式,并将其保存在排课系统的数据库中。
教师信息来源于excel文件。
教学秘书有修改教师信息的权限。
这也是生成排课规则的重要依据之一。
优先级为高。
(2)刺激/响应序列刺激:教师信息导入失败或错误。
响应:将错误信息反馈给教学秘书,引导他对错误进行查看,并可以针对错误修改或重新导入。
刺激:教师信息导入成功。
响应:将成功信息反馈给教学秘书,并储存教师信息在排课系统的数据库中。
3.划分课程优先级(1)描述和优先级划分课程优先级是排课规则的一个重要组成部分,课程是否安排和安排的先后,都是由课程优先级决定的。
在课程优先级的安排中,根据课程安排规则,教学秘书可以设定课程的优先级,优先级分为在某个学期必须安排、高、中、低四个选项,当教学秘书设定完优先级后,系统将优先级的划分储存在数据库中。
教学秘书可以修改课程的优先级,以便于将来课程的调整。
优先级为高。
(2)刺激/响应序列刺激: 获取课程信息失败。
响应:将失败信息反馈给教学秘书,并提示重新获取。
刺激: 获取课程信息成功。
响应:将成功提示反馈给教学秘书,并跳转到划分优先级功能。
刺激:优先级划分后储存失败。
响应:将失败提示反馈个教学秘书,提示重新保存。
刺激:优先级保存成功。
响应:反馈成功信息,并进入下一步操作。
刺激:修改课程优先级。
响应:重新确认用户身份,如果确认,则允许修改,否则退出系统。
(3)功能性需求Priority.Import 从储存的课程培养方案中获取课程信息Priority.set 设置课程的优先级Priority.save 保存课程优先级信息Priority.succeed 设置成功,并保存成功过,返回提示信息Priority.error 设置出现异常、失败或是保存失败,返回提示信心,并重新设置Priority.re_verify 要修改课程优先级信息时,重新验证身份Priority.alter 修改课程优先级信息4.生成排课规则(1)描述和优先级根据已经储存在系统中的培养方案、教师信息以及调整好的课程优先级细心,系统将生成排课规则,并将排课规则储存在系统的数据库中教学秘书可以查看排课规则,重新生成排课规则,在重新生成排课规则之前,将重新验证身份。
为了防止不恰当的拍修改,使得排课规则出错,教学秘书不允许直接修改。
优先级为高。
(2)刺激/响应序列刺激:获取数据库中的培养方案、教师信息或者课程优先级失败。
响应:将失败信息反馈给教学秘书,由教学秘书执行重新获取或是重新导入。
刺激:生成的排课规则不能满足需求。
响应:教学秘书可重新生成排课规则。
刺激:查看数据库中的排课规则失败。
响应:反馈失败信息,若是丢失或损坏,则从新导入备份的排课信息,否则再次导出数据库中的排课规则。
5.初排课程表(1)描述和优先级预安排课程表,通过已经生成好的排课规则,进行课程表的第一次生成。
预安排课程表的生成,首先能提供一个可供查看和修改的课程表,以便于下一步工作;其次,生成的预安排课程表还具有检查排课规则的功能,记过多次排课,若是排课结果不能达到预期效果,教学秘书则可以通过从新生成排课规则,以进行调整;若是产生的课程冲突较少,教学秘书则可以自己进行修改。
当确认修改后,预安排课程表将生成课程表并储存在数据库中,已准备发送给教师和学生以及教务系统。
优先级为高。
(2)刺激/响应序列刺激: 调用排课规则失败。
响应:将失败信息反馈给教学秘书,并重新调用。
刺激:产生预安排课程表失败。
响应:将失败信息和原因反馈给教学秘书,并响应教学秘书的要求进行操作。
刺激:课程产生冲突。
响应:将产生冲突的课程醒目标识,以便于教学秘书操作。
刺激:产生的课程冲突数目大于预期。
响应:重新生成预安排课程表,重复次数超过三次后,重新生成排课规则,并储存。
刺激:预安排课程表保存失败。
响应:将错误信息返回给教学秘书,并重新保存。
(3)功能性需求6.课程表分类(1)描述和优先级课程表分类,通过将数据可中储存的最终表进行调用,把教师和学生的课程表进行分类,并进行储存。
对课程表的分类,有助于不同的使用者获得自己期望看到的数据,避免了的过量无用的数据增加使用者的负担。
优先级为高。
(2)刺激/响应序列刺激:课程表调用失败响应:将失败信息反馈给教学秘书,并重新调用刺激:课程表分类失败响应:重新分类课程表,如果失败多次,由教学秘书导入刺激:分类课表储存失败响应:将失败信息反馈给教学秘书,并重新储存(3)功能性需求Classify.import 从系统中导入最终课表Classify.classify 将课程表进行分类Classify.save 将课表进行储存Classify.succeed操作成功,并返回成功信息Classify.error 操作或储存出现错误,返回错误信息,并提示教学秘书进行相应操作Classify.hand_classify 当某些课程表分类不成功时,教学秘书手动进行分类7.发布课程表(1)描述和优先级在课程表进行分类和储存完整后,可在设定的时间,将不同的课程表分别发送给教师、学生以及教务系统。
优先级为中。
(2)刺激/响应序列刺激:调用课程表失败。
响应:反馈失败信息,并重新调用。
刺激:成表发布失败响应:反馈失败信息,并重新发布。
4外部接口需求1.用户界面略2.硬件接口略3.软件接口SI-1 :教务系统。
SI-1.1 :“排课系统”将安排好的课程表发布到教务系统中。
SI-1.2 :“排课系统”还要能将教务系统中的培养方案进行导入。
SI-2 :邮箱系统。
SI-2.1:当“排课系统”完成排课工作,并将课程表发布到教务系统中的同时,将发送副本到邮箱系统中。
SI-3 :对word 和excel 的支持。
SI-3.1 :将教师信息和培养方案导入到“排课系统中”。
4.通信接口略5其他非功能性需求1.高效性需求PE-1:在教学秘书开始导入培养方案和教师信息时,系统要能满足大量文件的导入,时间在5分钟左右。
PE-2:排课所持续的时间预计持续10秒。
PE-3:允许“排课系统”出现排出的课程表中有大量冲突,但在最多3次排课后,冲突的数量应该控制在4个以内。
2.防护性需求还未确定。
3.完整性需求SE-1:所有的培养方案和教师信息进行加密处理。
SE-2:教学秘书必须在登录系统后才能进行除了查看课程表之外的其他操作。
SE-3: 当用户3次输入错误的账号或者密码时,系统将限制该账户的登录权限。
SE-4:每位学生只能查看自己的课程表,每位教师只能查看自己教授的科目的课程时间表;教学秘书能查看所有的课程表,并且在发布课程表后没有修改的权限。
4.软件质量属性可用性:系统在工作时间,既周一至周五的八点到十七点必须是可用的。
健壮性:当系统在生成课表、教学秘书在修改课程表等过程中,为避免因不可抗拒因素使得系统罢工,系统必须在工作过程中进行实时备份,以便系统重新工作后能迅速恢复工作。
易用性:保证教学秘书在经过简单的学习后能马上适应新系统的工作方式。
6附录数据字典和数据模型培养方案 = 科目 + 学分教师信息 = 教师姓名 + 教授科目 + 身体状况身体状况 = 优|良|中|差7分析模型1.状态转换图2.数据流图3.对话图8 业务规则事实类:1、每间教室容纳的学生人数有限2、新一级新生第一学期仅有15个教学周3、每门课程的上课教师不是唯一的4、每个教师每周上课的节数是有限的5、学生每学期获得的学分是有限的6、不同学分的课程每周上的节数不同约束类1、先修课程未通过的学生不可以学习后续课程2、教师只能查看课程表不能使用排课功能3、每个学期每个学生的学分不能超过26学分(满足先修条件的另外安排)4、学生每日排课学时不能超过8个5、学生和教师只能看到属于自己的课程表,不能查看其他人的课程安排6、教师每周最多上5节课动作触发规则1、如果教室的容纳学生人数不足或过多,则更换教室2、如果教师每周须教授超过五节课,则需要提交申请3、如果有专任教师一周的教学工作安排少于三天,则提示排课系统使用者4、如果学生满足先修条件,则可以提出先修申请5、如果时间、授课教师、教室与课程发成冲突时,则提示排课系统使用者推论1、如果教师给出的理由充分,则他可更多的教授课程2、如果学生满足条件,则他可以获得先修机会3、如果在课表修改截止时间无人对课表进行修改,则认定该课表已确定。