




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通用教学管理系统设计毕业设计目 录摘要IAbstractII第1章 绪论11.1 选题的背景11.2 目的和意义11.3 国内外研究现状21.3.1 国外高校教学系统研究现状21.3.2 国内高校教学系统研究现状21.4 主要研究内容3第2章 相关技术介绍42.1 开发工具简介42.1.1 MyEclipse简介42.1.2 Tomcat简介42.1.3 SQL Server介绍42.2 相关技术简介52.2.1 面向对象开发方法简介52.2.2 HTTP协议简介62.2.3 JSP技术简介62.2.4 Ajax技术简介72.2.5 B/S模式简介72.3 本章小结8第3章 需求分析93.1 需求分析的目的93.2 系统的具体需求93.2.1 系统的开发环境需求及运行环境需求93.2.2 系统功能需求103.2.3 系统性能需求103.3 可行性分析113.3.1 技术可行性分析113.3.2 经济可行性分析123.3.3 操作可行性分析123.4 本章小结12第4章 总体设计134.1 总体设计概述134.2 系统层次架构设计134.2.1 View视图层设计144.2.2 Model数据模型层144.2.3 Controller控制层144.3 系统总体模块设计154.4 系统各功能模块设计164.4.1 学生功能模块164.4.2 教师功能模块164.4.3 管理员功能模块174.5 系统功能模块流程图184.5.1 管理员功能模块流程图184.5.2 学生功能模块流程图204.4 本章小结22第5章 详细设计235.1 数据库设计235.1.1 管理员表ADMINISTRATOR235.1.2 学生表STUDENT235.1.3 教师表TEACHER245.1.4 班级表CLASS255.1.5 教室表CLASSROOM255.1.6 时间表TIME265.1.7 必修课表LESSON1265.1.8 选修课表LESSON2275.1.9 必修排课表LESSON1_LIST275.1.10 选修供选表LESSON2_LIST285.1.11 选修排课表S_LIST_AFTER_L2285.1.12 绑定表teacherAndLesson1ForClass295.1.13 必修课成绩表RESULTS1295.1.14 选修课成绩表RESULTS2305.2 界面设计315.2.1 说明315.2.2 登录模块界面设计315.2.3 学生模块界面设计325.2.4 教师模块界面设计325.2.5 管理员模块界面设计335.3 本章小结34第6章 系统测试356.1 系统测试目的和意义356.2 系统测试用例356.3 本章小结36结论37参考文献38致谢39附录1 开题报告40附录2 文献综述43附录3 中期报告47附录4 外文原文53附录5 外文翻译61第1章 绪论第1章 绪论1.1 选题的背景随着社会的进步,经济的发展,计算机技术在日益成熟。Internet普及,人们利用网络来实现相互协调工作以及资源共享越来越成为不可扭转的趋势,学校信息化的发展也成了必然方向。伴随着学生人数每年都在增加,传统的方法用来管理学生信息已跟不上了时代的发展,还带来了很多的弊端,让学校的信息化很难推进,制约了学校的进一步发展。因此,教学管理系统的开发对于学校而言是必要的,教学管理系统能够促进学校信息化的发展,利于学校的长运计划。并且教学管理系统还为学校管理学生一些必要的相关信息带来了方便,免除了传统管理方法的繁杂和花费大量的人类、物力资源,减轻了学校的负担。1.2 目的和意义一个成功的教学管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等管理成绩、课程、学籍等。然而目前许多教学管理系统在使用时,效率低下容易出错,学生、教师资料不易整理,大量丢失,这些无疑都已成为管理学生学籍、教师信息的障碍。这就要求学校能够建立高效的教学管理系统,对学生的选课、查询等操作及流程进行规范化管理,简化业务流程,提高工作效率并防止中间的漏洞;迅速、准确地捕捉用户要求,并加以高效回应。同时需要不断完善系统,增加模块,更好的满足用户需求,简化教务人员的管理工作,尽量做到一切信息化。 对于学校教务处而言,最主要的是管理学生的学籍、管理教师的课程教授。如果使用一般的方法来管理,会比较繁琐,管理起来也很有可能出错。为了方便教学人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教学管理系统,使学校的教学管理走上信息化之路,克服人为的种种弊端。教学管理系统的开发不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高教学管理的效率。教学管理人员管理学生学籍、管理教师课程教授时是一项复杂的组织工作,这种复杂性不仅仅指学生学籍变更快,变更人数众多,更突出地表现在教学管理主要对象(即学生)的数据量大,管理起来带来不便,所以开发一个实用、高效的教学管理系统是很有必要的。1.3 国内外研究现状1.3.1 国外高校教学系统研究现状世界发达国家高度重视信息技术对教育的影响和作用,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持,有自己高带宽的专用网络,来重新调整教育目标,制定教育改革方案,加快推进教育信息化建设。对于教学系统的现代信息化管理,国外的许多大学已经进行了多年的探索和研究,从六七十年代就已经开始,现在已比较成熟,形成了一套规范科学的管理模式。在国外,最早是由美国麻省理工学院在20世界70年代提出了数字化校园的概念,并经过四十多年的努力建设,构建出一个较成熟的数字化校园平台。目前美国已经有85%的高校能够为学生提供在线课程目录服务,有72%的高校能够为学生提供在线课程注册服务。在欧洲,各个大学也相继建立了信息化教学管理平台。其管理信息系统模式一般都是以全局数据信息集中统一管理的中央数据库模型,而软件开发的系统架构多半也是以C/S,或者B/S模式进行设计的,它们将整个学校的教学资源以集中数据平台的方式从全局的角度统筹管理,以提高整个教学管理效率,加大不同系统和模块间的数据流通速度。由于多年的探索和改进,目前国外高校的这种管理模式规模已初具规模,其运行也处于一种比较完善和稳定的阶段。1.3.2 国内高校教学系统研究现状随着我国教育的发展和逐步产业化,我国的高校在信息化建设过程中也经过了很多年的努力,已经取得了一定的成绩。从引入PC开始,到初步建设初级校园局域网、中型百兆校园网,乃至大型千兆校园网和互联网数据中心(IDC),高校信息化建设不断地跨上一个新的台阶。条件好的学校,依托校园网,围绕本校教学管理实际情况开发各管理模块,条件差一点的学校,就采用单机版的教务管理系统,仅实现其中一些相关的模块,并不是全部教学管理环节都采用计算机信息管理。现在,各大高校在经历了以硬件投资为主的校园网建设滞后,在需求的拉动之下,开始了新一轮注重软件建设、以“强调应用”为主题的、以软件开发为主的应用系统改造的新的阶段。高校的信息化建设,主要是在传统校园建设的基础上,利用现代化的信息技术和手段,将分散的信息资源统一进行管理,形成一个虚拟的数字空间,使得显示的校园信息资源在时间和空间上得以延伸和扩展,从而实现提高教育教学管理水平和效率的目的。各高校的教学管理系统都有自身的特点,不尽相同。在该阶段,大部分高等院校的建设目标是在传统校园网的基础上,利用先进的开发技术,将各种分散的教学资源统一起来,搭建出一种异构的数据共享平台,并在该数据平台的基础之上完成各种老系统改造和新系统的开发,从而满足现代教育教学管理的需要。1.4 主要研究内容本系统是方便学校教务人员管理学生学籍、管理教师、方便教师和学生处理日常学籍工作而开发的,为教学管理人员管理日常教学工作提供了方便。学生可以使用此系统查询自己已修完课程的成绩、查看自己的学籍信息、选课等;教师可以使用此系统给学生所选的课程打分、查看自己的信息及课程安排情况等;管理员可以使用此系统添加相关用户信息、备份数据等。因此本系统主要实现学生功能、教师功能、管理员功能。学生功能:个人信息查询、修改;在线选课;密码修改;查看个人课表等。教师功能:个人课表查看;个人信息查询、修改;密码修改;学生打分等。管理员功能:教师信息查询、修改、删除;课程信息添加、修改、删除;学生信息查询、修改、删除;密码修改等。拟解决的主要问题:(1)根据不同的用户分配不同的权限,提高数据的安全性。(2)实现数据库的建立、连接和维护工作,后期数据的更新。(3)实现管理员对课程编排的半自动化。第2章 相关技术介绍第2章 相关技术介绍2.1 开发工具简介本系统主要使用的开发工具主要包括MyEclipse、Tomcat、SQL Srever等。2.1.1 MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.1.2 Tomcat简介Tomcat是一个免费的开源的Web应用服务器,它是轻量级应用服务器,是开发及调试JSP程序的首要工具,简单来说,在一台配置好Apache服务器的机器上,可用Tomcat响应HTML页面的访问请求。Tomcat是对Apache服务器的扩展,而且是独立运行的,因此当Tomcat运行时,实际作为和Apache独立的进程单独运行。Tomcat具有以上的优点,所以深受开发系统程序员喜欢,还有就是它在运行的时候占用系统资源非常小,而且扩展性很好,可以支持邮件服务和负载平衡等开发应用系统常用到的许多功能,并且现在它还在不断地改进完善之中,每一个感兴趣的程序员都能对它进行更改并且加入新的功能。2.1.3 SQL Server介绍SQL Server是一个关系数据库管理系统。它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server的Windows NT版本。Sybase则较专注于SQL Server在UNIX操作系统上的应用。目前最新版本是2012年3月份推出的SQL Server 2012。本系统使用得SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进 。拥有以下新特点:(1)可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。(2)高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。(3)智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。2.2 相关技术简介2.2.1 面向对象开发方法简介面向对象方法是建立在“对象”概念基础上的方法学,它是一种将面向对象思想应用于软件开发过程中并指导开发活动的系统方法。对象是封装体,其内包含开发过程中使用的数据以及容许的操作。面向对象方法以模拟人类思维模式为基本原则和出发点,使得开发软件的过程和方法尽可能接近人类认识世界、解决问题的过程和方法。面向对象方法具有下述四个要点:(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。按照这种观点,可以认为整个世界就是一个最复杂 的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。(2)把所有对象都划分成各种对象类(简称为类(Class),每个对象类都定义了一组数据和一组方法,数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。 例如,荧光屏上不同位置显示的半径不同的几个圆,虽然都是Circle类的对象,但是,各自都有自己专用的数据,以便记录各自的圆心位置、半径等等。类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。(3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。(4)对象彼此之间仅能通过传递消息互相联系。2.2.2 HTTP协议简介HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。它可以使浏览器更加高效,使网络传输减少。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP协议的主要特点可概括如下:(1)支持客户/服务器模式,支持基本认证和安全认证。(2) 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。(3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。(4)HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象。(5)无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。2.2.3 JSP技术简介JSP(Java Server Pages)的中文名为Java服务器页面,实际上是一个简化的Servlet设计,是一种动态网页技术标准。JSP技术类似于ASP技术,它是在传统的网页语言HTML中插入Java程序段和JSP标记从而形成的。用JSP开发的Web应用具有良好的可移植性,兼容Windows和Linux等主流操作系统1。JSP实现了HTML语法的Java扩展。JSP与Servlet在服务器端执行并返回给客户端一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点2。2.2.4 Ajax技术简介Ajax(Asynchronous JavaScript and XML)是结合了Java技术、XML以及 JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。2.2.5 B/S模式简介B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互3。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了Ajax技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。B/S模式有以下几个特点:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.3 本章小结本章介绍了本系统开发所需要的开发工具及开发技术等方面的内容,介绍了MyEclipse 、Tomcat、SQL Server等开发工具以及JSP等开发技术,还有B/S模式的简介。对这些资料的充分了解能够加快项目进度,明确设计思路,确保项目的完成。第3章 需求分析第3章 需求分析需求分析是软件定义时期的一个阶段,基本任务是研究系统要做什么,将用户的需求描述成软件的功能。它的具体任务包括:首先要获取当前系统的物理模型、抽象出当前系统的逻辑模型和建立目标系统的逻辑模型。要将软件的功能和性能描述清楚,需要用文字、图形符号来详细说明软件必须要做什么怎样做,配合运行的环境应该是什么,为系统开发设计打好基础。3.1 需求分析的目的需求分析是一个满足客户提出的要求的过程,是一个目的性很强的工作。编写需求分析报告,有利于软件的整体规划,只有用户才知道自己需要的是什么,用户描述出自己的需求,分析员根据客户提出的要求,确定系统要实现的功能,为后期软件开发奠定了基础4。首先必须要知道用户的需求,对软件需求的深入理解是开发工作获得成功的前提,不论把设计和编码工作做得如何出色,都必须要做出真正满足用户需求的程序,否则只会给用户带来失望,给开发者带来烦恼5。课题目标是设计并实现一个通用教学管理系统。本系统的具体要求主要包括主要包括开发系统时的环境要求、软件运行要求、系统的性能要求、系统的用户与角色要求以及系统的功能要求。本章节的目的一方面是展示用户的业务需求,另一方面是作为后续开发设计业务需求的指导文档。3.2 系统的具体需求3.2.1 系统的开发环境需求及运行环境需求系统的开发环境具体配置如下:(1)硬件环境:CPU:Intel(R) Core(TM) i5-3210 CPU 2.50GHz;安装内存:4G;硬盘容量:750G。(2)软件环境:操作系统:Windows8.1;系统类型:64位系统;分辨率:1366768;开发工具:MyEclipse10;开发语言:Java;建模工具:Microsoft Office Visio 2013。3.2.2 系统功能需求(1)学生功能:学生可以查看个人信息,包括姓名、班级、学号、班级类型等;也可以对自己的密码进行修改;查看必修课和选修课课表;以及在线选择选修课课程。(2)教师功能:老师可以个人信息,包括姓名、工号、专业等;修改个人密码修改;查看学生并给其课程打分;查看个人课表。(3)管理员功能:管理员可以添加教师、学生、班级、课程;教师信息查询、修改、删除;课程信息添加、修改、删除;学生信息查询、修改、删除;班级信息查询、修改、删除;对课程进行排课,保证同一老师在同一时间内不能上两门课程。3.2.3 系统性能需求(1)正确性:按照需求正确执行任务,完成各个模块的相应要求。还要保证一次数据请求及返回结果的准确性,还要考虑本次数据处理结果对系统的影响,从而保证整个系统的准确性。(2)健壮性:系统应设有容错机制以及错误提示,在用户进行误操作时能及时弹出提示,具有较高的容错能力和恢复能力。(3)及时性:及时性就是要求系统在日常处理中的响应速度要达到实时要求,以及实时反馈信息6。在系统设计和开发过程中,还要充分考虑系统当前和将来可能承受的工作量,使系统处理能力和响应时间能够满足用户对信息处理的要求。软件的输出结果更新周期应该与系统的信息更新周期相同,在网络情况良好的情况下,几秒内可响应用户请求。(4)可靠性:软件的每次运行虽然时间上不同,处理器可能处于不同的状态,应尽量保持系统的反应相对稳定,不能出现两次相同或类似的操作、数据输入下系统响应时间和响应效果差异明显。故障发生率每运行 1000 小时应低于 3 次。(5)易用性:系统研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。本系统展现出的功能必须可以给用户展现清晰、简洁、舒适的用户体验。给用户提供使用复杂的功能的友好界面和简单接口,使用户能够快速上手并对系统的各项功能有所熟悉,方便容易地对系统的各项功能进行操作,完成预期的效果。(6)安全性:防止系统受到意外或蓄意的存取、使用、修改、毁坏或泄密,软件的数据应能集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也不应进行什么数据同步。(7)可扩展性:系统在开发过程中,应该充分考虑以后的可扩展性。系统应充分考虑能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制,即系统应是一个开放的系统,要符合一定的规范,通过软件的修补、替换完成系统的升级和更新换代。能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制。3.3 可行性分析可行性分析的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。3.3.1 技术可行性分析随着Internet的飞速发展使得B/S模式已成为当前热门的系统架构方式,并且技术已经成熟,系统操作简单,不需要任何硬件设备,可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。数据库技术及JSP开发环境发展到现在,数据库系统开发技术已经相当成熟,它结合JSP服务器脚本环境已经成功的开发出了许多软件和大型网站。本系统可采用Windows作为操作平台。数据库选用SQL Server 2008,并提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用软件开发平台选用了MyEclipse ,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。基于大型的教学管理系统已经有很多成功的方案,这说明本系统在技术上是可行的。3.3.2 经济可行性分析学校信息化建设将使整个学校的管理工作更高效,在信息高速传递下将发生质的变化。而系统主要是个体开发,周期短,无需很高费用。并且系统只需安装在学校的服务器上,并配备一定数量的计算机和管理人员就可以投入使用。投入运行后可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,规划教学资源,提高学生信息,及时反馈教学信息的利用率,使教学质量更上一个台阶。因此,在本系统在经济上具有一定的可行性。3.3.3 操作可行性分析本系统操作简单,界面友好,易于理解,只需通过简单熟悉,上手较快,学校教务管理处的教职员以及相关教师均能进行操作,营运环境要求低。面对于系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。3.4 本章小结本章主要介绍了需求分析的目的,并确定了系统的具体需求主要包括开发系统时的环境需求、软件运行需求、系统的性能需求、系统的用户与角色要求以及系统的功能需求等多方面的需求。其次从项目经济性、技术可行性、操作可行性等几个方面对对软件进行了可行性分析,为接下来的系统设计阶段做好准备。第4章 总体设计第4章 总体设计4.1 总体设计概述经过需求分析对本系统需要“做什么”已经比较清楚了,需求分析的结果作为本系统的需求抽象信息结构,现在进入了该“如何去做”,即该如何去实现本系统的阶段。总体设计将需求分析的逻辑模型,变换成总体设计的物理模型,着手去实现系统的需求。总体设计首先是设计系统的总体功能结构,也就是要确定系统中每个程序是由哪些模块组成,还有这些模块相互之间的关系和相互之间的调用过程。由于模块之间是相互独立的,所以可以在编码的时候单独的设计、编写、测试和修改,从而降低了错误在模块中蔓延的可能性,提高了系统的可靠性和可维护性。其次,是进行数据库的设计,数据库的设计是本系统重要的部分,设计好数据库,才能让系统运行更流畅。在系统的开发初期,必须要完善的规划数据库、设计数据库中的各个数据集、规范数据库间数据的联系。4.2 系统层次架构设计本系统采用的就是MVC的三层架构,该软件设计典范是一种将业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC各组件类型关系和功能如图4-1所示:图4-1 MVC各组件功能图4.2.1 View视图层设计 视图层是该系统最直接的面向用户的交互的界面,是系统中唯一允许用户看到和操作的层次。也是用户对该系统的第一印象,界面友好可以方便用户使用系统。该层次由一个个的JSP页面组成,只包含页面内容,不包括任何业务层和数据层的任何功能,只负责显示。该视图层主要有两大部分页面,一部分是面向用户的,另一部分是面向管理员的。在视图层还可以有一些简单的获取数据操作和JS代码。采用这种设计模式大大降低了系统的耦合性,使该系统更易维护,更易扩展,同时这也符合现在的程序设计的思想。当我们想改变页面的时候只需改变该层的代码,无需对后台的Java代码进行任何改动。总之。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。4.2.2 Model数据模型层该层包括数据处理代码和数据存储代码。数据模型层主要包括数据存取服务,负责与数据库管理系统之间的通信。这其中,JavaBean的设计非常重要,根据需求设计相应的Bean类。该层封装了数据和对数据的操作,是实际进行数据处理和计算的地方,一个模型可以为多个视图同时提供数据,因此此层次重用性非常高。同时,该层次拥有最多的处理任务。该层次包括的内容有:编写数据库连接类,连接数据库;编写业务逻辑类(即DAO),一般一个类对应一个DAO,每个DAO由多种方法组成,包括增删改查等操作方法;每个类应该对应一个Bean,然后在Bean中可以根据实际需要增加变量。该层次给其他层带来了大大的方便,使数据库的操作更加趋于面向对象的特点,不用再在Java代码中插入SQL语句,也不用关心数据库的不同,给以后的操作提供了基础。4.2.3 Controller控制层控制器主要是接受用户输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。在MVC的传统模式中,本层是采用Servlet来完成的,Servlet不但接受用户传来的数据,完成用户的申请功能,还要显示控制页面的跳转。简而言之,就是控制视图层和模型层之间的数据流。4.3 系统总体模块设计本课题为设计并实现一个通用教学管理系统,其主要功能管理学生、老师、课程等信息,实现教学管理的信息化。依据上述功能,系统划分的主要功能模块如下:学生功能模块:学生可以查看个人信息,包括姓名、班级、学号、班级类型等;也可以对自己的密码进行修改;查看必修课和选修课课表;以及在线选择选修课课程。老师功能模块:老师可以个人信息,包括姓名、工号、专业等;修改个人密码修改;查看学生并给其课程打分;查看个人课表。管理员功能模块:管理员可以添加教师、学生、班级、课程;教师信息查询、修改、删除;课程信息添加、修改、删除;学生信息查询、修改、删除;班级信息查询、修改、删除;对课程进行排课,保证同一老师在同一时间内不能上两门课程。系统总体功能模块图如下图4-2所示:图4-2 系统总体功能模块图4.4 系统各功能模块设计4.4.1 学生功能模块学生是学校管理的主体,但不是系统使用的主体,为学生提供的使用接口是学生通过学号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改自身登录密码,参与选课、查看课表和成绩等,无任何删除权限。学生功能模块图如图4-3所示:图4-3 学生功能模块图4.4.2 教师功能模块教师同样也是学校管理的对象,为教师提供的使用接口是老师通过工号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改自身登录密码,查看课表和成绩等,有修改权限。学生功能模块图如图4-4所示:图4-4 老师功能模块图4.4.3 管理员功能模块管理员,他具有系统使用的管理权限。对学生的管理有:添加、删除、查询学生,添加、查询、修改学生个人信息。对班级的管理有:添加、删除、查询、修改班级。对教师管理有:添加、删除、查询、修改教师信息。对课程的管理有:添加、删除、查询、修改课程,编排课程。管理员功能模块图如图4-5所示:图4-5管理员功能模块图4.5 系统功能模块流程图4.5.1 管理员功能模块流程图系统管理员是系统的最高权限管理者,进行操作前必须正确的登录,系统管理员的登录模块流程图如图4-6所示:图4-6管理员登录流程图管理员成功登录后就可以对学生信息管理系统进行管理了(1)学生管理,管理员可以添加、删除学生,可以修改学生的个人信息,还可以查看所有学生。其管理流程图如图4-7所示:图4-7学生管理流程图(2)教师管理,管理员可以添加、删除教师,可以修改教师的个人信息,还可以查看所有教师。其管理流程图如图4-8所示:图4-8教师管理流程图(3)班级管理,管理员可以添加、删除班级,可以修改班级信息,还可以查看所有班级。其管理流程图如图4-9所示:图4-9班级管理流程图(4)课程管理,管理员可以添加、删除课程,可以修改课程,还可以查看所有班级以及编排课程表。其管理流程图如图4-10所示:图4-10课程管理流程图4.5.2 学生功能模块流程图(1)学生登录,学生只有输入正确的学号、密码和选择合适的权限才能登录学生端来修改和查询自己相关的事件。其操作如下图4-11所示:图4-11学生登录流程图(2)个人信息查询,学生成功登录以后可以查看自己的信息,以及修改登录密码。其操作如下图4-12所示:图4-12学生个人信息查询流程图(3)课表查询,学生成功登录后可以查看选修课课表和必修课课表。其操作如下图4-13所示:图4-13学生课表查询流程图(4)成绩查询,学生成功登陆后可以在成绩查询中查询自己的选修课成绩和必修课成绩。其中成绩又分为平时成绩、考试成绩和最终成绩,最终成绩为平时成绩和考试成绩的总和,平时成绩和考试成绩均由科任老师给出。其操作如下图4-14所示: 图4-14学生成绩查询流程图(5)选报查询,学生成功登陆后可以在选报查询中查询可选择的选修课,并选报选修课。其操作如下图4-15所示:图4-15学生选报查询流程4.4 本章小结本章主要根据需求分析中对系统的功能需求,对该系统进行了总体设计,主要包括系统的总体模块设计,系统各功能模块设计及各个子功能模块的主要说明和设计。为下一步系统的详细设计做好了准备。第5章 详细设计第5章 详细设计通过需求分析和总体设计的结果进入详细设计阶段,按照总体设计的思路对各个功能模块进行分块设计。同时完成数据库的设计,包括数据库的概念设计和逻辑设计,表的结构和表的字段说明。详细设计住要在总体设计的基础上,设计系统的实现方式,对系统中的每个模块给出详细的过程性描述,用详细设计的表达来表示这些描述。5.1 数据库设计5.1.1 管理员表ADMINISTRATOR管理员表ADMINISTRATOR:该表主要用来存储系统管理员的基本信息,主要包括管理员ID、管理员账号、管理员密码。表设计如表5-1所示:表5-1管理员表ADMINISTRATOR字段字段类型字段描述备注A_IDInt管理员ID主键A_NAMEVarchar(10)管理员账号唯一A_PASSWORDVarchar(10) 管理员密码 不可为空管理员表ADMINISTRATOR,表中共有3个字段来存管理员信息:(1)A_ID:A_ID代表管理员ID,是自增的。设为Int类型,是该表的主键。(2)A_NAME:A_NAME代表管理员的账号,用户名可以由任意数字,字母,组成,所以设置Varchar类型,由于有些用户的用户名长度过长,该字段设置长度为10,唯一。(3)A_PASSWORD:A_PASSWORD代表管理员的密码,用于管理员登录时验证是否是已注册管理员,该字段由字母和数字组成,设置为Varchar类型,长度设置为10。5.1.2 学生表STUDENT学生表STUDENT:该表主要用来储存学生信息,主要包括学生ID、班级ID、学生学号(账号)、学生密码、学生姓名。表设计如表5-2所示:表5-2 学生表STUDENT字段字段类型字段描述备注S_IDInt学生ID(序列)主键C_IDInt班级ID外键S_NAMEVarchar(10)学生姓名不可为空S_NUMBERVarchar(10)学生学号(账号)唯一S_PASSWORDVarchar(10)学生密码不可为空学生表STUDENT,表中共有5个字段来存学生信息:(1)S_ID:S_ID是学生的ID,该字段由纯数字组成,为自增序列,设置为Int类型,是该表主键。(2)C_ID:C_ID代表班级ID,设置为Int类型。(3)S_NAME:S_NAME代表学生姓名,设置为Varchar类型,字段长度为10。(4)S_NUMBER:S_NUMBER代表学生学号(账号),设置为Varchar类型,字段长度为10,是唯一的。(5)S_PASSWORD:S_PASSWORD代表学生账号的密码,设置为Varchar类型,字段长度为10。5.1.3 教师表TEACHER教师表TEACHER:该表主要用来存储教师的信息,该表的字段有:教师ID,教师工号(账号),教师姓名,教师密码。表设计如表5-3所示:表5-3教师表TEACHER字段字段类型字段描述备注T_IDInt教师ID(序列)主键T_NAMEVarchar(10)教师姓名不可为空T_NUMBERVarchar(10)教师工号(账号) 唯一T_PASSWORDVarchar(10)教师密码不可为空T_SKILLVarchar(50)教师技能(课程)不可为空教师表TEACHER,表中共有5个字段来存教师信息:(1)T_ID:T_ID代表教师ID,该字段由纯数字组成,为自增序列,设置为Int类型,是该表主键。(2)T_NAME:T_NAME代表教师姓名,设置为Varchar类型,字段长度为10。(3)T_NUMBER:T_NUMBER代表教师工号(账号),设为Varchar类型,字段长度为10,是唯一的。(4)T_PASSWORD:T_PASSWORD代表教师密码,设为Varchar类型,字段长度10。(5)T_SKILL:T_SKILL代表教师技能,即为所上课程课程名,设为Varchar类型,字段长度为50。5.1.4 班级表CLASS班级表CLASS:该表主要用来存储学校的班级信息,主要包括班级ID,班级名称,班级类别。表设计如表5-4所示:表5-4 班级表CLASS字段字段类型字段描述备注C_IDInt班级ID(序列)主键C_NAMEVarchar(10)班级名称不可为空C_TYPEVarchar(10)班级类别不可为空班级表CLASS,表中共有3个字段来存班级信息:(1)C_ID:C_ID代表班级ID,该字段由纯数字组成,为自增序列,设置为Int类型,是该表主键。(2)C_NAME:C_NAME代表班级名称,设置为Varchar类型,字段长度为10。(3)C_TYPE:C_TYPE代表班级类别,用于识别班级的类型,设置为Varchar类型,长度设置为10。5.1.5 教室表CLASSROOM教室表CLASSROOM:该表主要用来存储教师信息,主要包括教室ID,教室名称。表设计如表5-5所示:表5-5教室表CLASSROOM字段字段类型字段描述备注CR_IDInt教室ID(序列)主键CR_NAMEVarchar(10)教室名称不可为空教室表CLASSROOM,表中共有2个字段来存教室信息:(1)CR_ID:CR_ID代表教室ID,该字段由纯数字组成,为自增序列,设置为Int类型,是该表主键。(2)CR_NAME:CR_NAME代表班级名称,设置为Varchar类型,字段长度为10。5.1.6 时间表TIME时间表TIME:该表主要用来存储时间序列。表设计如表5-6所示:表5-6时间表TIME字段字段类型字段描述备注TIME_IDVarchar(5)时间字符串(序列)主键时间表TIME,表中共有1个字段来存时间信息:(1)TIME_ID:TIME_ID代表时间字符串(序列),设为Varchar类型,字段长度为5,为该表主键。排课时用到的时间并不是绝对时间。因为年份在项目中不起作用,而第几学期、第几周、星期几、第几节课反而是排课中时间的要素。当然由相对时间和班级的开班时间,用固定的公式可以得到绝对时间。这里我们利用时间字符串不仅可以减少数据库存储多余的信息量,而且让后台对相对时间的操作更简单。5.1.7 必修课表LESSON1必修课表LESSON1:该表主要用来存储所有必修课程信息,主要包括课程ID,必修课名称,必修课学时,必修课学分。表设计如表5-7所示:表5-7必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省齐齐哈尔克山县联考2025届数学七下期末监测模拟试题含解析
- 城市交通与城市规划发展趋势研究重点基础知识点
- 美术教学资源开发与利用计划
- 深度解析的VB考试试题及答案
- 企业风险评估的总结与对策计划
- 生产计划应对外部环境变化的策略
- 2024年江苏省科学技术厅下属事业单位真题
- 经验分享提升软件设计师考试成功率的试题及答案
- 2024年洛阳市中小学教师招聘笔试真题
- 学习习惯养成指导计划
- 智慧果园生产管理系统-培训
- 三年级数学下册计算题大全(每日一练共18份)
- 2024年高级卫生专业技术资格考试传染性疾病控制(087)(副高级)复习试题及解答
- EDI工程手册中文
- 高二语文九日齐山登高省公开课金奖全国赛课一等奖微课获奖课件
- 2024年四川省成都市中考地理+生物试卷真题(含答案解析)
- 食品工程系畜产品加工技术教案
- 入股合作的协议书(2024版)
- 广东省深圳市南山区2023-2024学年七年级下学期期末英语试题
- 福建省宁德市霞浦县2024届九年级上学期期中阶段性训练数学试卷(含答案)
- 2024年广东清远市“人才引育”工程专项事业编制高层次人才招聘31人历年【重点基础提升】模拟试题(共500题)附带答案详解
评论
0/150
提交评论