教室管理系统设计与实现本科毕业设计论文.doc

上传人:good****022 文档编号:116791568 上传时间:2022-07-06 格式:DOC 页数:99 大小:2.18MB
返回 下载 相关 举报
教室管理系统设计与实现本科毕业设计论文.doc_第1页
第1页 / 共99页
教室管理系统设计与实现本科毕业设计论文.doc_第2页
第2页 / 共99页
教室管理系统设计与实现本科毕业设计论文.doc_第3页
第3页 / 共99页
点击查看更多>>
资源描述
本科毕业设计(论文)基于APM的教室管理系统的设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日燕山大学毕业设计(论文)任务书学院:信息科学与工程学院 系级教学单位:计算机科学与技术 学号学生姓名专 业班 级题目题目名称基于APM的教室管理系统的设计与实现题目性质1.理工类:工程设计 ( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )。2.文管类( );3.外语类( );4.艺术类( )。题目类型1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容1、搭建Apache + PHP + MySQL集成开发环境。2、完成教室管理系统的需求分析和设计。3、实现教室管理系统的基本功能。4、研究根据课表和教室情况等已知条件,自动分配教室的算法。5、根据上述算法,在系统中实现教室自动分配功能。基本要求1、开发环境:Apache + PHP + MySQL集成开发环境。2、要求实现教室管理系统的基本功能,软件界面要友好。3、要求实现教室自动分配功能。参考资料1、在线文档. MySQL5.1参考手册.http:/ PHP手册.http:/ 高校自动排课系统的算法研究与实现. 重庆:重庆大学硕士学位论文, 2006周 次14周58周912周1316周1718周应完成的内容查阅文献,进行需求分析和总体设计 实现教室管理系统的基本功能 研究教室自动分配的算法 实现教室自动分配功能,整个系统调试撰写论文、准备答辩指导教师:焦移山职称:讲师 2011年3 月 5 日系级教学单位审批: 年 月 日摘要摘要在信息化的今天,使用信息管理系统对数据进行管理已经代替了手工管理的方式,该论文研究的高校教室管理作为教务信息管理系统的一部分,旨在设计一个基于B/S模式的具有管理系统基本功能和自动排课功能的教室管理系统。系统的开发过程中采用了软件工程传统方法学中的快速原型法,论文中首先介绍了开发的背景、目的和确定采用APM(Apache + PHP + MySQL)集成开发环境;其次对该系统进行了需求分析,从用户角度描述系统的功能要求;再次论述对系统的总体设计,确定系统的所有的功能模块并对数据库进行了设计;最后描述了各个模块的具体功能并介绍了程序中的主要算法,附带了系统主要界面的图片。系统开发使用了PHP和HTML分别作为后台和前台开发语言,通过禁忌搜索和回溯方法实现了自动排课算法,最终实现了教室管理系统的设计。关键词教室管理系统;APM;排课算法;禁忌搜索I 燕山大学本科生毕业设计(论文)AbstractIn the information today, using information management system of data management has replaced manual management, this paper studies the way the college classroom management as part of the academic information management, which aims to design a based on B/S model classroom management system with basic function of management system and automatic course arrangement. This system is adopted in the development process of software engineering traditional methods of rapid prototyping method, this paper firstly introduces the background, the system development objectives and sure to use APM ( Apache + PHP + MySQL) integrated development environment; Second of the system from the requirement analysis, this paper describes the function of the system user requirements; For system discussed again, the overall design system is determined by the function module and all to a database design; Finally, it is describes the specific function of each module, and introduces the most main algorithms, and program with system mainly interface pictures. System development using PHP and HTML back ends and front desk development respectively as language, through tabu search and retrospective method realizes the automatic course arrangement algorithm, and finally achieved the design of classroom management system.Keywords Classroom Management System; APM; Arrangement Algorithm;Tabu SearchI 目 录摘要IAbstractII第1章 绪论11.1课题背景11.2 国内外研究现状21.3 课题目的及意义31.4 课题研究主要内容3第2章 相关技术与理论52.1 开发环境与工具52.1.1 APM平台52.1.2 HTML CSS和JavaScript62.1.3 Dreamweaver编辑器62.2 相关理论72.2.1 启发式搜索72.2.2 禁忌搜索72.2.3 回溯法82.3 本章小结8第3章 需求分析93.1 问题定义93.1.1 学生使用系统的功能要求93.1.2 教师使用系统的功能要求93.1.3 管理员使用系统的功能要求103.2 可行性分析103.3 需求分析113.3.1 系统功能需求113.3.2 安全性与完整性需求123.3.3 数据流程图与功能划分133.3.4 数据字典153.4 本章小结17第4章 数据库设计184.1 数据库设计184.2 数据库表194.3 本章小结24第5章 总体设计255.1 系统模块设计255.1.1 公共模块255.1.2 学生功能模块275.1.3 教师功能模块285.1.4 管理员功能模块295.2 本章小结30第6章 系统详细设计316.1 公共模块设计316.2 排课算法的详细设计326.3 本章小结36第7章 系统实现377.1 系统实现377.2 本章小结42结论43参考文献44致谢46附录1 开题报告47附录2 文献综述51附录3 中期报告54附录4 外文原文57附录5 外文译文68III第1章 绪论 第1章 绪论1.1课题背景随着信息化的高度发展,大学中远程在线课堂授课的教学方式已经出现,但这种非面对面交互的教育方式存在着很多的弊病1,因此目前在我国绝大部分大学还是以教室中面对面的授课方式为主。综合考虑大学授课中多方面的特殊性,大学授课对教室的安排与义务教育阶段大不相同,对某个班级的课程安排不再局限于某一个教室,并且可能会出现多个班级在一个教室中上课的情况。从使用角度上看,这样的教室安排制度增大了教室使用的自由度,尤其是在如今大学中教室少班级多课程多的现状下,这样的教室使用方案更能充分利用教室资源,使教室得到合理的分配。但从教室的管理角度来说,教室使用越自由,教室的管理的难度就越大。管理的难度主要体现在对教室排课问题上。众所周知,大学中每个专业需要修的课程都有很多,大部分课程都能在一个学期内学习完毕,这样就导致每个学期初都要进行一次教室分配。分配过程不仅要考虑教室本身是否会发生使用上的空间冲突(同一教室同一时间安排了两门或两门以上课程),而且还要考虑参与授课过程的教师学生是否会发生时间冲突(同一学生或教师同一时间不能出席两门或两门以上的课程)。而且就目前而言,我国高等教育己进入大众化发展阶段,各高校的招生数量急剧增加,给高等教育带来了深刻的变革。面对跨越式的发展速度和招生数量的大幅度增加,不少高校教室资源短缺的问题逐渐凸现出来。科学、高效、合理地管理和使用高校教室资源,保证学生正常的学习环境,成为目前高校教学资源管理研究的一项重要课题。以燕山大学为例,燕山大学东校区共四座教学楼,共近200间大小不等类型不一的教室,要分配九个学院41个专业的课程,这些专业四个年级共有大约450余个班,有近11000余名学生。所有的班级总共要在东区安排近1200门课程,每门课程每周上课节数不等。如果手工安排所有课程的话大概需要花费一个月左右的时间,而且手工排课不能从全局考虑教室分配的平均性。综合以上论述来看,一个学校需要一个优秀的教室管理软件势在必行。一个教室管理系统不仅能方便工作人员对教室资源的管理和安排,大大减轻他们的工作量,还更能为学生和老师查询自身与教室的相关信息提供方便,并且还可以提供给教师部分教室占用权限,分担管理人员的一部分工作。1.2 国内外研究现状上个世纪中叶,西方学术界就有人开始研究大学排课问题。二十世纪六十年代,Gotlieb曾为排课问题创建了一个数学模型2,最终使用部图匹配解决了排课问题。在此之后,人们开始在Goflieb的数学模型基础之上对课表问题的算法、解的存在性等问题做了很多深入研究。人们尝试用各种方法求解排课问题,有些人尝试把排课问题归结为求一组O-1变量的解,但工作量十分庞大,而且这种技术只能适用于课程较少的情况;二十世纪八十年代Mihoe提出排课问题可以看作是一个优化问题;接下来Tripathy发表论文使用整数线性编程方法求解排课问题并提出了相应的数学模型;之后又有人提出可以使用图论中的方法解决排课问题,比如二部图匹配方法。直到遗传算法的提出,人们又开始研究使用遗传算法将排课问题看作是优化问题来解决。直到如今仍然有许多人在研究遗传算法,比较有代表性的有印度的Vastapur大学管理学院的Arabinda Tripathy、加拿大Montreal大学的Jean Aubin和Jacques Fe rland等。在课表安排中使用过的算法有:(1)关联规则FPgrowth算法。(2)基于时间位图迭加匹配的算法。(3)基于资源匹配的算法。(4)分组优化决策算法。(5)分支定界法。(6)有限回溯法。(7)拉格朗日松弛法。(8)二次分配型法等多种方法。由于排课问题面临时间空间各个方面的资源约束,完全用数学方法进行问题描述而忽略计算机硬件条件总结出来的解决排课问题的方法虽然理论上可以解决排课问题,但是当使用具体编程语言实现时又会面临各种障碍。外国的研究表明,解决大规模课表编排问题单纯靠数学方法是行不通的,而利用运筹学中分层规划的思想将问题分解,将是一个有望成功的办法。在我国对排课问题的研究始于八十年代时期,从今天来看具有代表性的有:南京工学院的UTSS(A University Timetable Scheduling System)系统3、清华大学的TISER系统、大连理工大学的智能教学组织管理与课程调度系统、西南交通大学提出的以课元相关运算和课元的候选时空片计算为核心的计算机排课算法,延边大学根据人手工排课的方法设计了计算机自动排课的数据结构与算法;沈阳电力高等专科学校研制了基于ClientServer的开放式智能排课系统等。1.3 课题目的及意义研究该课题的主要目的是设计出一个具有良好交互性的可供学生、教师以及教室管理人员使用的具有增、删、改、查功能的管理类网站,同时设计出一个具有实际意义且可以用PHP语言实现的排课算法。该算法对现有规模的排课问题应在可以接受的时间内执行完毕,算法能实现全部的硬性条件约束和部分软约束并且可以完成对绝大部分课程的安排。研究该课题的意义在于可以使教室管理信息化,便于与教务管理其他模块进行数据交换并且可以作为教务管理的一部分并入教务管理系统。就教室管理本身而言,设计这样的一个系统可以大大减轻教务人员对教师信息管理工作量,尤其是可以大大减少手工排课所花费的时间,并且从整体而言能获得比手工排课更加合理的教室分配方案。而就其他用户而言,该系统可以简化教师申请使用教室的流程,同时方便了学生对教室信息的查看。而且作为一个B/S模式的管理系统,可以为教师和教务人员发布与教室相关的信息提供方便。1.4 课题研究主要内容该课题主要研究主要内容有:(1)确定系统开发语言和平台,选取适当的开发工具。(2)对该课题进行需求分析 根据用户使用需求和现有业务流程对系统进行分析并对系统各个功能的实现方式进行构思和设计。接下来通过分析现有的手工排课流程设计系统数据流程图,对系统和人的应完成工作进行分工,明确系统功能。将将系统数据流程图中出现的实体抽象化规范化,然后对这些实体设计数据字典,明确每一对象的属性。(3)对数据库进行设计 考虑系统中所有会出现并且需要保存的数据,充分考虑数据之间的关系,本着尽量减少冗余的规则设计数据库表,并确定表之间的关联关系。(4)对系统进行整体设计 根据需求分析中对问题的定义将系统分为具体功能的模块,使模块之间高内聚低耦合。然后根据现有技术和开发语言的特性对每一个模块进行设计。(5)对系统进行详细设计 在整体设计结束的基础上对系统中反复出现的功能模块进行详细设计,然后分析排课过程中出现的各种问题并提出解决方案,叙述排课算法的流程。(6)系统实现 该部分主要以运行界面截图的方式讲述各个功能模块的实现方式以及系统如何操作。 77 第2章 相关技术与理论 第2章 相关技术与理论2.1 开发环境与工具 根据当前主流技术的发展应用趋势,本系统的开发选取了Apache + PHP + MySQL经典组合作为开发平台。其中Apache是系统运行的服务器,可以满足中小型网站的使用需求;PHP作为系统后台脚本开发语言,完成系统中控制和处理部分的功能;开发本系统采用MySQL数据库储存数据主要是考虑MySQL数据库与PHP语言的完美兼容性。系统的前台开发使用了HTML文本标记语言,页面设计使用了CSS层叠样式表,前台处理使用了JavaScript脚本语言。系统开发使用的主要工具为Macromedia公司的Dreamweaver可视化网页编辑器,下面分别对其进行简要介绍。2.1.1 APM平台 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。PHP是一个嵌套的缩写名称,它是英文超文本预处理语言(Hypertext Preprocessor)的缩写,只要用途是处理动态页面。PHP是一种HTML内嵌式的语言,语言风格类似于C语言,语法混合了C、Java、Perl以及部分自创语法,可以比CGI或者Perl更快速的执行动态网页。PHP属于解释执行语言,嵌入在HTML文档中执行,具有较高的效率。其与ASP和JSP最大的不同点就是源代码是开源的,而且具有良好的跨平台性。MySQL是一个小型关系型数据库管理系统,由于其体积小速度快的因素被广泛用于Internet的中小型网站中。MySQL具有运行速度快、支持多种平台和支持多种开发语言的特点。与其他数据库相比,MySQL是一个开源的软件,因此用户可以免费使用MySQL数据库。选取Apache + PHP + MySQL的组合有两个原因:(1)Apache和MySQL对PHP有很好的兼容性,能很好的支持PHP的一些扩展功能。(2)三个软件全部是开源软件,使用它们能在不侵犯版权的情况下降低开发成本。2.1.2 HTML CSS和JavaScriptHTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司设计,是一种动态、弱类型、基于原型的语言,内置支持类。使用JavaScript可以在客户端进行一些动态处理并且可以提供一些对浏览器的操作,减少客户端与服务器端的交互,使系统得到优化。2.1.3 Dreamweaver编辑器Dreamweaver是在网页设计与制作领域中用户最多、应用最广、功能最强大的软件。它集网页设计、网站开发和站点管理功能于一身,具有可视化、支持多平台和跨浏览器的特性,是目前网站设计、开发、制作的首选工具。Dreamweaver具有灵活编写网页的特点,不但将“设计”和“代码”编辑器合二为一,而且在设计窗口中还精化了源代码,能帮助用户按工作需要定制自己的用户界面4。选用Dreamweaver作为开发工具的主要原因是:(1)该软件属于所见以所得的可视化开发工具,能减轻系统前台开发的工作量。(2)软件支持Frame框架、JavaScript脚本、CSS样式表以及DIV模块的可视化开发,可以系统开发的功能满足需求。(3)PHP语言属于解释执行语言,不需要编译即可执行,Dreamweaver软件可以完成PHP脚本的编写。2.2 相关理论 设计排课算法时,为了使教师以及学生在同一时间最多只能出席一门课程,使用了图论中的无向图来体现课程之间的冲突关系;在为课程寻找合适的教室时,开始使用了启发式理论逐门安排课程,使每门课程都能满足硬约束,当课程安排失败时对课程的调整又使用了回溯理论以及禁忌搜索理论,其具体使用过程见第5章详细设计,现在对以上理论进行简要介绍。 2.2.1 启发式搜索启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。启发式算法则试图一次提供一个或全部目标。它常能发现很不错的解,因此将启发式搜索方法用于课程的初次安排中,这样可以降低初次安排课程的时间。2.2.2 禁忌搜索禁忌搜索是局部邻域搜索算法的推广,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,TS搜索中采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是所谓的禁忌表。当课程安排失败时,使用禁忌搜索法在冲突图中寻找与该课程可能发生冲突的课程,对其进行回溯排课。2.2.3 回溯法回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。因为回溯之前进行了禁忌搜索,为防止回溯时间过长,为回溯设置回溯长度以及回溯半径,用以限制回溯过程规模。2.3 本章小结本章主要介绍研究该课题过程中使用到的一些技术及其理论。计算机的软件的开发离不开计算机编程语言以及相关软件的支持,所以首先确定了开发过程中使用的开发平台环境,然后对其特性和优点进行简要的介绍,说明选择Apache + PHP + MySQL作为开发平台的理由是其良好的兼容性以及代码开源性。本章第二节罗列出研究过程中使用到的一些理论,简要介绍了什么是启发式搜索、禁忌搜索和回溯法,并且简单的说明在课题研究中的那些部分需要使用该理论。第3章 需求分析 第3章 需求分析3.1 问题定义 本系统是一个基于B/S模式的多用户系统,最终面向的是所有在校的教师、学生和系统管理人员,下面分别从这三个角度对系统进行定义。3.1.1 学生使用系统的功能要求(1)每个在校学生都可以访问该系统,学生毕业之后不可以在使用该系统。(2)在校学生可以通过该系统查看并可以打印本学期的个人课表。(3)学生可以对本学期每一天公共教室的使用情况进行查询,方便上自习教室的查找。(4)学生可以对自己感兴趣的课程或感兴趣的教师开设的课程的上课教室进行查找,对课程的查找应该支持模糊查询。(5)学生可以对本学期自己所修课程的考试信息进行查看,前提是本门课程已经安排了考试。(6)学生可以更改自己的系统登录密码。(7)学生可以查看由教务人员发布的关于教室占用、教学楼开放或关闭等信息和教师发布的关于课程补课教室或课程更改上课教室的信息。3.1.2 教师使用系统的功能要求(1)每个在职教师都可以访问该系统,教师离职之后不可以再使用该系统。(2)在职教师可以通过该系统查看和打印本学期的个人任课课表。(3)教师可以根据教室类型大小和使用的时间对符合条件的教室进行查找,对查找结果可以申请占用,占用时间最多为四个课时,教室的申请应该在对教室使用时间的前一天或前几天进行。(4)教师可以对自己占用教室的历史进行查看,对于尚未发生的占用,教师可以取消该次占用。(5)教师可以对本学期自己任课的课程进行考试安排,可以查看已经安排过的考试的信息。(6)教师可以发布关于课程补课或课程更改上课教室的信息。(7)教师可以更改自己的系统登录密码。3.1.3 管理员使用系统的功能要求(1)该系统应该存在至少一个管理人员,对教室及其相关信息进行管理。(2)管理员可以对教室的基本信息进行管理,包括教学楼的查找添加和删除、教学楼中教室的查找添加修改删除。管理员可以对本学期每间教室的课程表进行查看与打印。(4)管理员可以对本学期考试安排教室的信息进行查看和取消。(5)管理员可以申请教室的占用,并且可以对本学期所有教室占用的信息进行查看,对尚未发生的占用管理员有权删除占用信息。(6)管理员可以在学期初对本学期起止时间等相关信息进行设置。(7)管理员学期初可以清除毕业离校学生以及离职教师的登录权限并且可以删除上学期与课程安排有关的信息。(8)管理员可以对本学期课程安排等相关数据进行导入。(9)管理员可以发布与教室有关的占用信息。(10)管理员在学期初可以通过系统对所有课程的上课时间和地点进行安排。(11)管理员可以备份以及恢复数据库内容。(12)管理员可以对所有用户进行注册和密码修改。3.2 可行性分析为了研究设计该系统的方案是否可行,接下来从技术可行性、操作可行性、经济可行性和法律可行性四个角度对开发该系统进行可行性分析5。(1)技术可行性分析 根据问题定义阶段对问题的描述以及当今理论技术的发展现状来看,该系统可以通过已选定的开发环境进行开发。经过对排课算法的初步学习和调研,使用PHP语言可以在有限时间开发出一个具有实际意义可以满足用户要求的对课程进行自动安排的算法。(2)操作可行性分析 该系统性质上属于信息管理系统,因此开发过程中可以参照其他成功的基于B/S模式的管理系统对该系统进行操作界面的设计,由于开发语言与所选数据库具有很好的兼容性,所以对数据库的操作基本也可以全都在系统功能界面实现。综合以上考虑,对互联网有基本的了解曾经使用或访问过类似网站的人都有能力对系统进行操作,管理员对系统的操作可以在软件开发结束之后通过与开发者的沟通进行进一步的了解。(3)经济可行性分析 由于软件开发所使用的环境基本都属于开源软件,都可以通过正当途径免费获得其使用权限,因此从经济角度上说开发该系统是可行的。(4)法律可行性分析 本软件为自主创新的智力活动,所使用工具都是通过合法途径获得,系统中不存在侵犯他人所有权的内容存在,软件的调研背景为本学校,所有数据来源都属于自己调查和统计,产品的目标为进行课题研究不属于任何商业活动,软件所涉及内容也与法律无任何冲突,因此从法律角度讲开发该软件是可行的。3.3 需求分析3.3.1 系统功能需求对系统的大部分功能需求在问题定义阶段已经描述清楚,这里主要对排课功能进行详细的分析。课程安排过程需要满足两种需求6,硬性需求和软需求,其中硬性需求如下:(1)所有课程都必须被安排。(2)所选课程的出席人数不能超过该教室的容量。(3)同一个教师的不同课程不可以发生在同一个时间。(4)同一个班级的不同课程不可以安排在同一个时间。(5)一个教室的同一个时间不可以安排两门或两门以上的课程。(6)上课的教室类型符合课程的需求。软性条件如下:(1)课程应该均匀的安排在整个学期。(2)一门课的多个课节最好安排在一个教室。(3)一门课一天不可以出现两次或两次以上。(4)对每个教室的排课量应该大体保持一致。(5)对每个班级和教师而言,课程安排最好均匀分布在一周中。硬性要求是排课过程中必须遵循的要求,每门课程安排过程中都必须遵循以上要求,如果不能满足应该做相应的调整。软性要求是在对课程的安排满足所有硬性条件的前提下最好可以满足的需求,当条件不允许时软性要求可以适当的放宽。3.3.2 安全性与完整性需求由于该系统的开发基于B/S模式,就B/S模式的管理系统的工作模式而言,对软件进行安全性和完整性进行考虑是系统中必不可少的一步,这直接关系到软件使用是否可靠和安全,关系到系统使用过程中是否会出现重大问题而造成其他重大损失7。就管理系统而言还不得不考虑信息数据的完整性需求,因此接下来将从访问权限的安全性系统的容错能力以及系统数据的完整性进行分析,确定系统安全性和完整性的需求。(1)访问权限的设置由于B/S模式的管理系统的访问一般是通过浏览器发送URL地址对相应页面进行访问,因此系统必须具有一个访问权限核实的模块,在每个页面加载前进行调用,防止有其他动机的不良用户通过URL访问其无权访问的页面进而对系统数据进行修改对系统造成损失,其中权限核实的内容应包括两个部分:无任何权限的用户试图跳过登录步骤直接访问功能界面和具有某种权限的用户登陆后试图通过服务器中以保存的身份信息访问其他无权访问的页面。每个用户登录后其访问权限应有时间限制,如果用户长时间(其时间暂定为10分钟)对系统操作无任何操作,再次访问系统时,系统给出相应的提示后自动跳转到登陆页面要求用户再次登录。(2)系统的容错能力由于该系统许多模块的功能都与时间有关,因此容错主要从时间冲突角度考虑。由于系统用户都属于学校成员,因此系统中关于时间的设定都是基于学周的,当用户对教室资源进行占用或取消占用时,要对用户所选时间与当前时间进行比对,用户占用教室时选择的占用时间应该在当前时间之后,用户取消教室相关使用信息时,取消动作发生的时间应该在使用动作落实之前。对于可以由用户输入内容的模块,要对用户输入内容进行核实,以免因为用户操作失误或者好奇输入非法内容而使系统产生不可预知的错误。 (3)数据完整性管理系统离不开对数据的操作,因此对数据的完整性关系到系统运转是否正确,因此要求数据相互联系正确,数据记录完整数据项,相同的数据在不同的表格中应该一致。其具体内容见下一章数据库设计部分。3.3.3 数据流程图与功能划分由于学生以及教师使用该系统的操作相对简单且功能划分也相对明确,因此对于学生和教师功能模块在此章暂不赘述,具体内容将在下两章讲述。而管理员模块的功能相对来说较为复杂,无论是数据管理还是排课过程都涉及到与外界的数据交换,因此对该模块建立数据流程图,如图3-1。下面将通过数据流程图对管理员模块尤其是排课过程进行功能划分,确定由系统完成的功能以及需要人进行的操作。由于排课过程涉及课程、班级、教师和教室等多方面的信息,因此排课过程不可能由软件独立完成,现在对排课流程进行描述,在描述过程中确定系统边界,明确系统功能。(1)由于排课之前学校要对本学期所有应该安排的课程进行选定,因此系统应生成最新教室资源的统计表,教务工作者在课程安排时要注意课程安排的总学时应该不超过本学期教室时间资源总数的80%,以免课程过多最终导致部分课程无法调度安排失败。(2)排课之前教务人员需要手工做的工作有:确定本学期所有需要安排的课程;确定每门课程需要出席的班级;确定每门课程的任课教师;确定每门课程上课所需教室的类型;确定每门课程开课的学周;确定每门课程的总学时数。以上数据处理完成后将其与本学期教师变动信息、本学期所有入学班级信息、本学期所有入学学生信息输入至预先设定好格式的Excel表格中,之后将表格提交至系统管理员。图3-1 教室管理系统管理员模块数据流程图 (3)管理员使用系统将上步中提交的Excel文件导入数据库。在导入数据之前,管理员应将上学期已失效的数据删除并设置本学期的起始截止时间,该功能由系统实现,系统导入结束显示导入失败的信息,由管理员和教务人员配合对导入失败的信息进行核对(核对过程属于人工操作),核对完成后再次将正确的数据导入数据库。(4)当确定所有数据已经成功导入后,管理员可以开始使用系统进行排课,排课程序执行结束后,系统生成安排失败课程的报表,管理员将此表交至教务人员,然后教务人员根据失败课程的任课教师以及所有出席班级的现有课程通过手工方式安排课程的上课时间,若时间仍无法调度成功可以考虑更换任课教师或将课程安排至非正常授课时间(如周末或者晚上)。(5)教务人员将安排信息提交至系统管理员,有管理员使用系统的手工排课功能对课程进行空间安排,若不成功则返回步骤(4)直至全部课程安排成功。3.3.4 数据字典在上一节中通过数据流图对系统进行了边界划分,本节将以数据字典的形式具体说明数据流图中的主要数据对象的信息,以便开发过程中的程序设计及数据库设计。名字:教学楼基本信息描述:本校所有教学楼的信息定义:教学楼基本信息=教学楼ID+教学楼所在校区+教学楼名称位置:保存至数据库名字:教室基本信息描述:本校全部教室的基本信息定义:教室基本信息=教室ID+所属教学楼ID+教室类型+教室座位数位置:保存至数据库名字:统计的教室数据别名:教室统计一览表描述:对本校全部教室按校区类型和大小进行分类统计定义:教室统计一览表=教室所在校区+教室类型+教室大小+该类教室总数位置:输出至打印机名字:课程及用户信息别名:教务处学期数据报表定义:教务处学期数据报表=教师表+课程信息表+班级信息表+学生表位置:Excel文档名字:课程信息描述:本学期所有学要安排的课程信息定义:课程信息=课程ID+课程名+课程起始学周+课程结束学周+课程全部课时+开课学院+任课教师ID+所需教室类型+出席课程班级位置:保存至数据库 教务处学期数据表名称:课程安排信息描述:系统对课程上课地点的安排结果定义:课程安排信息=安排编号+上课教室编号+上课星期+上课课节+任课教师ID位置:保存至数据库名称:课程时间安排信息别名:手工课程安排时间表描述:教务人员提供的用于课程手动安排的课程时间信息定义:课程时间安排信息=课程ID+教室校区+教室类型+上课人数+课程起始学周+课程结束学周+上课星期+上课课节位置:保存至数据库名称:用户信息描述:系统所有用户的信息定义:用户信息=教师信息+学生信息+管理员信息位置:保存至数据库 教务处学期数据报表名称:教师信息描述:本学期所有进行授课的教师的基本信息定义:教师信息=教师ID+教师名称+教师所属学院+个人密码位置:保存至数据库 教务处学期数据表名称:学生信息描述:所有在校学生的基本信息定义:学生信息=学生ID+学生姓名+学生所在班级ID+学生密码位置:保存至数据库 教务处学期数据表名称:班级信息描述:本校全部班级的信息定义:班级信息=班级ID+班级入学年份+班级所属学院+班级所属专业+班级编号+班级学生人数位置:保存至数据库 教务处学期数据表3.4 本章小结本章的需求分析主要介绍了系统开发前进行的准备工作,系统需求分析做的好坏直接关系到系统开发过程的难易程度,因此本章从多个角度对系统进行描述,第一节问题定义的内容是开发者在和用户进行沟通后从用户的角度确定系统开发主要该解决的问题;第二节可行性分析是综合考虑各方面的客观因素确定本系统是否可以去研究开发;第三节数据流程图及功能划分的内容是在了解用户的需求后,综合考虑当今技术背景,通过对整个系统数据的流动对系统的边界进行明确的划分,确定了那些工作应由系统实现,那些内容需要人配合系统实现;最后一节是对第三节的补充,以数据字典的形式解释数据流程图中出现的主要的数据对象的内容。第4章 数据库设计 第4章 数据库设计4.1 数据库设计数据库设计是系统设计中必不可少的一个阶段,教室管理系统属于一个信息管理系统,而信息管理系统的本质就是一个对数据进行管理的工具,因此数据库设计的好坏直接关系着管理的复杂程度。对数据库的设计步骤如下:图 4-1 教室管理系统数据库总体结构图(1)确定使用中小型数据库管理系统MySQL作为系统数据库,并使用PHP语言编写的phpMyAdmin作为数据库可视化操作的工具。(2)根据系统的需求首先对数据库进行了概念设计,通过对系统中涉及到的数据进行分类聚合和概括,最终对教室、教师、学生、班级和课程等主体建立了抽象的数据模型。(3)然后根据系统所需实现的功能分析各个主体应该具有的属性,并确定主体之间的联系以及联系的属性。(4)本着保证数据完整性、尽量减少数据冗余的基本原则确定数据库中表的数量以及表中的数据项的划分。(5)在每个表中定义主键,定义过程参照数据库第三范式的要求。(6)对数据库中的部分表做调整,进一步减少数据的冗余。(7)使用可视化操作工具phpMyAdmin创建数据库以及数据库表,声明表中的主键和外键,并在表之间添加联系,完成数据库的创建。最终确定数据库的结构如图4-1所示。4.2 数据库表接下来对数据库中的每个表进行介绍,字段之前标注星号的是表的主键。表4-1为学院数据表,用于保存本校全部的学院信息。表4-1 学院信息表字段类型长度备注名称*academy_idint8学院编号academy_namevarchar20学院名academy_areavarchar5学院所在校区表4-2为教学楼表,用于保存全校所有教学楼的信息。表4-2 教学楼信息表字段类型长度备注名称*b_idint8教学楼编号b_areavarchar5教学楼所在校区b_namevarchar20教学楼名称表4-3为班级表,用于保存当前在校的全部班级的信息。表4-3 班级信息表字段类型长度备注名称*c_idint16班级编号c_academyint8班级所在学院c_departmentint8班级所在专业c_classint8班级c_yearint8入学年份c_students_numint8学生总数表4-4、4-5分别为学生信息表和教师信息表,保存当前在校学生和教师的信息。表4-4 学生信息表字段类型长度备注名称*s_idvarchar12学生号s_namevarchar10学生姓名s_classint8所在班级编号s_passwordvarchar16个人密码表4-5 教师信息表字段类型长度备注名称*t_idvarchar12教师工号t_namevarchar10教师姓名t_academyint8教师所在学院t_passwordint16个人密码表4-6为课程表,用于保存本学期所需开设的全部课程的信息。其中,subject_sweek以及subject_eweek的含义分别为课程安排成功之后课程的开课以及结束学周;subject_axeam用于标记该门课程是否已经安排开考试;subject_room_type以及subject_area两条属性在课程导入时已经定义,分别表示希望课程被安排教室的类型和校区,属于排课条件,排课结束之后两条数据再无意义;suject_arr也属于课程安排辅助信息,用于表示课程是否已经被安排教室。表4-6 课程信息表字段类型长度备注名称*subject_idint16课程编号subject_namevarchar20课程名称subject_sweekint8课程起始学周subject_academyint8开课学院subject_eweekin
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!