资源描述
大学自动排课算法设计与实现
软件概要设计说明书
学 院
电子与计算机科学技术学院
专 业
软件工程
题 目
大学自动排课算法设计与实现
小组成员
林琳、罗文凤、顾晓、史东海
修订记录
版本
章节名称
修订内容
修订日期
修订人
批准人
目 录
1. 文档介绍 1
1.1 文档目的 1
1.2 文档范围 1
1.3 读者对象 1
1.4 参考文献 1
1.5 术语与缩写解释 2
2. 系统概述 2
3. 设计约束 2
4. 设计策略 3
5. 系统总体结构 3
根据这个流程大概本系统可分为原始信息的采集和录入,排课约束条件信息的采集和处理,排课数据的处理各种课程安排表的查询 3
6. 子系统N的结构与功能 4
7.接口设计 5
1、 用户接口 5
2、 软件接口 5
8. 开发环境的配置 6
9. 运行环境的配置 6
10. 测试环境的配置 6
11. 其他 6
数据库 6
操作 6
III
1. 文档介绍
1.1 文档目的
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,此份文档的基本目的就是解决“概括的说,系统应该如何实现”,划分出组成系统的子系统,确定系统由哪些模块组成,以及模块之间的关系。站在全局的高度上从比较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳的方案和最合理的软件结构,从而开发出较高质量的软件系统
1.2 文档范围
此次开发的软件系统为:大学自动排课算法设计与实现。高校排课是个既繁重又复杂的工作,有大量的数据需要处理。开发本软件主要是为了帮助学校负责排课的相关人士解决“教师”、“教室”、“时间”等资源搜索的问题。通过计算机运算速度快的特点,在大数据量的情况下寻找资源的最优或近似最优的组合,以减少人的工作量。但特殊情况还需人为进行调节,不属于本系统所能处理的范围。
1.3 读者对象
管理员、教师、学生。
1.4 参考文献
Java2实用教程(第三版)
作者:耿祥义、张跃平
出版社:清华大学出版社
出版日期:2006年8月
数据库系统概论(第四版)
作者:王珊、萨师煊
出版社:高等教育出版社
出版日期:2008年12月
数据结构
作者:严蔚敏、吴伟民
出版社:清华大学出版社
出版日期:2008年11月
1.5 术语与缩写解释
无
2. 系统概述
该系统为大学自动排课算法的设计与实现,使用该软件操作人员只需录入上课的时间、教室的情况、教师情况等信息软件就可以给出一个最优组合供排课人员参考。教师和学生能通过该软件查询自己的课表,而管理员可以查询所有的课表。
3. 设计约束
本系统应当遵循的标准或规范
本次课程设计中,
1) 排课系统是针对学院的,即只考虑一个学院内专业课如何排;
2) 排课中以班级为单位排,不考虑选修课;
3) 教室分为多媒体教室和非多媒体教室;
4) 假定只有周一到周五有课,一天只上四大节课,每大节两个学时;
不考虑合班上课的问题,并且默认班容量和教室容量匹配;
运行环境的限制: 必须装有Java运行平台的操作系统。
与其他应用间的接口:排好内容可以直接保存。
并行操作:需求调研与需求规格说明书的撰写同时进行。
所需的高级语言:Java
安全:除操作员外其他人不能随便使用并篡改排课顺序。
4. 设计策略
高校排课中有大量的数据需要处理。比如“教室容量”、“上课班级人数”、“教师”、“时间”、“距离”等因素需要考虑。去平衡上列各因素,找到一个最优的组合。从此要浪费大量的人力物力,为避免这一局面的发生,我们想开发一款简单的软件来解决这一问题。
本软件将教师信息,教室信息,班级信息,课程信息存入数据库,通过排课算法对采集的数据以及排课的约束条件进行处理,生成课表,供管理员,教师和学生进行查询。
5. 系统总体结构
本系统大概的流程为:
登陆
录入信息
生成课程
自动排课
输出课表
图1 系统流程图
根据这个流程大概本系统可分为原始信息的采集和录入,排课约束条件信息的采集和处理,排课数据的处理各种课程安排表的查询
原始信息的采集和录入,将采集到的数据录入到系统中。要排课必须录入教室的信息、每个班级学生的数量和上课的时间等信息。然后将这些信息存入到数据库中。
排课约束条件信息的采集和处理,在排课的过程中不可能每个条件都能满足,会有一些特殊情况。对此要进行约束条件信息的采集和处理,例如教室有特殊用途不能提供使用时应提前输入系统。教师因为某些原因在某时间段不能排课或不能排在某个教室上课应提前输入系统。班级因为距离或课程安排而不能在某时段排在某个教室应提前输入系统。
本系统的功能结构图:
大学自动排课系统
排课模块
查询模块
录入模块
登录模块
教师学生登录
录入课程信息
录入教室信息
录入教师信息
录入班级信息
班级课表
教室课表
教师课表
进行排课
管理员登录
图2 系统功能结构图
6. 子系统N的结构与功能
系统可以分为登录模块,录入模块,排课模块,查询模块
在登录模块中,用户输入账号和密码便可登录系统。密码输入错误 ,则重新登录。本系统只有管理员具有修改的权限,教师和学生只有阅读的权限。
登录界面
输入账号密码
是否正确
否
进入系统
是
图3 子系统N的流程图
在录入模块中,管理员点击录入信息菜单项,录入信息菜单项显示录入课程信息、录入教室信息、录入教师信息和录入班级信息四个子菜单,然后录入的信息存入数据库。
在排课模块中,主要是利用排课算法将收集的信息以及约束条件进行处理,进行排课为每个教师、班级和教室生成了一张课表。
在查询模块中教师,学生可以通过该软件查到自己需要的课表,管理员则可以查询所有的课表。
7.接口设计
1、 用户接口
A. 建议使用1024*768分辨率。
2、 软件接口
数据管理系统
A. 名称:Access数据库。
B. 助记符:DB(Database)。
C. 版本号:Microsoft Office Access 2003(11.8166.8221) sp3。
D. 来源:互联网。
Java运行平台
A. 名称:Java(TM)6Update17。
B. 助记符:Java
C. 版本号:6.0.170
D. 来源:Sun公司免费提供(互联网)
8. 开发环境的配置
表1 开发环境配置表
类别
标准配置
最低配置
计算机硬件
1GHz主频 128M内存
800MHz主频 56M内存
软件
Java平台、Access数据库、Jcreator
Java平台、Access数据库、Jcreator
网络通信
无
无
其他
无
无
9. 运行环境的配置
表2 运行环境配置表
类别
标准配置
最低配置
计算机硬件
1GHz主频 128M内存
800MHz主频 56M内存
软件
Java平台、Access数据库
Java平台、Access数据库
网络通信
无
无
其他
无
无
10. 测试环境的配置
只要有Java的运行环境本软件就能运行。
11. 其他
数据库
A. 数据库中要存储教室、教师、时间等信息。
B. 本系统对数据库的使用很频繁。
C. 本系统要求数据库具有很强的存储能力。
操作
A. 用户只需输入数据并运行软件。
B. 当运行软件后系统会给出相应的结果并显示。
由于软件的开发有约束条件,所以本软件不能处理庞大的数据量。
6
展开阅读全文