大学排课系统分析与设计Word格式文档下载.docx

上传人:b****8 文档编号:22775527 上传时间:2023-02-05 格式:DOCX 页数:19 大小:123.59KB
下载 相关 举报
大学排课系统分析与设计Word格式文档下载.docx_第1页
第1页 / 共19页
大学排课系统分析与设计Word格式文档下载.docx_第2页
第2页 / 共19页
大学排课系统分析与设计Word格式文档下载.docx_第3页
第3页 / 共19页
大学排课系统分析与设计Word格式文档下载.docx_第4页
第4页 / 共19页
大学排课系统分析与设计Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

大学排课系统分析与设计Word格式文档下载.docx

《大学排课系统分析与设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大学排课系统分析与设计Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

大学排课系统分析与设计Word格式文档下载.docx

1大学排课系统分析1

1.1需求分析1

1.1.1功能需求1

1.1.2性能需求1

1.2可行性分析2

1.2.1操作可行性2

1.2.2技术可行性2

1.2.3经济可行性2

1.3流程分析3

1.3.1系统流程分析3

1.3.2数据流程分析3

2排课系统设计与实现5

2.1系统设计5

2.1.2设计原则5

2.2系统目标6

2.2.1系统功能介绍6

2.2.2排课细节及需求6

2.3系统功能模块设计7

2.3.1系统管理功能集合7

2.3.2基本信息管理功能集合7

2.3.3排课管理功能集合8

2.4数据库设计8

2.4.1数据库概念设计8

2.4.2数据库逻辑结构设计9

2.4.3数据表的设计9

总结13

参考文献13

致谢15

1大学排课系统分析

1.1需求分析

在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析是软件工程中的一个关键过程。

在这个过程中,系统分析员和软件工程师确定顾客的需要。

只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。

需求分析阶段的任务是确定软件系统功能。

1.1.1功能需求

对功能的规定作为一个完整的数据库系统,其各种功能也要求比较完善,本系统的主要功能有:

(1)系统登入功能:

在系统授权范围内,用户选择各自的用户名,输入密码后登入系统;

(2)基本信息管理:

教师、教室、班级、课程、课程申请等数据的增、删、改、查;

(3)数据处理:

自动排课、教师、教室、班级、课程、课程申请等数据的输入、编辑、修改、删除等功能;

(4)数据输出:

查询教师、班级课程表,打印教师、班级课程表,查询教师、班级、教室课程以及课程申请的基本信息;

1.1.2性能需求

(1)教师和学生都不能发生课时冲突,即没有教师要同时给两个(或两个以上的)班上课,也没有一个班要同时上两门(或两门以上)不同的课程;

(2)教师和学生合理的不排课时间要求一定要满足;

(3)要求排连堂的课一定要连堂;

(4)主课(大学英语、高等数学、大学语文等)课程排上午,副课(思想道德修养、计算机基础等)课程排下午,其它课程在上、下午随机分布;

(5)满足教师教案的周期性,教师备一次课后应在他授课的所有班上都讲授一遍之后才进入到下一阶段的备课和授课;

(6)尽量避免断点,即不出现一天内前、后节次有课,中间无课的现象;

(7)文、理课(如高等数学和大学英语)相间,以使学生智力得到调整,提高学习效率;

(8)同一门课一周内在节次上要均匀分布;

(9)排课前考虑老师的时间问题。

张教师一周5天共上20节,则尽可能安排每天4节课且4节课不连续安排在如1234或5678节等;

(10)排课时还要充分考虑到课程的均匀性问题。

即课程安排尽可能均匀,英语一周3节,若一周上5天的课,尽量每隔一天安排一次课程;

(11)对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开支。

1.2可行性分析

系统可行性研究是系统发展过程中的一项重要的工作,其目的就是订出一套选择标准和一套选择程序及组成一个有效能的决策组织,如此,使用者便能依正确的顺序解决相关的问题。

下面将从操作可行性、技术可行性、经济可行性三个方面对排课系统进行分析。

1.2.1操作可行性

对于新系统的实施运作,由于组织人员都相当配合,没有任何抗拒心理,所以运作方面没有太大的困难。

而由于作业流程和程序设计都很详细规划,所以方案的运作都能按照作业程序来进行。

而软硬件方面,由于现有的打印机极为普遍,所以没有太大的问题。

1.2.2技术可行性

方案所需的硬件设备,组织内可以提供;

软件技术方面,系统发展人员的能力足以胜任;

而且在软件技术方面,我们采用Access作为后台数据库,因为这种技术已实用化,设计的页面精美,功能强大。

1.2.3经济可行性

经济可行性是对将要开发的系统的成本效益进行的量度,可以说是可行性分析中最重要的一个,以低成本追求高效率是我们的目标。

排课系统是通过计算机来自动地解决各种教学资源如教室、教师的合理有效利用问题,避免教师、班级在上课时间、地点上的冲突,使排课时间分配均匀,这就大大的节省了时间,提高了工作效率,避免了人力,物力,财力的浪费,因此本系统可行。

1.3流程分析

1.3.1系统流程分析

该系统的流程图如图1-1所示

图1-1业务流程图

1.3.2数据流程分析

我们用数据流图作为描述数据从输入到输出过程中的变化的工具,以两层数

据流图说明排课系统的输入数据、输出数据及其变化过程。

如图所示:

数据流程图

(1)顶层数据流程图

系统的顶层数据流如图1-2示:

图1-2顶层数据流程图

(2)1层数据流程图

在排课工作之前,教务处要输入教学计划信息、教室信息,这些信息分别储存在对应的数据库中。

然后可以开始排课,排出的课表储存在排课结果库中,可以通过不同的查询条件对课表进行查询,并且可以按照班级、教师等类型输出对应课表。

如图1-3所示

图1-31层数据流程图

(3)2层数据流图

将1层数据流图中的自动排课继续细化,得到2层数据流图如图1-4所

示:

图1-42层数据流图

2排课系统设计与实现

这个阶段的任务是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程,其目的是明确软件系统"

如何做"

这个阶段又分两个步骤:

概要设计和详细设计。

概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;

详细设计解决每个模块的控制流程,内部算法和数据结构的设计。

这个阶段结束,要交付概要设计说明书和设计说明,也可以合并在一起,称为设计说明书。

在系统分析的基础上,设计出能满足预定目标的系统的过程。

系统设计内容主要包括:

确定设计方针和方法,将系统分解为若干子系统,确定各子系统的目标、功能及其相互关系,决定对子系统的管理体制和控制方式,对各子系统进行技术设计和评价,对全系统进行技术设计和评价等。

图中表示系统设计的各个步骤。

2.1系统设计

系统建设的关键在于其所使用的架构。

基于浏览器B/S架构则是目前WEB应用程序的主流。

它将大量的数据处理工作交给服务器处理,无论是管理人员还是系统使用者都可以通过浏览器实现所有操作。

这种方式的优点是方便快捷,有利于系统的更新和维护。

2.1.2设计原则

要设计出一个好的管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:

(1)基本表的个数越少越好。

(2)主键的个数越少越好。

键是表间连接的工具,主键越少,表间的连接就越简单。

(3)字段的个数越少越好。

(4)所有基本表的设计均应尽量符合第三范式。

在数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。

2.2系统目标

(1)排课灵活,课表合理:

采用了局部范围内的动态随机加权,排出的课表具有灵活的特点,使用者可以在多次排课中选择自己认为合适的课表。

(2)操作便捷:

提供了易于理解的帮助文档,用户很容易掌握对排课软件的使用。

(3)人性化:

系统界面美观,并提供可选择外观,同时系统具有很强的交互性。

2.2.1系统功能介绍

(1)自动排课动能:

该功能利用用户提供的课程,教师,教室,班级等信息,对课程做总体的安排。

(2)手动调节功能:

该功能用于使用者对已生成课表的调节,使课表更加合理有效。

(3)冲突检测功能:

包括自动排课时的动态冲突检测以及课表手动调节时的静态冲突检测。

(4)合班功能:

该功能根据用户需要,对一些特殊课程进行特殊安排。

(5)异常管理动能:

当前资源无法满足需求时,排课系统将把无法排入的课程放入排课异常管理中。

(6)课表存储功能:

该功能用于存储已排课表,将课表保存在数据库中,便于用户使用以及打印。

2.2.2排课细节及需求

排课细节需求大体上就是系统开发者需要进一步和用户进行协商,甚至要进入用户的单位深入了解情况,使得开发出来的系统在任何一个环节都能满足用户的要求,甚至比用户想象的更加完美。

由于排课算法以及冲突检测在细节上有很多限制,在设计之前我们做了详细的讨论和分析,得到排课系统有以下细节需求:

(1)“公共基础课和公选课优先固定”,由于这两种课一般由教务处制订课程计划,因此应该在自动排课之前将它们优先固定。

(2)“一师多课”冲突情况,即一位教师在同一时间内排了一门以上的课。

(3)“一室多课”冲突情况,即一个教室在同一时间内排了一门以上的课。

(4)“一班多课”冲突情况,即一个班级在同一时间内排了一门以上的课。

(5)“教室容量匹配”情况,即上课班级人数应该与所在教室的人数匹配。

(6)“合班和分班课程”情况,即在排课时要考虑像英语这样的分班课和政治这样的合班课如何排课。

(7)“课程单双周”情况,即某些总课时较少的课程,可以考虑在单周或双周排课。

(8)“同一课程间隔”情况,尽量让同一课程在一周内课时内的排课分布均匀。

(9)“课程优先级”情况,尽量让学分值高的和重要的课程排在黄金时间,课程优先级低的排在其他时间。

(10)“课程扩充”情况,如果正常情况下无法满足课程的需要,就要在晚上或者周六日进行课时的扩充。

(11)“课程与教室匹配”情况,课程要求的条件必须与教室设备条件相匹配,是否需要多媒体授课等。

2.3系统功能模块设计

2.3.1系统管理功能集合

该集合包括权限管理和系统帮助两个模块。

当使用者为管理员时可进行权限管理功能,它能够添加新的使用者,也可对已有的用户进行名称、密码的修改和删除。

系统帮助功能介绍了开发系统的相干信息。

2.3.2基本信息管理功能集合

基本信息管理功能集合。

该集合包括教师信息管理、教室信息管理、班级信息管理、课程信息管理、课程申请管理五个模块。

在该集合内可查看相应的数据表,对于管理员级别的用户可对以上表的内容进行添加、修改、删除的功能。

对于一般用户,只能实现查看信息的基本功能。

2.3.3排课管理功能集合

排课管理功能集合。

在基本信息设置模块中,可查看当前日期,又可设置限制排课的条件,如不加限制排课、不在晚上和星期六排课等。

而一般用户只能查看管理员设置的条件。

在排课时,管理员先在课程信息管理中设置好要预先排课的课程,然后调节限制排课的条件,就可以使用自动排课功能。

用户可在排好后的课表中查看课表,对于不满意的课程安排可用手动进行相应的调节,而手动排课也可针对实验课等灵活性的课程。

本系统的功能结构如图2-1所示:

图2-1功能结构图

2.4数据库设计

2.4.1数据库概念设计

概念结构设计主要是通过用户需求来确定数据库系统中的实体对象、以及它们之间的关系,E-R图是概念模型设计过程中首选的工具,它清晰的表达了数据的逻辑关系,可以很方便的转换为关系逻辑模型。

排课系统中实体对象之间的关系如图2-2所示:

图2-2E-R图

2.4.2数据库逻辑结构设计

1、用户信息(账号,密码,用户类型)

2、学生信息(学生编号,学生姓名,专业,系别,课程)

3、教师信息(教师编号,姓名,所属系别,所属专业)

4、教室信息(教室编号,教室类型,教室容纳量)

5、班级信息(班级编号,班级名称,班级辅导员姓名,班级人数,所属系别,所属专业)

6、任课信息(教师编号,课程名称,总课时,课程起始周,课程结束周,班级编号,教室编号,课程时段,最大课程数,排课先后)

7、教学任务(目标,内容)

2.4.3数据表的设计

课程表主要存储需要安排实验的课程,它主要有课程名称,所属学年,所属专业,授课教师等重要信息,具体信息如表1。

表1kc表(课程表)

数据字段含义

字段名

数据类型

长度

可否为空

课程编号

id

int

4

cname

varchar

50

所属学年

cgrade

所属专业

czy

上课周次

cweek

周次(小学期)

cwork

授课教师

cteacher

表2yh表(用户表)

用户类型

usertype

用户名

username

用户密码

user_pwd

教师总表中记录的是计算机学院所有教师的名字,以便为排课过程中提供相应信息,该表如表3

表3teacher表(教师总表)

教师姓名

teacher_name

教师编号

Teacherid

教室表是对所安排课程的上课地点的汇总,它包括教室号,可容纳人数等信息,具体信息如表4。

表4classroom表(教室表)

教室编号

roomid

int

教室管理员

room_manager

教室号

roomname

容纳人数

contain_num

班级表是对计算机学院三个专业三个学年的汇总,它包括班级的人数,所属学年,专业编号,班级号等信息,具体信息如表4-5。

表5class表(班级表)

班级编号

class_id

班级人数

class_num

专业编号

zyid

班级号

class_name

表6rk表(任课信息表)

4

总课时

Totalclasstime

10

上课时间

jc_xh

表7ttb(教学任务表)

目标

goal

内容

Cousematter

总结

排课工作是教务管理中非常重要的一项工作,排课的好坏会直接影响到了教学过程,在传统的人工排课中,排课人员往往为简化排课工作,将课表从第一班开始排起,接着依班级顺序排出其他的课表内容,这样就使得排课的第一班通常拥有较好的排课方案,而后一班只能从授课老师其余的时间中选择安排课表,这实际上就是一种不公平的排课策略,老师和学生都没有自主的选择性,这种排课效果自然一般,而且工作量非常大,如果排课失误也不容易调整。

本文针对大学排课系统的开发,包括系统分析及系统的设计与实现,对排课问题的一些特定的约束条件进行了研究和分析,并且在此基础上设计实现了自动排课系统。

本文完成的主要工作:

(1)系统的讨论和研究了排课问题的排课要素、排课规则、约束条件及其主要的求解目标,详细分析了排课问题的排课流程,设计出了排课系统的各功能模块。

(2)构建了排课系统的系统框架。

(3)通过分析系统对数据的需求,设计出了排课系统数据库的概念模型和关系数据库。

在此次设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,所以一定要把理论知识和实践结合起来。

把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。

通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。

通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。

参考文献

[1]张锋军.大数据技术研究综述[J].通信技术,2014.11(47),1240-1248.

[2]赵哲峰.基于语义分析方法的视频流媒

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

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1