智能排课系统3.docx

上传人:b****5 文档编号:8518917 上传时间:2023-01-31 格式:DOCX 页数:28 大小:1.34MB
下载 相关 举报
智能排课系统3.docx_第1页
第1页 / 共28页
智能排课系统3.docx_第2页
第2页 / 共28页
智能排课系统3.docx_第3页
第3页 / 共28页
智能排课系统3.docx_第4页
第4页 / 共28页
智能排课系统3.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

智能排课系统3.docx

《智能排课系统3.docx》由会员分享,可在线阅读,更多相关《智能排课系统3.docx(28页珍藏版)》请在冰豆网上搜索。

智能排课系统3.docx

智能排课系统3

 

综合实验报告

 

题目:

智能排课系统

学生姓名:

专业:

信息管理与信息系统

班级:

信管1002班

学号:

1002100206

 

一、概述

(一)开发背景

随着信息技术的飞速发展,各个行业的信息化势在必行。

正所谓“科学技术是第一生产力”,科技的进步大大地提高了生产率。

然而,在高校这个知识密集的地方,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。

应用信息化来改造传统的教学管理模式是一个重要途径。

近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。

在教务工作中占有很大比重的一项就是每学期的课程排定工作。

由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。

而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。

并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。

排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。

尤其针对高校的排课一直都没有很好的解决方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。

本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。

但是,由于技术、经验的有限和数据量过大,目前我们很难做出一个满足所有需要的排课系统。

因为它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程。

针对这些问题,在此专门对数据库设计作了一些探索,并于架构的选择和模块的划分上经过精心调整,在菜单的设计上也体现了人性化的操作。

该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型体现了系统的规划。

(二)项目的任务及意义

当今学校内部没有完善的高校排课系统,管理水平差,学校课程不能得到合理分配。

迫切需要提高现代化管理水平、管理质量和管理高校课程。

高校排课系统的初步现代化的开发和使用,能够大大提高学校管理者的工作效率,节省成本提高经济效益。

它把从事教务管理的人员从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动和其它重要的活动中去,从而达到节省人力、物力,财力的目标;它能使决策、计划和其它管理活动更加科学、精确、灵活。

本软件主要是适用于高等学校教务部门的办公软件,运用此软件,可以免去工作人员繁忙而枯燥的手工排课过程,直接通过计算机进行排课。

业务范围涉及到课程、上课班级/实验班级/上机班级、任课指导老师/周次/节次、教学场地(教室,实验室,机房等)等相关因素。

二、系统规划

(一)需求分析

自动课程编排系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。

学生的需求是查询院系的课程情况及学生信息的修改;教师对选课系统自动排课情况进行操作,同时形成自动排课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。

学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人信息的查询和维护部分。

一般情况下,学生只应该查询和维护本人的个人信息,若查询和维护其他学生的选课信息,就要知道其他学生的学号和密码。

这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。

学校管理人员有修改自动课程编排系统的权限,所以需对管理人员登陆本模块进行更多的考虑。

在此系统中,学校管理人员可以记录学生登陆日志,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。

本功能实现对排课信息、教师信息、总体情况信息的查询和统计、管理人员信息查看及维护。

设计不同用户的操作权限和登陆方法,对所有用户开放的课程查询和个人部分信息维护,查看个人情况信息,维护个人密码。

根据排课情况对数据库进行操作,并生成报表根据选课情况,维护管理员信息,维护教师信息,维护学生信息处理信息的完整性。

本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、已选人数、课程性质、开课系、课程人数;系信息管理有ID和Password。

(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调出相应的课程模块。

其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。

(2)教师信息模块完成教师的登陆,然后根据各位教师所在的系不同,教师所教的课程不同,调出要排课的课程。

其中教师登陆模块的功能是验证登录人员确实是本院的教师,教师启动本系统后,系统提示输入教师工号和密码,验证后进入主控操作界面。

(3)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程查询。

(二)可行性分析

1技术可行性

该系统对软、硬件系统要求较低,所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备。

软件上,操作系统采用Windows系列操作系统、MicrosoftVisualStudio2005作为前台开发工具,它具有的“编辑后继续运行(editandcontinue)”的特性,超越了旧的编辑—编译—测试模式。

它还引入了面向对象的程序设计思想和“控件”概念,使得大量已经编好的VisualBasic程序可以直接拿来使用。

同时, VisualBasic又是最容易学习与应用的程序语言之一。

它的功能非常强大,已成为一种专业化的开发语言和环境。

采用SQLServer2005作为后台数据库平台的管理系统,它在电子商务、数据仓库和数据库解决方案等应用中起着核心作用,可为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性、数据的安全性以及数据的可靠易用性等等。

这些软件在高校排课系统开发中已被大量应用,技术上都比较成熟。

因此在技术上是可行的。

2经济可行性

当今学校内部没有完善的高校排课系统,管理水平差,学校课程不能得到合理分配。

迫切需要提高现代化管理水平、管理质量和管理高校课程。

高校排课系统的初步现代化的开发和使用,能够大大提高学校管理者的工作效率,节省成本提高经济效益。

它把从事教务管理的人员从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动和其它重要的活动中去,从而达到节省人力、物力,财力的目标;它能使决策、计划和其它管理活动更加科学、精确、灵活。

因此,开发一个专门针对高校排课系统,在经济上也是可行的。

3操作可行性

本系统灵活方便,快捷迅速,适应处理多项数据。

采用友好、直观的视窗界面,鼠标、键盘两种操作方式任意选择,方便快捷。

界面统一规范,提示信息功能完整,稍一接触就可以上手进行所有操作。

三、系统分析

(一)业务流程分析及业务流程图

图例说明:

表示外部实体

表示处理过程的说明

表示生成文档

表示库

表示信息的传输过程,线段上的文字是对传递信息的说明

根据需求分析,我们分析出智能排课系统的业务流程图如下:

图3-1总系统业务流程图

 

图3-2教学计划子系统业务流程图

(二)数据流程图

图例说明:

表示外部实体

表示处理过程

表示存储信息或文件

带有名称的有向线段表示数据流

图3-4总系统数据流程图

图3-5教学计划子系统数据流程图

(三)数据字典(部分)

1.数据项定义

表3-1表3-2

数据项名称:

管理员

别名:

UserName

长度:

16

描述:

管理员登陆的用户名

数据项名称:

密码

别名:

password

长度:

10

描述:

所有用户的密码

 

表3-3表3-4

数据项名称:

用户

别名:

UserName

长度:

16

描述:

一般用户登陆的用户名

数据项名称:

用户权限

别名:

Purview

长度:

10

描述:

用户的使用权限

 

2.数据流定义

数据流名称:

任课表

简述:

每个教师所带班级以及所带课程的信息

数据来源:

任课表

数据流向:

数据库内存储的任课信息表

(即教师计划表)

表3-5

 

3.处理过程描述

表3-6

处理名称:

基本信息管理

输入数据:

班级信息,教师信息,教室信息,课程信息,时间信息,任课信息

输出数据:

是否入库成功

处理逻辑:

1.各类基本信息是否包含非法字符。

2.各类基本信息是否重复冗余。

表3-7

处理名称:

数据管理

输入数据:

教师计划信息,班级计划信息,课程计划信息

输出数据:

是否入库成功

处理逻辑:

1.各类计划信息是否包含非法字符。

2.各类计划信息是否重复冗余。

表3-8

处理名称:

排课管理

输入数据:

班级信息,教师信息,教室信息,课程信息,时间信息,任课信息,

教师计划信息,班级计划信息,课程计划信息

输出数据:

是否排课成功

处理逻辑:

1.各类信息是否包含非法字符。

2.各类信息是否能按算法依次排好课表。

4.数据存储

数据存储名称:

用户表

描述:

存储用户基本信息

组成:

用户名+密码+用户权限

相关处理:

添加,删除,修改,查询

表3-9

表3-10

数据存储名称:

班级信息表

描述:

存储班级基本信息

组成:

班级编号+班级名称+学生人数+所属系

关键字:

班级编号

相关处理:

查询,修改,添加,删除

表3-11

数据存储名称:

教师信息表

描述:

存储教师基本信息

组成:

教师编号+教师姓名+所带课程

关键字:

教师编号

相关处理:

查询,修改,添加,删除

表3-12

数据存储名称:

教室信息表

描述:

存储教室基本信息

组成:

教室编号+教室名称+教室容量

关键字:

教室编号

相关处理:

查询,修改,添加,删除

表3-13

数据存储名称:

课程信息表

描述:

存储课程基本信息

组成:

课程名称+课程课时+任课教师

相关处理:

查询,修改,添加,删除

表3-14

数据存储名称:

任课表

描述:

存储教师任课基本信息

组成:

课程名称+教师编号+教师姓名+班级编号+每周节数

相关处理:

查询,修改,添加,删除

 

 

四、系统设计

(一)系统总体设计

1.系统总体规划

 

图4-1智能排课系统的功能模块图

(解释各模块)

1、用户管理子系统功能:

用户密码的设置和修改,用户权限的设置,用户重新登陆;

2、数据管理子系统功能:

包括对教室、教师、班级、教学计划和课表数据的保存、查询、更新、删除;

3、教学计划管理子系统功能:

某一确定的学期的教学工作计划,对于班级而言,每门课程的学时、开始周、结束周以及每门课程的任课教师,该子系统对教学计划进行管理和完善;

4、排课管理子系统功能:

包括自动排课,手动排课两个部分;

5、课表查询子系统功能:

对于具体的班级、教师、教室进行课表查询

6、课表的生成与打印:

在对各项数据进行处理后,生成课表,并打印出来

2.设计

 

(二)系统详细设计

1.代码设计

代码是以适当的符号来表达客观实体的属性及特征。

又标识、统计检索、对象描述的作用,一般根据唯一性原则、规范性原则、可扩充性原则和简明性原则来进行设计。

本系统中该系统采用层次代码设计方法。

本系统中:

1.班级编号,采用6位编码:

ⅹⅹⅹⅹⅹⅹ

自由码

专业号

院号

2.教师编号,采用8位编码:

ⅹⅹⅹⅹⅹⅹⅹⅹ

自由码

专业号

院号

3.教室编号,采用5位编码:

ⅹⅹⅹⅹⅹ

自由码

教室号

 

2.E-R图

实体属性:

班级:

{班级号,班级名,专业编号,专业名称,学员编号,学院名称}

 老师:

{职工号,姓名,性别,所在学院编号,所授课程编号}

课程:

{课程编号,课程名称,课程优先级}

教室:

{教室编号,教室名称,容量,所在教学楼编号}

实体联系部分情况:

1、一个班级可以是在一个学期内学习每M门课程,一门课程也可以同时在我们学校的N个班级内开课;

2、一个老师可以叫M门课程的情况,同时一门课程有N个老师在教授课程;

3、一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课;

4、一个班上课只能在1个教室,同时一个教室在一时刻只能在同一个班上课(大课及公选课没有考虑进去);

5、一个老师上课在1个教室,一个教室只能1个老师在上课;

6、一个时间点有M个班级在上课,一个班级只能在1个时间点上课。

 

3.数据库设计

以下是要创建的表

表1用户表

中文含义

字段名称

数据类型

长度

是否为空

备注

用户名

UserName

varchar

16

NotNull

密码

PassWord

varchar

10

NotNull

用户权限

Purview

varchar

10

NotNull

表2学院信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

学院编号

CollegeID

char

2

NotNull

学院名称

CollegeName

varchar

16

NotNull

表3系信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

系编号

SystemID

char

4

NotNull

主键

系名称

Systemname

varchar

16

NotNull

所属学院

CollegeID

char

2

NotNull

外键

表4班级信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

班级编号

ClassIDr

char

6

NotNull

主键

班级名称

ClassName

varchar

16

NotNull

学生人数

StudentNumber

Int

4

NotNull

所属系

SystemID

char

4

NotNull

表5教师信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

教师编号

TeacherID

char

8

NotNull

主键

教师姓名

TeacherName

varchar

16

NotNull

所带课程

CourseName

varchar

16

NotNull

外键

表6教室信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

教室编号

ClassroomID

char

5

NotNull

主键

教室姓名

ClassroomName

varchar

16

NotNull

教室容量

TotalNumber

Int

4

NotNull

表7时间表

中文含义

字段名称

数据类型

长度

是否为空

备注

上课时间

ClassTime

varchar

30

NotNull

表8课程信息表

中文含义

字段名称

数据类型

长度

是否为空

备注

课程名称

CourseName

varchar

16

NotNull

主键

课程课时

CourseTime

varchar

2

NotNull

任课教师

TeacherName

varchar

16

NotNull

表9任课表

中文含义

字段名称

数据类型

长度

是否为空

备注

课程名称

CourseName

varchar

16

NotNull

教师编号

TeacherID

char

8

NotNull

教师姓名

TeacherName

varchar

16

NotNull

班级编号

ClassID

char

6

NotNull

每周节数

WeekNumber

Int

4

NotNull

表10排课表

中文含义

字段名称

数据类型

长度

是否为空

备注

课程名称

CourseName

varchar

16

NotNull

教师姓名

TeacherName

varchar

16

NotNull

上课教室

ClassroomName

varchar

16

NotNull

班级编号

ClassID

char

6

NotNull

上课时间

ClassTime

varchar

30

 

3.输入输出设计

(1)输入设计

输入设计的原则:

最小量原则,输入量越小,出错机会越少,花费时间越少,数据一致行越好;

简单性原则,输入的准备、输入过程应尽量容易以减少错误的发生。

早检验原则,对输入数据的检验尽量接近原数据发生点,使错误能即使得到改正。

少转换原则,输入数据尽量用去处理所需形式记录,以免数据转换介质时发生错误。

本系统的输入界面的图例如下:

图4-1课程表的输入设计

图4-2班级表的输入设计

图4-3任课表的输入设计

图4-4教师表的输入设计

输入界面的设计我们不仅考虑到数据输入窗口的屏幕格式,而且考虑到如何使输入数据的错误率尽可能的减小,为此,在程序中加入了对输入数据的校验和判断等功能,如输入数据的范围,数据间的关联等。

同时,尽可能多的使用菜单方式、会话方式、一次输入多次使用的方式来简化用户的输入操作.

 

(2)输出设计

输出设计主要包括以下几方面的内容:

确定输出内容;选择输出设备与介质;确定输出格式。

在输出界面的设计上,可以通过多种方式来实现,我们主要将数据以日常通用的格式呈现在屏幕上,方便用户的查阅,以及管理员进行修改.

本系统的输出界面图例如下:

图4-5班级课表的输出设计

图4-7教师课表的输出设计

图4-5教室课表的输出设计

五、系统实施

系统实施是网站开发过程中最烦琐、重要也是对系统质量有着直接的影响的阶段,这个阶段的任务是实现系统设计阶段的物理模型,按实施方案完成一个可以实际运行的系统。

以下是各模块的实现过程:

(一)系统开发环境与工具

1.vb简介

本系统采用的主要技术是ASP,以下对此技术做一简介。

ASP即ActiveServerPages,是一套微软开发的服务器端脚本环境,内含于IIS3.0和4.0之中。

通过ASP,我们可以结合HTML网页、ASP指令、和ActiveX空间建立动态、交互且高效的web服务器应用程序。

与一般的程序不同,.asp程序无须编译。

ASP程序的控制部份,是使用VBScript、JScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。

当然,同其他编程语言一样,ASP程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写ASP程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。

当你安装ASP时,系统提供了两种脚本语言:

VBsrcipt和JScript,而VBscript则被作为系统默认的脚本语言。

你也可以根据自己的喜好改变系统默认的脚本语言。

2.系统运行的硬件环境

本系统是采用单片机形式进行系统设计的(即服务器与客户端是同一台计算机),它的主要硬件环境如下:

操作系统:

Windows7/windowsxp

数据库:

SQLserver2008

开发工具:

vb

(二)程序流程图

图例说明:

程序流程图中:

代表操作

代表输入输出

代表判断

代表开始/结束

根据总体设计,本系统主要可分为:

用户管理,数据管理,教学计划管理,排课管理模块。

我负责的主要是用户管理和数据管理模块。

图5-1数据管理程序流程图

 

(三)实施结果

图5-2自动排课结果

图5-3手动调课结果1

图5-3手动调课结果2

(三)系统测试

在所有管理信息系统的开发和实施过程中,系统测试是保证系统得以顺利运行的关键性一步,它是提高软件质量和可靠性的有效手段。

1.测试方法

系统测试用例设计方法分为白盒法和黑盒法。

白盒法测试也称逻辑驱动测试或称逻辑覆盖测试。

使用白盒法需阅读程序内部的逻辑,并以此为基础设计测试用例。

黑盒法也称数据驱动或输入/输出驱动法。

测试者把程序看成一个黑盒,即完全不考虑程序内部结构和内部特性。

测试者寻找使程序按规范运行的情况导出测试数据。

也可以说黑盒法是根据程序的功能说明来设计测试用例。

该智能排课系统采用黑盒法测试用例测试。

2.测试环境

Windows7\XP、MicrosoftVisualBasic6.0

3.测试用例及测试结果

表11手动调课

用例编号

01

测试项描述

手动调课

预置条件

已经进入手动调课界面

用例

输入步骤

测试输入

预期结果

测试结果

01

调课成功

填入所输入的信息

填写

课程名称:

历史

教师名称:

胡夏

上课教室:

二教105

班级编号:

010102

上课时间:

周五第一大节

点击确定

提示排课成功

提示排课成功

02

教室、时间冲突

填入所输入的信息

填写

课程名称:

英语

教师名称:

杨娜

上课教室:

一教101

班级编号:

010102

上课时间:

周一第二大节

点击确定

提示该班级该时段该教室已有课,请重新填写

提示该班级该时段该教室已有课,请重新填写

表12自动排课

用例编号

02

测试项描述

自动排课

预置条件

已经进入自动排课界面

用例

输入步骤

测试输入

预期结果

测试结果

01

排课完成

点击开始

点击开始

提示排课完成

提示排课完成

表13班级课表查询

用例编号

03

测试项描述

班级课表查询

预置条件

已经进入班级课表查询界面

用例

输入步骤

测试输入

预期结果

测试结果

01

查询成功

输入班级编号

输入010102

查得并显示010102班级课程表

查得并显示010102班级课程表

02

该班级课表不存在

输入班级编号

输入0806

提示该班级课表不存在

提示该班级课表不存在

 

表14教师课表查询

用例编号

04

测试项描述

教师课表查询

预置条件

已经进入教师课表查询界面

用例

输入步骤

测试输入

预期结果

测试结果

01

查询成功

输入教师姓名

输入胡夏

查得并显示胡夏课程

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

当前位置:首页 > 初中教育

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

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