教室管理系统设计与实现_第1页
教室管理系统设计与实现_第2页
教室管理系统设计与实现_第3页
教室管理系统设计与实现_第4页
教室管理系统设计与实现_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业设计(论文)基于APM的教室管理系统的设计与实现李天磊燕山大学2011年6月本科毕业设计(论文)基于APM的教室管理系统的设计与实现学院:信息科学与工程学院专业:计算机科学与技术学生姓名:李天磊学号:070104010061指导教师:焦移山答辩日期:2011年6月24日燕山大学毕业设计(论文)任务书学院:信息科学与工程学院系级教学单位:计算机科学与技术学号070104010061学生心斗后姓名李大硒专业班级07软件2班题目题目名称基于APM的教室管理系统的设计与实现题目性质理工类:工程设计();工程技术实验研究型():理论研究型():计算机软件型(J);综合型()。文管类():3.外语

2、类();4.艺术类()。题目类型1.毕业设计(J)2.论文()题目来源科研课题()生产实际()自选题目(V)主要内容1、搭建Apache+PHP+MySQL集成开发环境。2、完成教室管理系统的需求分析和设计。3、实现教室管理系统的基本功能。4、研究根据课表和教室情况等已知条件,自动分配教室的算法。5、根据上述算法,在系统中实现教室自动分配功能。基本要求1、开发环境:Apache+PHP+MySQL集成开发环境。2、要求实现教室管理系统的基本功能,软件界面要友好。3、要求实现教室自动分配功能。参考资料1、在线文档.MySQLS.1参考手册. HYPERLINK http:/dev http:/d

3、ev./doc/refman/5.1/zh/index,html2、在线文档.PHP手册. HYPERLINK http:/php http:/ # I摘要摘要在信息化的今天,使用信息管理系统对数据进行管理已经代替了手工管理的方式,该论文研究的高校教室管理作为教务信息管理系统的一部分,旨在设计一个基于B/S模式的具有管理系统基本功能和自动排课功能的教室管理系统。系统的开发过程中采用了软件工程传统方法学中的快速原型法,论文中首先介绍了开发的背景、目的和确定采用APM(Apache+PHP+MySQL)集成开发环境;其次对该系统进行了需求分析,从用户角度描述系统的功能要求;再次论述对系统的总体设计

4、,确定系统的所有的功能模块并对数据库进行了设计;最后描述了各个模块的具体功能并介绍了程序中的主要算法,附带了系统主要界面的图片。系统开发使用了PHP和HTML分别作为后台和前台开发语言,通过禁忌搜索和回溯方法实现了自动排课算法,最终实现了教室管理系统的设计。关键词教室管理系统;APM;排课算法;禁忌搜索燕山大学本科生毕业设计(论文)燕山大学本科生毕业设计(论文)iiiiAbstractIlltheinformationtoday,usinginformationmanagementsystemofdatamanagementhasreplacedmanualmanagement,thispap

5、erstudiesthewaythecollegeclassroommanagementaspaitoftheacademicinformationmaiiagement,whichaimstodesignabasedonB/Smodelclassroommanagementsystemwithbasicfiinctionofmanagementsystemandautomaticcoursearrangement.Thissystemisadoptedinthedevelopmentprocessofsoftwareengineeringtraditionalmethodsofrapidpr

6、ototypingmethod,thispaperfirstlyintroducesthebackground,thesystemdevelopmentobjectivesandsuretouseAPM(Apache+PHP+MySQL)integrateddevelopmentenviioimient;Secondofthesystemfromtherequirementanalysis,thispaperdescribesthefunctionofthesystemuserrequirements;Forsystemdiscussedagain,theoveralldesignsystem

7、isdeterminedbythefiinctionmoduleandalltoadatabasedesign;Finally,itisdescribesthespecificfiinctionofeachmodule,andintroducesthemostmainalgoritlmis,andprogramwithsystemmainlyinterfacepictures.SystemdevelopmentusingPHPandHTMLbackendsandfloutdeskdevelopmentrespectivelyaslanguage,throughtabusearchandretr

8、ospectivemethodrealizestheautomaticcoursearrangementalgoritlmi,andfinallyachievedthedesignofclassroommanagementsystem.KeywordsClassroomManagementSystem;APM;AirangementAlgoritlmi;TabuSearch IV IIITOC o 1-5 h z HYPERLINK l bookmark6 摘要I HYPERLINK l bookmark8 AbstractII HYPERLINK l bookmark10 第1章绪论1 HY

9、PERLINK l bookmark12 1.1课题背景11.2国内外研究现状2 HYPERLINK l bookmark14 1.3课题目的及意义3 HYPERLINK l bookmark16 1.4课题研究主要内容3 HYPERLINK l bookmark18 第2章相关技术与理论5 HYPERLINK l bookmark20 2.1开发环境与工具5APM平台5HTMLCSS和JavaScript6Dreamweaver编辑器6 HYPERLINK l bookmark22 2.2相关理论7 HYPERLINK l bookmark24 2.2.1启发式搜索72.2.2禁忌搜索72.

10、2.3回溯法8 HYPERLINK l bookmark26 2.3本章小结8 HYPERLINK l bookmark28 第3章需求分析9 HYPERLINK l bookmark30 3.1问题定义9 HYPERLINK l bookmark32 3.1.1学生使用系统的功能要求9 HYPERLINK l bookmark34 3.1.2教师使用系统的功能要求9 HYPERLINK l bookmark36 3.1.3管理员使用系统的功能要求10 HYPERLINK l bookmark38 3.2可行性分析10 HYPERLINK l bookmark40 3.3需求分析11 HYPE

11、RLINK l bookmark42 3.3.1系统功能需求11 HYPERLINK l bookmark44 3.3.2安全性与完整性需求12 HYPERLINK l bookmark46 3.3.3数据流程图与功能划分13 HYPERLINK l bookmark48 3.3.4数据字典15 HYPERLINK l bookmark50 3.4本章小结17 HYPERLINK l bookmark54 第4章数据库设计18 HYPERLINK l bookmark52 4.1数据库设计18 HYPERLINK l bookmark56 4.2数据库表19 HYPERLINK l bookm

12、ark58 4.3本章小结24 HYPERLINK l bookmark60 第5章总体设计25 HYPERLINK l bookmark62 5.1系统模块设计255.1.1公共模块25 HYPERLINK l bookmark64 5.1.2学生功能模块27 HYPERLINK l bookmark66 5.1.3教师功能模块28 HYPERLINK l bookmark68 5.1.4管理员功能模块29 HYPERLINK l bookmark70 5.2本章小结30 HYPERLINK l bookmark72 第6章系统详细设计31 HYPERLINK l bookmark74 6.

13、1公共模块设计31 HYPERLINK l bookmark76 6.2排课算法的详细设计32 HYPERLINK l bookmark78 63本章小结36 HYPERLINK l bookmark80 第7章系统实现37 HYPERLINK l bookmark82 7.1系统实现37 HYPERLINK l bookmark84 7.2本章小结42 HYPERLINK l bookmark86 结论43 HYPERLINK l bookmark88 参考文献44 HYPERLINK l bookmark90 致谢46 HYPERLINK l bookmark96 附录1开题报告47 HY

14、PERLINK l bookmark98 附录2文献综述51 HYPERLINK l bookmark104 附录3中期报告54 HYPERLINK l bookmark112 附录4外文原文57 HYPERLINK l bookmark118 附录5外文译文68燕山大学本科生毕业设计(论文)燕山大学本科生毕业设计(论文)第1章绪论 # 第1章绪论11课题背景随着信息化的高度发展,大学中远程在线课堂授课的教学方式已经出现,但这种非面对面交互的教育方式存在着很多的弊病,因此目前在我国绝大部分大学还是以教室中面对面的授课方式为主。综合考虑大学授课中多方面的特殊性,大学授课对教室的安排与义务教育阶段

15、大不相同,对某个班级的课程安排不再局限于某一个教室,并且可能会出现多个班级在一个教室中上课的情况。从使用角度上看,这样的教室安排制度增大了教室使用的自由度,尤其是在如今大学中教室少班级多课程多的现状下,这样的教室使用方案更能充分利用教室资源,使教室得到合理的分配。但从教室的管理角度来说,教室使用越自由,教室的管理的难度就越大。管理的难度主要体现在对教室排课问题上。众所周知,大学中每个专业需要修的课程都有很多,大部分课程都能在一个学期内学习完毕,这样就导致每个学期初都要进行一次教室分配。分配过程不仅要考虑教室本身是否会发生使用上的空间冲突(同一教室同一时间安排了两门或两门以上课程),而且还要考虑

16、参与授课过程的教师学生是否会发生时间冲突(同一学生或教师同一时间不能出席两门或两门以上的课程)。而且就目前而言,我国高等教育己进入大众化发展阶段,各高校的招生数量急剧增加,给高等教育带来了深刻的变革。面对跨越式的发展速度和招生数量的大幅度增加,不少高校教室资源短缺的问题逐渐凸现出来。科学、高效、合理地管理和使用高校教室资源,保证学生正常的学习环境,成为H前高校教学资源管理研究的一项重要课题。以燕山大学为例,燕山大学东校区共四座教学楼,共近200间大小不等类型不一的教室,要分配九个学院41个专业的课程,这些专业四个年级共有大约450余个班,有近11000余名学生。所有的班级总共要在东区安排近12

17、00门课程,每门课程每周上课节数不等。如果手工安排所有课程的话大概需要花费一个月左右的时间,而且手工排课不能从全局考虑教室分配的平均性。综合以上论述来看,一个学校需要一个优秀的教室管理软件势在必行。一个教室管理系统不仅能方便工作人员对教室资源的管理和安排,大大减轻他们的工作量,还更能为学生和老师查询自身与教室的相关信息提供方便,并且还可以提供给教师部分教室占用权限,分担管理人员的一部分工作。1.2国内外研究现状上个世纪中叶,西方学术界就有人开始研究大学排课问题。二十世纪六十年代,Gotlieb曾为排课问题创建了一个数学模型,最终使用部图匹配解决了排课问题。在此之后,人们开始在Goflieb的数

18、学模型基础之上对课表问题的算法、解的存在性等问题做了很多深入研究。人们尝试用各种方法求解排课问题,有些人尝试把排课问题归结为求一组0-1变量的解,但工作量十分庞大,而且这种技术只能适用于课程较少的情况;二十世纪八十年代Mihoe提出排课问题可以看作是一个优化问题;接下Tripathy发表论文使用整数线性编程方法求解排课问题并提岀了相应的数学模型;之后又有人提出可以使用图论中的方法解决排课问题,比如二部图匹配方法。直到遗传算法的提岀,人们又开始研究使用遗传算法将排课问题看作是优化问题来解决。直到如今仍然有许多人在研究遗传算法,比较有代表性的有印度的Vastapur大学管理学院的ArabindaT

19、ripathy、加拿大Montreal大学的JeanAubin和JacquesFerland等。在课表安排中使用过的算法有:关联规则FP.growth算法。基于时间位图迭加匹配的算法。基于资源匹配的算法。分组优化决策算法。分支定界法。有限回溯法。拉格朗日松弛法。二次分配型法等多种方法。第1章绪论第1章绪论由于排课问题面临吋间空间各个方面的资源约朿,完全用数学方法进行问题描述而忽略计算机硬件条件总结岀来的解决排课问题的方法虽然理论上可以解决排课问题,但是当使用具体编程语言实现时乂会面临各种障碍。外国的研究表明,解决大规模课表编排问题单纯靠数学方法是行不通的,而利用运筹学中分层规划的思想将问题分解

20、,将是一个有望成功的办法。在我国对排课问题的研究始于八十年代时期,从今天来看具有代表性的有:南京工学院的UTSS(AUniversityTimetableSchedulingSystem)系统、清华大学的TISER系统、大连理工大学的智能教学组织管理与课程调度系统、西南交通大学提出的以课元相关运算和课元的候选时空片计算为核心的计算机排课算法,延边大学根据人手工排课的方法设计了计算机自动排课的数据结构与算法;沈阳电力高等专科学校研制了基于Client/Server的开放式智能排课系统等。1.3课题目的及意义研究该课题的主要目的是设计出一个具有良好交互性的可供学生、教师以及教室管理人员使用的具有增

21、、删、改、查功能的管理类网站,同时设计出一个具有实际意义且可以用PHP语言实现的排课算法。该算法对现有规模的排课问题应在可以接受的时间内执行完毕,算法能实现全部的硬性条件约束和部分软约束并且可以完成对绝大部分课程的安排。研究该课题的意义在于可以使教室管理信息化,便于与教务管理其他模块进行数据交换并且可以作为教务管理的一部分并入教务管理系统。就教室管理本身而言,设计这样的一个系统可以大大减轻教务人员对教师信息管理工作量,尤其是可以大大减少手工排课所花费的时间,并且从整体而言能获得比手工排课更加合理的教室分配方案。而就其他用户而言,该系统可以简化教师申请使用教室的流程,同时方便了学生对教室信息的查

22、看。而且作为一个B/S模式的管理系统,可以为教师和教务人员发布与教室相关的信息提供方便。1.4课题研究主要内容该课题主要研究主要内容有:燕山大学本科生毕业设计(论文)第2章相关技术与理论 确定系统开发语言和平台,选取适当的开发工具。对该课题进行需求分析根据用户使用需求和现有业务流程对系统进行分析并对系统各个功能的实现方式进行构思和设计。接下来通过分析现有的手工排课流程设计系统数据流程图,对系统和人的应完成工作进行分工,明确系统功能。将将系统数据流程图中岀现的实体抽象化规范化,然后对这些实体设计数据字典,明确每一对象的属性。对数据库进行设计考虑系统中所有会出现并且需要保存的数据,充分考虑数据之间

23、的关系,本着尽量减少冗余的规则设计数据库表,并确定表之间的关联关系。对系统进行整体设计根据需求分析中对问题的定义将系统分为具体功能的模块,使模块之间高内聚低耦合。然后根据现有技术和开发语言的特性对每一个模块进行设计。对系统进行详细设计在整体设计结束的基础上对系统中反复出现的功能模块进行详细设计,然后分析排课过程中出现的各种问题并提出解决方案,叙述排课算法的流程。系统实现该部分主要以运行界面截图的方式讲述各个功能模块的实现方式以及系统如何操作。第2章相关技术与理论2.1开发环境与工具根据当前主流技术的发展应用趋势,本系统的开发选取了Apache+PHP+MySQL经典组合作为开发平台。其中Apa

24、che是系统运行的服务器,可以满足中小型网站的使用需求;PHP作为系统后台脚本开发语言,完成系统中控制和处理部分的功能;开发本系统采用MySQL数据库储存数据主要是考虑MySQL数据库与PHP语言的完美兼容性。系统的前台开发使用了HTML文本标记语言,页面设计使用了CSS层叠样式表,前台处理使用了JavaScript脚本语言。系统开发使用的主要工具为Macromedia公司的Dreamweaver可视化网页编辑器,下面分别对其进行简要介绍。1.1APM平台Apache是世界使用排名第一的Web服务器软件。它可以运行在儿乎所有广泛使用的计算机平台上。ApacheHTTPServer(简称Apac

25、he)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之OPHP是一个嵌套的缩写名称,它是英文超文本预处理语言(HypertextPreprocessor)的缩写,只要用途是处理动态页面。PHP是一种HTML内嵌式的语言,语言风格类似于C语言,语法混合了C、Java.Perl以及部分自创语法,可以比CGI或者Perl更快速的执行动态网页。PHP属于解释执行语言,嵌入在HTML文档中执行,具有较高的效率。其与ASP和JSP最大的不同点就是源代码是开源的,而且具有良好的跨平台性。MySQL是一个小型关

26、系型数据库管理系统,由于其体积小速度快的因素被广泛用于Internet的中小型网站中。MySQL具有运行速度快、支持多种平台和支持多种开发语言的特点。与其他数据库相比,MySQL是一个开源的软件,因此用户可以免费使用MySQL数据库。选取Apache+PHP+MySQL的组合有两个原因:Apache和MySQL对PHP有很好的兼容性,能很好的支持PHP的一些扩展功能。三个软件全部是开源软件,使用它们能在不侵犯版权的情况下降低开发成本。1.2HTMLCSS和JavaScriptHTML(HyperTextMark-upLanguage)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广

27、泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。CSS(CascadingStyleSheet,可译为层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分

28、离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司设计,是一种动态、弱类型、基于原型的语言,内置支持类。使用JavaScript可以在客户端进行一些动态处理并且可以提供一些对浏览器的操作,减少客户端与服务器端的交互,使系统得到优化。1.3Dreamweaver编辑器Dreamweaver是在网页设计与制作领域中用户最多、应用最广、功能最强大的软件。它集

29、网页设计、网站开发和诂点管理功能于一身,具有可视化、支持多平台和跨浏览器的特性,是目前网站设计、开发、制作的首选工具。Dreamweaver具有灵活编写网页的特点,不但将“设计”和“代码”编辑器合二为一,而且在设计窗口中还精化了源代码,能帮助用户按工作需要定制自己的用户界面。选用Dreamweaver作为开发工具的主要原因是:(1)该软件属于所见以所得的可视化开发工具,能减轻系统前台开发的工作量。(2)软件支持Frame框架、JavaScript脚本、CSS样式表以及DIV模块的可视化开发,可以系统开发的功能满足需求。(3)PHP语言属于解释执行语言,不需要编译即可执行,Dreamweaver

30、软件可以完成PHP脚本的编写。2.2相关理论设计排课算法时,为了使教师以及学生在同一时间最多只能出席一门课程,使用了图论中的无向图来体现课程之间的冲突关系;在为课程寻找合适的教室时,开始使用了启发式理论逐门安排课程,使每门课程都能满足硬约束,当课程安排失败时对课程的调整乂使用了回溯理论以及禁忌搜索理论,其具体使用过程见第5章详细设计,现在对以上理论进行简要介绍。2.2.1启发式搜索启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。启发式算法则试图一次提供一个或全部目标。它常能发现很不错的解,因此

31、将启发式搜索方法用于课程的初次安排中,这样可以降低初次安排课程的吋间。2.2.2禁忌搜索禁忌搜索是局部邻域搜索算法的推广,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,TS搜索中采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是所谓的禁忌表。当课程安排失败时,使用禁忌搜索法在冲突图中寻找燕山大学本科生毕业设计(论文)第3章需求分析 与该课程可能发生冲突的课程,对其进行回溯排课。2.2.3回溯法回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但

32、当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。因为回溯之前进行了禁忌搜索,为防止回溯时间过长,为回溯设置回溯长度以及回溯半径,用以限制回溯过程规模。2.3本章小结本章主要介绍研究该课题过程中使用到的一些技术及其理论。计算机的软件的开发离不开计算机编程语言以及相关软件的支持,所以首先确定了开发过程中使用的开发平台环境,然后对其特性和优点进行简要的介绍,说明选择Apache+PHP+MySQL作为开发平台的理由是其良好的兼容性以及代码开源性。本章第二节罗列出研究过程中使用到的一些理论,简要介绍了

33、什么是启发式搜索、禁忌搜索和回溯法,并且简单的说明在课题研究中的那些部分需要使用该理论。第3章需求分析3.1问题定义本系统是一个基于B/S模式的多用户系统,最终面向的是所有在校的教师、学生和系统管理人员,下面分别从这三个角度对系统进行定义。3.1.1学生使用系统的功能要求(1)每个在校学生都可以访问该系统,学生毕业之后不可以在使用该系统。(2)在校学生可以通过该系统查看并可以打印本学期的个人课表。(3)学生可以对本学期每一天公共教室的使用情况进行查询,方便上自习教室的查找。(4)学生可以对自己感兴趣的课程或感兴趣的教师开设的课程的上课教室进行查找,对课程的查找应该支持模糊查询。(5)学生可以对

34、本学期自己所修课程的考试信息进行查看,前提是本门课程已经安排了考试。(6)学生可以更改自己的系统登录密码。(7)学生可以查看由教务人员发布的关于教室占用、教学楼开放或关闭等信息和教师发布的关于课程补课教室或课程更改上课教室的信息。3.1.2教师使用系统的功能要求(1)每个在职教师都可以访问该系统,教师离职之后不可以再使用该系统。(2)在职教师可以通过该系统查看和打印本学期的个人任课课表。(3)教师可以根据教室类型大小和使用的时间对符合条件的教室进行查找,对查找结果可以申请占用,占用时间最多为四个课时,教室的申请应该在对教室使用时间的前一天或前儿天进行。(4)教师可以对自己占用教室的历史进行查看

35、,对于尚未发生的占用,教师可以取消该次占用。(5)教师可以对本学期自己任课的课程进行考试安排,可以查看已经安排过的考试的信息。(6)教师可以发布关于课程补课或课程更改上课教室的信息。(7)教师可以更改自己的系统登录密码。3.1.3管理员使用系统的功能要求(1)该系统应该存在至少一个管理人员,对教室及其相关信息进行管理。(2)管理员可以对教室的基本信息进行管理,包括教学楼的查找添加和删除、教学楼中教室的查找添加修改删除。管理员可以对本学期每间教室的课程表进行查看与打印。(4)管理员可以对本学期考试安排教室的信息进行查看和取消。(5)管理员可以申请教室的占用,并且可以对本学期所有教室占用的信息进行

36、查看,对尚未发生的占用管理员有权删除占用信息。(6)管理员可以在学期初对本学期起止时间等相关信息进行设置。(7)管理员学期初可以清除毕业离校学生以及离职教师的登录权限并且可以删除上学期与课程安排有关的信息。(8)管理员可以对本学期课程安排等相关数据进行导入。(9)管理员可以发布与教室有关的占用信息。(10)管理员在学期初可以通过系统对所有课程的上课时间和地点进行安排。(11)管理员可以备份以及恢复数据库内容。(12)管理员可以对所有用户进行注册和密码修改。2可行性分析为了研究设计该系统的方案是否可行,接下来从技术可行性、操作可行性、经济可行性和法律可行性四个角度对开发该系统进行可行性分析。(1

37、)技术可行性分析根据问题定义阶段对问题的描述以及当今理论技术的发展现状来看,该系统可以通过已选定的开发环境进行开发。经过对排课算法的初步学习和调研,使用PHP语言可以在有限时间开发岀一个具有实际意义可以满足用户要求的对课程进行自动安排的算法。(2)操作可行性分析该系统性质上属于信息管理系统,因此开发过程中可以参照其他成功的基于B/S模式的管理系统对该系统进行操作界面的设计,由于开发语言与所选数据库具有很好的兼容性,所以对数据库的操作基本也可以全都在系统功能界面实现。综合以上考虑,对互联网有基本的了解曾经使用或访问过类似网站的人都有能力对系统进行操作,管理员对系统的操作可以在软件开发结束之后通过

38、与开发者的沟通进行进一步的了解。(3)经济可行性分析由于软件开发所使用的环境基本都属于开源软件,都可以通过正当途径免费获得其使用权限,因此从经济角度上说开发该系统是可行的。(4)法律可行性分析本软件为自主创新的智力活动,所使用工具都是通过合法途径获得,系统中不存在侵犯他人所有权的内容存在,软件的调研背景为本学校,所有数据来源都属于自己调查和统计,产品的目标为进行课题研究不属于任何商业活动,软件所涉及内容也与法律无任何冲突,因此从法律角度讲开发该软件是可行的。3.3需求分析3.3.1系统功能需求对系统的大部分功能需求在问题定义阶段已经描述清楚,这里主要对排课功能进行详细的分析。课程安排过程需要满

39、足两种需求,硬性需求和软需求,其中硬性需求如下:(1)所有课程都必须被安排。(2)所选课程的出席人数不能超过该教室的容量。(3)同一个教师的不同课程不可以发生在同一个时间。(4)同一个班级的不同课程不可以安排在同一个时间。(5)一个教室的同一个时间不可以安排两门或两门以上的课程。(6)上课的教室类型符合课程的需求。软性条件如下:(1)课程应该均匀的安排在整个学期。(2)一门课的多个课节最好安排在一个教室。(3)一门课一天不可以出现两次或两次以上。(4)对每个教室的排课量应该大体保持一致。(5)对每个班级和教师而言,课程安排最好均匀分布在一周中。硬性要求是排课过程中必须遵循的要求,每门课程安排过

40、程中都必须遵循以上要求,如果不能满足应该做相应的调整。软性要求是在对课程的安排满足所有硬性条件的前提下最好可以满足的需求,当条件不允许时软性要求可以适当的放宽。3.3.2安全性与完整性需求由于该系统的开发基于B/S模式,就B/S模式的管理系统的工作模式而言,对软件进行安全性和完整性进行考虑是系统中必不可少的一步,这直接关系到软件使用是否可靠和安全,关系到系统使用过程中是否会岀现重大问题而造成其他重大损失。就管理系统而言还不得不考虑信息数据的完整性需求,因此接下来将从访问权限的安全性系统的容错能力以及系统数据的完整性进行分析,确定系统安全性和完整性的需求。(1)访问权限的设置由于B/S模式的管理

41、系统的访问一般是通过浏览器发送CRL地址对相应页面进行访问,因此系统必须具有一个访问权限核实的模块,在每个页面加载前进行调用,防止有其他动机的不良用户通过URL访问其无权访问的页面进而对系统数据进行修改对系统造成损失,其中权限核实的内容应包括两个部分:无任何权限的用户试图跳过登录步骤直接访问功能界面和具有某种权限的用户登陆后试图通过服务器中以保存的身份信息访问其他无权访问的页面。每个用户登录后其访问权限应有时间限制,如果用户长时间(其时间暂定为10分钟)对系统操作无任何操作,再次访问系统时,系统给岀相应的提示后自动跳转到登陆页面要求用户再次登录。(2)系统的容错能力由于该系统许多模块的功能都与

42、时间有关,因此容错主要从时间冲突角度考虑。由于系统用户都属于学校成员,因此系统中关于时间的设定都是基于学周的,当用户对教室资源进行占用或取消占用时,要对用户所选时间与当前时间进行比对,用户占用教室时选择的占用时间应该在当前时间之后,用户取消教室相关使用信息时,取消动作发生的时间应该在使用动作落实之刖。对于可以由用户输入内容的模块,要对用户输入内容进行核实,以免因为用户操作失误或者好奇输入非法内容而使系统产生不可预知的错误。(3)数据完整性管理系统离不开对数据的操作,因此对数据的完整性关系到系统运转是否正确,因此要求数据相互联系正确,数据记录完整数据项,相同的数据在不同的表格中应该一致。其具体内

43、容见下一章数据库设计部分。3.3.3数据流程图与功能划分由于学生以及教师使用该系统的操作相对简单且功能划分也相对明确,因此对于学生和教师功能模块在此章暂不赘述,具体内容将在下两章讲述。而管理员模块的功能相对来说较为复杂,无论是数据管理还是排课过程都涉及到与外界的数据交换,因此对该模块建立数据流程图,如图3-1。下面将通过数据流程图对管理员模块尤其是排课过程进行功能划分,确定由系统完成的功能以及需要人进行的操作。由于排课过程涉及课程、班级、教师和教室等多方面的信息,因此排课过程不可能由软件独立完成,现在对排课流程进行描述,在描述过程中确定系统边界,明确系统功能。(1)由于排课之前学校要对本学期所

44、有应该安排的课程进行选定,因此系统应生成最新教室资源的统计表,教务工作者在课程安排时要注意课程安排的总学时应该不超过本学期教室时间资源总数的80%,以免课程过多最终导致部分课程无法调度安排失败。(2)排课之前教务人员需要手工做的工作有:确定本学期所有需要安排的课程;确定每门课程需要出席的班级;确定每门课程的任课教师;确定每门课程上课所需教室的类型;确定每门课程开课的学周;确定每门课程的总学时数。以上数据处理完成后将其与本学期教师变动信息、本学期所有入学班级信息、本学期所有入学学生信息输入至预先设定好格式的Excel表格中,之后将表格提交至系统管理员。屮务管理员用户信总教室占用信总C1人结;1旳

45、妨支妙ifi!J1教室基本管理丿狄分人贝1A1D教室基本信息教室基本信总D课程信息.未排课程7查看未排课程课程倍总D课程安排信息手动排课课程信息用户信总用户信息用户密码管理2口动排课-课程信息课程安排信总I恥务4课程用户信息管理未排课程课林时何安排倍息课程及用户倍总6教室占用信息教室占用信息fD教室占用信息图3-1教室管理系统管理员模块数据流程图(3)管理员使用系统将上步中提交的Excel文件导入数据库。在导入数据之前,管理员应将上学期已失效的数据删除并设置本学期的起始截止时间,该功能由系统实现,系统导入结束显示导入失败的信息,由管理员和教务人员配合对导入失败的信息进行核对(核对过程属于人工操

46、作),核对完成后再次将正确的数据导入数据库。(4)当确定所有数据已经成功导入后,管理员可以开始使用系统进行排课,排课程序执行结束后,系统生成安排失败课程的报表,管理员将此表交至教务人员,然后教务人员根据失败课程的任课教师以及所有岀席班级的现有课程通过手工方式安排课程的上课时间,若时间仍无法调度成功可以考虑更换任课教师或将课程安排至非正常授课时间(如周末或者晚上)。(5)教务人员将安排信息提交至系统管理员,有管理员使用系统的手工排课功能对课程进行空间安排,若不成功则返回步骤(4)直至全部课程安排成功。3.3.4数据字典在上一节中通过数据流图对系统进行了边界划分,本节将以数据字典的形式具体说明数据

47、流图中的主要数据对象的信息,以便开发过程中的程序设计及数据库设计。名字:教学楼基本信息描述:本校所有教学楼的信息定义:教学楼基本信息二教学楼ID+教学楼所在校区+教学楼名称位置:保存至数据库名字:教室基本信息描述:本校全部教室的基本信息定义:教室基本信息二教室ID+所属教学楼ID+教室类型+教室座位数位置:保存至数据库名字:统计的教室数据别名:教室统计一览表描述:对本校全部教室按校区类型和大小进行分类统计定义:教室统计一览表二教室所在校区+教室类型+教室大小+该类教室总数位置:输出至打印机名字:课程及用户信息别名:教务处学期数据报表定义:教务处学期数据报表二教师表+课程信息表+班级信息表+学生

48、表位置:Excel文档名字:课程信息描述:本学期所有学要安排的课程信息定义:课程信息二课程ID+课程名+课程起始学周+课程结束学周+课程全部课时+开课学院+任课教师ID+所需教室类型+出席课程班级位置:保存至数据库教务处学期数据表名称:课程安排信息描述:系统对课程上课地点的安排结果定义:课程安排信息二安排编号+上课教室编号+上课星期+上课课节+任课教师ID位置:保存至数据库名称:课程时间安排信息别名:手工课程安排时间表描述:教务人员提供的用于课程手动安排的课程时间信息定义:课程时间安排信息二课程ID+教室校区+教室类型+上课人数+课程起始学周+课程结束学周+上课星期+上课课节位置:保存至数据库

49、名称:用户信息描述:系统所有用户的信息定义:用户信息二教师信息+学生信息+管理员信息位置:保存至数据库教务处学期数据报表名称:教师信息描述:本学期所有进行授课的教师的基本信息定义:教师信息二教师ID+教师名称+教师所属学院+个人密码位置:保存至数据库教务处学期数据表名称:学生信息描述:所有在校学生的基本信息定义:学生信息二学生ID+学生姓名+学生所在班级ID+学生密码位置:保存至数据库教务处学期数据表名称:班级信息描述:本校全部班级的信息定义:班级信息二班级ID+班级入学年份+班级所属学院+班级所属专业+班级编号+班级学生人数位置:保存至数据库教务处学期数据表3.4本章小结本章的需求分析主要介

50、绍了系统开发前进行的准备工作,系统需求分析做的好坏直接关系到系统开发过程的难易程度,因此本章从多个角度对系统进行描述,第一节问题定义的内容是开发者在和用户进行沟通后从用户的角度确定系统开发主要该解决的问题;第二节可行性分析是综合考虑各方面的客观因素确定本系统是否可以去研究开发;第三节数据流程图及功能划分的内容是在了解用户的需求后,综合考虑当今技术背景,通过对整个系统数据的流动对系统的边界进行明确的划分,确定了那些工作应由系统实现,那些内容需要人配合系统实现;最后一节是对第三节的补充,以数据字典的形式解释数据流程图中出现的主要的数据对象的内容。燕山大学本科生毕业设计(论文)第4章数据库设计 4.

51、1数据库设计第4章数据库设计数据库设计是系统设计中必不可少的一个阶段,教室管理系统属于一个信息管理系统,而信息管理系统的本质就是一个对数据进行管理的工具,因此数据库设计的好坏直接关系着管理的复杂程度。对数据库的设计步骤如下:building卩KLiiLb_areabynameclass卩KdFKLJ1FK2J2c_-acadeiiydepartmentc_classcyear八academyPKacadciDVidacHdemy_naneacudeiny_areaAJLteacherPKHiFXLrit_namel_ucadefiyIpussoordroomPKridFKLUr_bnildin

52、g_idrenumberrtyper_seatnumravailahleF-xanicwupyPKFK2tIIFK3,12FK1.13e_roo储存需要上半学期安排的课程的数组short_subjectsl和需要在下半学期安排的课程数组short_subject2o由于short_subjectsl中的课程与short_subject2中的课程不会发生冲突,因此在初始化冲突无向图时对于分别存于两数组中的课程不做判断。(5)如何实现冲突图由于程序中不存在图的结构,因此采用链表的方式实现。程序中使用的类和对象的概念,将冲突图中与某一门课程冲突的课程全部存于一个冲突数组中,该数组作为课程对象的一个属

53、性存在,数组中保存的是指向冲突课程对象的指针,这样方便对冲突课程的访问。下面对排课算法做简要的描述切(具体算法见代码部分):(1)创建课程类和教师类,读取全部教室和课程的信息并创建相应的对象,教室按类型、校区和座位数分别存于不同的教室数组中,将课程分别存于上面提到的三个数组中。(2)遍历全部课程,初始化所有课程的冲突数组和时间片资源数组。(3)分别遍历三个储存课程的数组long_subjectsshort_subjectsl和short_subjects2,若全部课程都已安排结束则调至步骤(7),否则对每门课程Si做如下操作:(4)调用查找教室的函数,开始遍历教室类型数组。根据启发式前三个条件

54、找到最合适的教室类型数组。从该数组中随机选择三个教室(若不足三个则全部选取),选择三个教室对象中占用次数最少的教室,若该教室剩燕山大学本科生毕业设计(论文)第7章系统实现 余时间片足够安排该门课程返回该教室对象,否则遍历该数组中全部课程对象,找到占用次数最少的教室,若该教室剩余时间片足够安排该门课程返回该教室对象,否则继续进行遍历。(5)对所有20个时间片随机排序,顺序遍历时间片,通过访问时间片资源数组和禁止数组判断方案K(r,t)是否可行,若可行保存该安排并重置其他课程的时间片资源数组购,将被占用的教室的占用次数加1。将冲突时间片加入禁止数组。判断该门课程全部课吋是否都已安排,若安排结束则调

55、至步骤3对课程Si+1进行安排。若该门课程尚未安排结束,则继续执行该步骤,若该步骤执行完毕仍未安排结束则调至步骤4重选教室再次进行安排,若反复执行10次之后仍未全部安排结束则执行步骤6进行回溯。(6)回溯之前先取消该课程已安排的信息并对其他课程的吋间片资源数组进行重置,之后开始遍历该门课程的冲突数组,设当前选中课程为S*。若课程S尚未安排教室,则继续遍历冲突数组,否则取消课程S的占用信息并重置其他课程的时间片资源数组,将被占用的教室的占用次数减1。接下来重新对课程S*调用步骤4、5进行安排,若未安排成功则继续回溯,若安排成功则调用4、5对Si进行安排,若Si安排成功则返回步骤3对Si+1进行安

56、排;若安排失败则继续遍历冲突数组执行上述操作,若遍历结束后课程仍未安排成功则提示该门课程安排失败,然后返回步骤3对Si+1进行安排。(7)对所有安排失败的课程再次调用步骤4至6进行再次安排,安排结束后排课过程执行完毕。系统跳转至显示安排失败课程的页面。6.3本章小结在本章中先介绍了部分公共模块的实现方式,然后着重介绍排课算法的实现过程。首先说明解决排课过程中时间和空间冲突的技术;然后介绍排课过程中会岀现的主要问题以及程序中如何解决的这些问题;最后以文字描述的方式叙述了排课算法的基本流程。第7章系统实现本章主要以系统运行截图的方式来介绍系统实现的功能以及操作界面的设计,并且会通过人为输入错误信息

57、检查系统的容错能力以及健壮性。7.1系统实现如图7-1为系统登陆界面,从图中可见,页面上方为系统标题,左侧为教务日历以及登录窗口,页面主体部分为教务通知,页面下方为显示版权信息,点击教务通知后可查看通知内容,如图7-2。;二:0冒M当蘭位苴教空筲理系统敦务日历,舍和盘斗i*序巔葩序第2011牢00月份日-二三m五六66?89101112131416181?16192021222324252d27232050发布人关于*月四為级舎试使月軌室的通如妙务处壬科隘6应运&童窗苗祕移茴至厂王虽-矿”-頁左歩-星歩2011-06-22011-0526用户登录,C洵北省0盅吕市河北大他価復433号TEL:+

58、80-0035-5057)00吊滿OO6QO3U.vICopyti纳jeZ011-05礙山大学图7-1系统登陆界面龄日历,w孑以事歹用赏力松盾201库0G月栋日一二三四五六12345678930111213141516H1819202122232425262T282930当萤窃苦,教宰管理系统诵知團教务通知关于木月四六级考试使用教室的谨知桂之香器翥響蠶空儘曙第三教学劇行四犬级考试,说诸位同学于23E晚22::00封秋务处2011-05-26图7-2通知内容显示图7-3为学生登录后的页面,页面的主题内容和页脚没有变化,页面左侧为功能按钮,页面上方提示有户信息及登录时间,便于用户查找教室时的时间选

59、择。團教务通知关于本月四六级考试使用敎空的通知壬羊壬biGSFig蚯占盲五岳亦发布时闻20II-D&-262011-026课糧旁听修改迓阳我的考试自习亶询匡汝也当前位買教室管理系鋭学生登求个人课義课程旁听修改童码图7-4学生个人课表查看图7-3学生登录主界面图7-4为个人课表查看,可以点击“预览并打印”按钮对课表进行打印。我的课表我的考试白习查询点击自习教室查找之后,可以根据所需时间地点在下拉菜单选择相应条件,点击确定即可显示查找内容。若查找日期选择不正确时系统弹出的提示信息如图7-5所示。点击旁听课程查找按钮,输入所需查找课程的课程名或者任课教师姓名之后选择相应的输入条件即可进行查找,系统对

60、查找条件支持模糊查询,查询结果在当前页面中显示。图7-5提示时间选择错误的信息点击密码修改之后弹出修改密码界面,系统要求用户输入两次新密码,并提示密码长度应该大于六位,若长度不满足要求或者前后两次密码输入不一致,系统会给出错误提示并清空输入内容要求用户再次输入。图7-6为教师登录页面,左侧为功能按按钮,单击部分按钮可以打开下拉菜单,如图7-7左侧教室占用按钮后的效果。当前位置,教室背理系统标腿发布人发布时甸豆呂右窮步芯目圏至R:纠燹芳处2011-05:20工壬国盲小_凍札換通匆20II-05-26極-王或賀飞了石五葩我的课表教宣占用我的考试发布通知图7-6教师登陆页面图7-7为申请教室占用页面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论