基于BS的自动排课系统毕业设计论文_第1页
基于BS的自动排课系统毕业设计论文_第2页
基于BS的自动排课系统毕业设计论文_第3页
基于BS的自动排课系统毕业设计论文_第4页
基于BS的自动排课系统毕业设计论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要随着社会的发展,在现在的社会,信息的各种操作都需要通过计算机软件来完成。当今,素质化教育也在校园内不断地得到深化。自动排课模式也在许多的学校内开始遍布了,而传统的教学模式渐渐被取代了。自动化排课系统,可以满足学校教务处对于排课管理的需求,减少教务人员工作量的同时降低排课中的并发和错选等问题。学生通过网页可以随时随地进行选课,节约了大量统计时间;教务人员通过设置排课规则快速的完成课程的安排,易于调整修改;教师可以快速方便的安排课程信息。该系统采用数据集中管理、统计分布式管理。自动排课系统的系统设计是基于JSP技术的,它具有灵活的一体化发展战略,圆满完成了整个系统的全面设计。自动排课系统,采

2、用一个简单的界面,操作方便,灵活,实用,有效的简化了自动排课管理系统的过程,大大提高了自动排课系统的效率,使之更加系统化体系化、标准化、自动化,具有优良的可用性、可靠性和安全性。该系统采用标准的MVC三层架构,包括表示层、控制层和业务层三个部分,降低了系统开发的复杂性。这个项目具体是运用了JSP,提高系统的运行性和安全性,并且方便了后期的维护和操作。系统主要实现了教师列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表等功能模块,具有良好的实用性。关键词:自动排课;B/S 模式;MVC;JSPAbstractWith the development of society, in

3、the information society, information acquisition, processing, communication and decision-making needs of high-quality computer software. Today, the quality of education are constantly deepened campus. Smart Scheduling model is also in many schools throughout the beginning, while the traditional teac

4、hing model was gradually replaced. Intelligent Scheduling System, arranging to meet the needs of the school management for Academic Affairs, reducing the workload of academic staff while reducing concurrency and arranging the wrong choice and other issues. Student enrollment at any time via the web

5、can save a lot of statistical time; rapid completion of the academic staff by organizing courses set Scheduling rules, easy to adapt and modify; teachers can quickly and easily arrange course information. The system uses a centralized data management, statistical distributed management.Senate electi

6、ve system design management system is based on JSP technology, it has a flexible integrated development strategy, the successful completion of a comprehensive design of the entire system. Academic course management system that uses a simple interface, easy to operate, flexible, practical and effecti

7、ve management system simplifies the Senate elective process, greatly improving the efficiency of educational administration course management system to make it more systematic system, standardization, automation with excellent availability, reliability and security. The system uses three standard MV

8、C architecture, including the presentation layer, control layer and service layer three parts, reducing the complexity of system development. The main use of JSP technology development, improve the system performance and security, and easy to maintain and operate. System is mainly to achieve the tea

9、cher lists, class lists, list of students, teachers, lists, list of courses, arranging the list, the list of administrators and other functional modules, with good usability.Key words : Academic Course management; B / S mode; MVC; JSP目 录摘 要IAbstractII1 绪论11.1 课题研究背景及意义11.2 课题研究现状11.3 本课题主要工作22 系统相关技

10、术32.1 J2EE技术32.2 MVC模式32.3 B/S结构32.4 数据库技术32.5 本章小结33 系统需求分析43.1 系统总体目标43.2 系统可行性分析43.2.1 操作可行性分析43.2.2 技术可行性分析43.3 系统功能需求分析53.4 系统非功能需求分析53.5 系统开发环境与开发工具64 系统设计与实现74.1 系统设计目标和原则74.2 系统架构设计74.3 数据库设计94.3.1 数据库的选定94.3.2 数据库概念模型设计94.3.3 数据库逻辑设计125 系统详细设计与实现155.1 数据库连接实现155.2 系统登录实现165.3 系统功能模块实现175.3.

11、1 管理员功能模块的实现175.3.2 学生功能模块的实现225.3.3 教师功能模块的实现236 系统测试256.1 软件测试256.2 功能检测256.3 系统配置要求256.4 测试内容256.5 测试结果296.6 本章小结29结 论30参 考 文 献31致 谢321 绪论1.1 课题研究背景及意义20世纪末,计算机的诞生与发展将人类带入到一个全新的领域中,如今已经成为解决很多工程问题的必要途径。早在60年代,人们就开始研究如何使用计算机来解决排课问题,减少人工排课的劳动量并减少排课错误。现在是21世纪,全球范围内的互联网技术都有了极大的进步,这让许多人不会收到时间和空间上的各种限制了

12、。利用Web技术来解决生活中遇到的各种问题成为趋势。排课系统是时间表问题(TimeTable Problems,TTP)的一个分支。这是个NP完全问题,由于P/NP问题还未解决,只能不断的摸索近似算法来得出近似的最优解。这个问题涉及到多种因素,是一个多重条件下的组合优化问题。由于涉及的参数多以及内部关系复杂等原因,传统人工排课的出错率一直很高。随着我国科研的发展,高等院校的专业和课程都在快速增长,极大程度上增加了排课系统的难度。同时随着人本教育思想的普及,鼓励学生自主选课也在国内推广开来,使得现代排课问题在收集数据和准确排课上变得更加复杂。基于WEB的自动化排课系统,可以满足学校教务处关于排课

13、工作的需求,减少教务职员工作量的同时降低排课中的并发和错选等问题。学生通过网页可以随时随地进行选课和查询自己的课程信息,节约了大量统计时间;教务人员通过设置排课规则快速的完成课程的安排,易于调整修改;教师可以快速方便的查看自己的课程的上课情况。该系统采用数据集中管理、统计分布式管理。1.2 课题研究现状排课这个难题的探索开始于20世纪60年代。1963年,Csima, J.和 Gotlieb C. C.出了编排课表的数学模型,但仅限于基本的数学建模,并没有开发出可使用的软件。之后人们开始使用图形着色算法来模型解决这个问题。可是用这方法所花费的时间越来越大,所以,有许多的算法来探索这个问题。在7

14、0年代,Barham和Westwood开始试图使用启发式搜索的方法。到了80年代,Mulvey使用网络流方法来解决排课问题,同时Werra和Hertz使用了禁忌搜索的方法来解决这个问题。90年代,由于大量的算法被发现,这个问题的研究得到了进一步的发展。另一方面,Downsland和Dige et al通过模拟退火的方法来解决。同时,Dige et al在一所大学的案例中展现出使用基于约束推理的方法。在这个时期中关于排课研究的活跃归功于在1995年举办的第一届国际自动化排课实践与理论大会(PATAT)。同样在这个时期,遗传算法也开始被使用在排课问题中。进入21世纪,这项研究在继续发展。基于约束的

15、程序设计、混合启发算法(hyper heuristic)。1.3 本课题主要工作在本文中,基于开发面向对象软件的过程中,对系统的需求分析以及具体实施过程都进行了较为完善的介绍,在本文中本人的具体工作如下:(1)对系统进行需求分析。对自动排课系统的需求进行分析以了解系统的基本特征和想要实现目标,并且对系统用户的特性进行分析,并分析业务流程以及梳理系统非功能性需求和功能需求。(2)选择适当的技术解决方案。搭建一个系统开发平台,并对系统实施所涉及到的关键技术进行研究。根据实际、开放以及开源的原则,设计出既能够保证需求,而且开放源代码的以及可扩展的架构体系。(3)系统的设计和实施。该系统的设计原则基于

16、MVC的设计思想,使得系统中,逻辑和数据存储在一个单独的状态下。业务流程和系统的用户角色进行了详细的研究,以及系统的机制设计和系统的具体实现进行了详细的介绍。(4)测试系统。在节中,对系统的测试过程进行了具体的介绍。2 系统相关技术2.1 J2EE技术J2EE 技术,即Java 2平台企业版(Java 2 Platform Enterprise Edition),是一种B/S模式的体系结构。J2EE技术一般分为四个等级,其中Web表现层和业务逻辑层,两层是J2EE的核心层次。J2EE优势:1.跨平台性。2.稳定性。3.开发效率高。4.具有可伸缩性。2.2 MVC模式MVC模式(三层架构模式)(

17、Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为Model(模型)、View(视图)和Controller(控制器)三个基本部分。2.3 B/S结构基于B/S架构软件的安装,编辑,维修的需要在服务器端解决。B/S架构也提供了一个均质机,网上异构网络,异构应用服务的联机,统一的开放服务最现实的基础。B/S系统包括:表示逻辑层,控制逻辑层,数据展现层,三层是相对独立又相互关联。2.4 数据库技术在软件项目中,通过使用数据库进行数据处理,可以保证数据的独立性,一致性和安全性,系统提供对数据的访问效率,并为程序员减少应用程序的开发时间。不同的数据库有各自的优缺

18、点,此处不做具体介绍。使用MySQL不仅在开发程序的时候有利于开发,而且在后期维护扩展的时候又简洁。所以,MySQL可以很好的胜任这个自动排课系统的数据库。2.5 本章小结本章主要是介绍一下自动排课系统用到的一些技术,针对系统中使用到的技术做了一下简单的介绍。3 系统需求分析3.1 系统总体目标(1)数据共享推进自动排课管理系统的数据校验和数据共享规范化和制度化建设,对自动排课管理系统数据查询的精度和效率进行提升。(2)实现了自动排课系统业务的各种功能系统主要实现了教师列表、班级列表、学生列表、教室列表、课程列表、排课列表、管理员列表等功能模块,具有良好的实用性。(3)实行现代化的管理手段该系

19、统应具有界面清楚,操作简便;不同系统的角色有着不一样的操作权限。该自动排课系统应该是基于web的系统,只需要有一台能够联网的设备就可以实现对网站的管理。3.2 系统可行性分析3.2.1 操作可行性分析系统的登录界面简单和友好,采用常见的界面窗口的登录界面,而网站的开发则采用的是较为常用的JSP技术。这些策使得用户不需要很长的时间就能够快速熟悉系统,并掌握系统的操作方法。此外,为了方便系统管理维护人员,用户登录系统后会给出了一些提示,让这个自动排课系统能被更多的人简单方便的运用起来。3.2.2 技术可行性分析(1) 硬件可行性分析系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻

20、松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个网站的运行不顺畅。以目前普遍的个人计算机的配置而言,这是十分容易实现的。所以,本系统的研发在硬件的问题上是可行的。(2) 软件可行性分析Java语言提供的动态模型相似的理由的共同机制,设计更集中。另外,在使用Java语言可以很容易实现模块化和存储信息。此外,代码复用,也可以很好的体现。因此,考虑到系统的实际情况,选择JAVA作为本系统开发语言的时候。通过上述分析,该系统的设计实现在软件方面是可行的。因此,我们进行了三个方面的可行性研究,可以看出,该系统的开发是没有问题

21、的。3.3 系统功能需求分析系统主要包括管理员、学生和教师三个角色,不一样的角色拥有着不一样的权限。(1)管理员:管理员具有的权限主要实现了教师列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表等功能模块的管理;(2)学生:学生进入系统后主要实现了我的课表、可选课程列表、已选课程等功能模块;(3)教师:教师登录系统具有的权限是对我的课表、我的课程等功能模块的查看。其中学生和教师都不能对自己事先录入好的资料进行更改,只具有查看的权限。学生和老师的信息只能通过管理员的权限进行增添操作和修改操作,只有管理员有足够的权限,目的是为了管理员能更加简单有效地管理整个排课系统并且让系统运行更

22、加良好。该自动排课系统新添加的一个功能模块是学生进入系统后多了一个选课功能模块,学生可以选择自己班级没有上的自己有感兴趣的课程,这一选课过程只能在排课结束之后才能进行操作。学生和教师共同都具有的功能就是对自己课表的查询和对特定时间的空教室的查询。3.4 系统非功能需求分析(1)可靠性需求可用性:一般用户按照网站提小便可完成日常操作,界面设计合理,使用方便。平均故障间隔时间(MTBF):6个月,支持7*24小时的服务。平均修复时间(MTTR):这个系统遇到问题停止运作的时间应该控制在1小时之内。(2)完整性需求要求各种数据的完整性,规定的数据信息的记录内容不能为空,各种数据间联系应保持正确,同一

23、个数据在不同记录中所保持的一致性。(3)性能需求页面响应时问应该控制在一定的时间范围内;系统支持在同一个时间段内一起在线操作的用户至少要有500名。(4)精度需求系统的部分功能对数据的精确度有所要求,对于系统的浮点型数据,其数据信息的精确成都至少应该要达到小数点后面2位数。(5)易用性需求系统的使用人用来学习系统的操作时间不能太长;界面设计应为友好、简单、清晰的可视化操作界面;目有相应的操作提示与帮助。(6)安全性需求系统要设置用户的合法性,既给每个用户分配不同的帐号,并且要求用户为帐号设置符合要求的密码。而且,系统也要分级别设置用户的权限,不一样的权限所拥有的访问资格是各不相同的,保证系统的

24、安全稳定的运行。3.5 系统开发环境与开发工具系统开发环境主要从开发平台、开发语言、所使用的数据库软件、设计工具以及辅助工具等几个方面来介绍。开发平台:Myeclipse 9.0开发语言:Java + JDK1.6 数据库软件:MySQL 6.04 系统设计与实现在设计体系的时候要做到全方位的站在用户的立场上考虑问题,让最终的产品能够顺应大众用户的需求。这一章节将重点突出对于体系的结构框架的设计描述上,以详细的标明每一个数据库的主体结构框架。4.1 系统设计目标和原则系统的架构设计,要能够反映出用户与整个系统模块的接口之间存在有效互动,而且应该是非常清楚的,从而才能够保障在后期系统真正实现的时

25、候数据的扩展性和安全性,只有设计出的系统实现这个目标才能有一个更好的扩展空间量,以适应企业未来的发展。整个系统的设计中,系统必须满足以下要求:(1)数据安全性存储有关隐私权的自动排课系统问题的系统数据,需要确保数据的安全性,在网站设计时必须要采取安全防范措施,以解决潜在的安全问题。(2)柔软性由于这个自动排课管理系统涉及到范围广泛的业务,设计出的系统必须能够处理接受变化的能力。(3)扩展性随着自动排课系统管理需求的不断变化,自动排课系统也一定会有功能的更新和扩展,这就要求在一开始设计程序的时候就应该想到之后要添加新的功能和业务时候的方法。 从实用的方面来看,系统必须满足系统的以下原则:(1)可

26、靠性在实际使用的过程中系统都会设计到很对需要进行保密的数据,系统出现一些漏洞将这些信息泄露出去将会对用户产生很大的损失,所以我们必须大力确保系统是可靠的。(2)经济效益由于这是一个教学用途网站,设计网站的目的是为了更好的方便老师和学生,因此需要对系统开发的成本和效益进行考虑。4.2 系统架构设计系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。它具体的工作步骤是:(1)系统被分解多个子模块(2)对各个子模块的功能进行预先的设计(3)对各个子模块之间的逻辑关系进行设计(4)对各个模块的界面以及模块间信息的传输进行设计在整个设计

27、过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,然后根据之前整理收集的各种信息设计出系统的整体框架。系统的框图如图4.1所示。图4.1系统运行框架图由图 4.1 分析所示,系统主要包括管理员、学生和教师三个角色,管理员主要实现了专业列表、教室列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表、空教室查询和专业课表查询模块;学生登录系统主要实现了我的课表、可选课程列表、已选课程等功能模块;教师登录系统实现了我的课表、我的课程等功能模块。4.3 数据库设计4.3.1 数据

28、库的选定目前主流的大型数据库的Oracle,SQL服务器,MySQL和Access等本系统是一个相对较小的系统,因此选择了MySQL的。 MySQL是一个关系数据库中,关系型数据库引擎进行数据和结构数据,以提供更安全可靠的存储功能。 MySQL来微软的Visual Studio,Microsoft Office系统和新的开发工具包(包括商业智能开发套件),可以有效地整合。4.3.2 数据库概念模型设计数据库的模型即系统的实体关系模型。自动排课管理系统的整体图如图4.3所示。图4.3 自动排课管理系统的整体图然后根据具体的功能需求,对本系统的E-R图进行细化从而得到几种实体-关系模型,以下为部分

29、实体-关系模型。(1) 学生用户实体,如图4.4所示。图4.4学生实体图学生用户在是管理员的界面添加和修改的。添加和修改的时候,主要的元素有:班级信息;学生学号,长度要求不超过500字符;登入名称(ID),长度要求不超过11字符;密码,长度不超过500个字符;名称,不超过500个字符的长度;性别;联系地址,长度不超过500字符,可以为空。(2)班级类实体图,如图4.5所示。图4.5 班级类实体图教室类的主要元素有:班级编号,长度不超过11字符;教室名称,长度不超过10字符;教室容量,长度不超过10字符。(3)课程类实体图,如图4.6所示。图4.6 课程类实体图课程类主要的元素有:课程编号,长度

30、不超过11字符;课程名称,长度不超过50字符;任课教师,长度不超过11字符;总课时数,长度不超过10字符;每周课时,长度不超过10字符;所属专业,不超过500字符。(4) 教师类实体图,如图4.7所示。 图4.7 教师类实体图教师类主要元素有:教师工号,长度不超过11字符;登录名称,长度不超过11字符;密码,长度不超过500字符;姓名,长度不超过500字符;性别,长度不超过500字符;联系电话,长度不超过250字符,可以为空;邮箱,长度不超过250字符,可以为空;出生日期,长度不超过250字符,可以为空;联系地址,长度不超过250字符,可以为空。(5)班级类实体图,如图4.8所示。图4.8 班

31、级类实体图班级类主要元素有:编号,长度不超过11字符;名称,长度不超过500字符。(6)专业类实体图,如图4.9所示。图4.9 专业类实体图专业类主要的元素有:名称,长度不超过11字符;备注,长度不超过500字符,可以为空。4.3.3 数据库逻辑设计本系统主要用到了多张数据表,部分表单如下。(1)学生信息表。表4.1 学生信息表字段名称数据类型长度是否可以为空IDint11否班级varchar500否学号varchar500否登录名称varchar500否密码varchar500否姓名varchar500否性别varchar500否联系地址varchar500是(2)教室信息表。表4.2 教室

32、表字段名称数据类型长度是否可以为空编号int11否名称varchar10否教室容量varchar10否(3)课程信息表。表4.3 课程表字段名称数据类型长度是否可以为空编号int11否名称varchar50否任课教师int11否总课时varchar10否每周课时varchar10否所属专业varchar500否(4)教师信息表。表4.4 教师信息表字段名称数据类型长度是否可以为空教师工号int11否登陆名称varchar11否密码varchar500否名姓varchar500否性别varchar500否联系电话varchar500是邮箱varchar500是出生日期varchar500是联系地

33、址varchar500是(5)班级信息表。表4.5 班级信息表字段名称数据类型长度是否可以为空编号int11否名称varchar500否(6)专业信息表。表4.6 专业信息表字段名称数据类型长度是否可以为空名称varchar500否备注varchar500是5 系统详细设计与实现5.1 数据库连接实现服务器端程序采用spring框架来访问数据库:以下是spring框架连接数据库的配置文件,该配置是针对spring框架的连接数据库的配置。数据库连接实现代码: struts /* struts-cleanup org.apache.struts2.dispatcher.ActionContextC

34、leanUp struts-cleanup /* dwr-invoker org.directwebremoting.servlet.DwrServlet debug true activeReverseAjaxEnabled true initApplicationScopeCreatorsAtStartup true crossDomainSessionSecurity false maxWaitAfterWrite 500 1 5.2 系统登录实现系统登录界面效果如图5.1所示。其中登录角色有:学生、教师、管理员。不同的角色拥有着不一样的权限,其中管理员拥有最高权限可以对学生和教师角色进

35、行添加和修改,而学生和教师都只具有查询的权限。图5.1 系统登录界面效果系统登录实现的代码如下:public String login(String uname,String upass)tryThread.sleep(700); catch (InterruptedException e)/ TODO Auto-generated catch blocke.printStackTrace();String result=no;String sql=from Sysuser where uname=? and upass=?; Object con=uname,upass;List userL

36、ist=sysuserDAO.getHibernateTemplate().find(sql,con);if(userList.size()=0) result=no;else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); Sysuser user=(Sysuser)userList.get(0); session.setAttribute(user, user); result=yes;return result;5.3 系统功能模块实现5.3.1 管理员功能模块的实现管理员主要

37、实现了教师列表、班级列表、学生列表、教师列表、课程列表、排课列表、管理员列表、空教室查询、分专业课表的查询功能模块。由于功能较多,这里只挑选重要功能进行讲解。(1)教师列表功能模块教师列表模块主要实现了管理员编辑、删除、查询和添加教师信息的操作,教师列表功能模块的实现如图5.2所示。在添加新的教师的时候不用设置教师所上的课程和所教的班级学生,而是在课程添加的时候选择这门课程的任课老师是谁。图5.2教师列表模块实现界面(2)班级列表功能模块的实现班级列表模块主要实现了管理员查询、修改、删除和录入班级的操作,班级列表模块的实现如图5.3所示。图5.3班级列表模块实现界面(3)课程列表模块的实现课程

38、列表模块主要实现了管理员查询、修改、删除和录入课程信息的操作,课程列表模块的实现如图5.4和图5.5所示。添加新的课程只能编辑课程的任课教师、所属于的专业、课程的编号、课程的名称、总课时、每周课时,而能在上课班级信息里编辑班级信息,选择某个班级上某个课程。图5.4 课程列表模块实现界面图5.5 课程列表模块实现界面(4)排课列表模块的实现排课列表模块主要实现管理员自动排课和储存课表以及查询课表的功能,排课管理功能模块如图5.6所示。图5.6 排课列表模块实现界面自动排课所用的算法在/src/util/Timetable.java。对课程排课是还应该考虑排课的时候同一个时间指定教室是否冲突,同一

39、个教师指定的时间是否冲突的问题。当排课失败的时候,系统会提示“教学的资源不足,或者资源有严重冲突,请重新规划人员和硬件资源”。自动排课的排课具体代码如下:public MapString, List createTimetable() init();for (CouseClassVO noRoomCourse : allCourses) reDayCount();for(DayCount dc :daycount)/System.out.print(dc.day+:+dc.count+ - );DayCount startDayCount = daycount.get(0);int start

40、Day = startDayCount.day;/ 从星期几开始排,每周5天int startLesson = startDayCount.count % 5; / 从当天的什么课间开始排,每天5节课if(startLesson=0)startLesson = 1;int dayIndex = 0;boolean find = false;while (true) /遍历每一天if (dayIndex = 5) break;if(find)break;/ 遍历每个课间for (int i = 1; i = noRoomCourse.getTotalStudent() if(!checkClas

41、sroom(room, startDay, startLesson)noRoomCourse.room = room;List tempvos =timetable.get(startDay+startLesson);if(tempvos=null)tempvos = new ArrayList();tempvos.add(noRoomCourse);timetable.put(startDay+startLesson, tempvos);find = true;/System.out.println(找到上课星期:+startDay); /daycount.get(startDay-1).c

42、ount=daycount.get(startDay-1).count+1 ;addDaycount(startDay);break;/end for classroomsif(find)break;startLesson = (startLesson + i)%6;if (startLesson = 0) startLesson =1;/end for idayIndex+;startDay = (startDay + dayIndex) % 6;if (startDay =0) startDay =1;/end whileif (!find) throw new RuntimeExcept

43、ion(教学资源不足,或者资源有严重冲突,请重新规划人员和硬件资源);/System.out.println(总数:+timetable.size();return timetable;private void addDaycount(int day)for(DayCount dc :daycount)if(dc.day=day)dc.count= dc.count+1;教师,教室,课程,班级组成一个单元,多个单元构成集合, 最后在每周时间中依次安排集合中的每个单元。(5)专业课表的查询模块的实现专业课表的查询主要实现管理员对某个专业的课表查询功能,专业课表的查询模块如图5.7所示。图5.7

44、专业课表查询模块实现界面5.3.2 学生功能模块的实现学生登录系统主要实现了我的课表、可选课程列表、已选课程等功能模块。(1)我的课表模块我的课表模块主要实现学生对自己课表信息的查看功能。我的课表模块的实现如图5.8所示。图5.8 我的课表模块实现界面(2)可选课程列表模块可选课程列表模块实现学生在线选课的功能。可选课程列表模块的实现如图5.9所示。学生可以选择自己班级未上的课程来丰富自己的大学生活。图5.9 可选课程列表模块实现界面(3)已选课程列表模块已选课程列表模块实现学生对自己已选的课程的查看功能。已选课程列表模块的实现如图5.10所示。在这个界面不仅可以对已经选择的进行查看,还可以取

45、消已经选择的。图5.10 已选课程列表模块实现界面5.3.3 教师功能模块的实现教师登录系统实现了我的课表、我的课程等功能模块。(1)我的课表模块我的课表模块主要实现教师对自己课表信息的查看功能。我的课表模块的实现如图5.11所示。 图5.11 我的课表模块实现界面(2)我的课程列表模块我的课程列表模块实现教师对自己的课程的查看功能。我的课程模块的实现如图5.12所示。在我的课程里的操作里,教师可以查看具体自己任课的班级,和自己所教的学生的具体信息。 图5.12 我的课程模块实现界面(3)空闲教室查询模块空闲教室模块实现教师对没有课程的教室的查看功能。空闲教室的查询模块的实现如图5.13所示。

46、图5.13空闲教室查询模块接口的实现6 系统测试6.1 软件测试系统测试不仅是要验证系统有没有达到相应的功能,而且必须检查各个模块是否运行正常。在进行系统测试之前就要设计好测试方案,尽量在不同环境不同变量的情况下测试,达到更好的测试效果。为了模拟的真实环境更真实,这是希望测试结果和实际的应用更加相近。在性能方面,需要通过设置场景,虚拟现实环境,对系统响应用户请求的时间进行测试,找出系统运行的性能瓶颈,并针对其提出相应的变化。6.2 功能检测从用户的角度来看,功能测试就是对系统提供的各种功能进行测试,在这儿我所运用的操作是黑盒检测。操作方法是把整个项目比喻成一个从外部看不到的黑色盒子,从外部出发

47、不去想盒子的内部是什么构造,从外部分部检查系统的每一个功能模块是不是都正常,当检测系统的时候输入正确数据的时候可以得到正确的结果,以及输入不正确的数据时候,系统也可以进行相应的处理。6.3 系统配置要求CPU:酷睿双核CPU;内存:1G以上。或者CPU:AMD Athlon(tm) 64 X2 Dual Core Processor 3800+内存:1G操作系统:Microsoft windows XP Professional 版本 2002 Service Pack 36.4 测试内容(1)登录模块测试管理员登录界面如图6.1所示,在这里管理员必须要输入正确的用户名和密码才可以登录系统。权

48、限不一样的角色进入系统之后,将有不一样的操作。图6.1 系统登录界面因为登录时输入的情况可能存在差异,有可能是用户名输入错误或者密码输入错了,也有可能是用户名和密码都输入错了,所以在测试系统登入界面的时候我们要尽量把所有可能出现的情况都考虑全面。具体的测试如表6.1所示。表6.1(b)管理员登录模块测试用例用例编号操作输入数据预期结果实际结果测试状态(P/F)1-1输入正确的用户名和密码,点击“登录”按钮用户名:admin密码:成功登录成功登录,进入系统P1-2输入正确的用户名、正确的密码,点击键盘的“确定”键用户名:admin密码:成功登录成功登录,进入系统管理主页P1-3输入错误的用户名、

49、正确的密码,点击“登录”按钮用户名:jjj密码:显示提示信息“您输入的用户不存在!请重新输入”显示提示信息“您输入的用户不存在!请重新输入”P1-4用户名和密码为空,点击“登录”按钮用户名:密码:显示提示信息“您输入的用户不存在”显示提示信息“您输入的用户不存在”P1-5用户名为空,密码不为空,点击“登录”按钮用户名:密码:显示提示信息“您输入的用户不存在”显示提示信息“您输入的用户不存在”P1-6用户名不为空,密码为空,点击“登录”按钮用户名:admin密码:显示提示信息“您输入的密码不正确”显示提示信息“您输入的密码不正确”P(2) 添加学生信息检测管理员添加学生信息时需要输入多个数据,其

50、中必填的数据有:学生的学号、登入名称、密码、学生姓名等多个选项,还有其他可选填的数据信息,每个数据的长度之前章节都有介绍,在这里不重复介绍。学生信息的添加如图6.2所示。图6.2 学生信息添加界面在信息添加的过程中,我们主要测试的内容是必填内容空缺和密码的两次输入不同的情况。当必填信息空缺不填时,系统会用醒目红字提示此为必填字段,测试满足程序要求。当第一次密码输入位数不足6位数时,系统提示长度介于 6 和 20 之间的字符串;第二次密码确认输入的密码和第一次不同时,提示请再次输入相同的值,都符合要求。教师、课程、专业等添加都与学生添加类似不予以重复测试。图6.3 学生信息添加测试界面(3) 修改学生信息的

温馨提示

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

评论

0/150

提交评论