计算机毕业论文管理系统设计与实现_第1页
计算机毕业论文管理系统设计与实现_第2页
计算机毕业论文管理系统设计与实现_第3页
计算机毕业论文管理系统设计与实现_第4页
计算机毕业论文管理系统设计与实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

计算机毕业论文管理系统设计与实现大学学士学位论文【摘要】本系统运用J2EE中的JSPMODEL2的MVC模型与Eclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL的组合开发平台测试。在系统设计、实施上运用软件工程的思想,完全依照瀑布模型来编写设计文档。利用流程图、UML图等工具来设计程序,以避免逻辑上的错误。运用PowerDesigner工具进行数据库的设计以及JUnit工具进行编写测试用例,进行单元测试和集成测试。在界面上运用Ajax技术来实现XML文件存放数据,并以人性化的控件完成复杂的业务流程。考虑到排课任务的繁重,设计了自动排课算法,可以完成特定需求的排课。教务管理系统为学院机构,提供电子化解决方案。致力于构建电子化领域中统一、规范、服务完善的技术平台。【关键词】J2EE,MODEL2,MVC,Ajax,自动排课DesignandImplementationofEducationManageSystemofCollege【Abstract】TheSystemdevelopstestingplatformbyJSPMODEL2MVCofJ2EEandEclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL.Thedesignandapplicationofsystemarebasedonsoftwareengineeringthoughts.ThedocumentiscompletelywrittenanddesignedaccordingtotheWaterfallModel.ItDesignsthesoftwareprogramwithflowchart,UMLcharttoavoidthelogicalerror.Atthebasisofdatabasedesigningandtestcasewriting,whichisbasedonthetoolofpowerdesignerandJunit,itteststhesoftwareprogram,includingunittestingandintegrationtesting.ThesystemutilizestechnologyofAjaxoninterfacetoachievethestorageofdatabyXMLfile,moreover,itcompletescomplicatedbusinessprocessbyHumanizedControl.Consideringtheheavytasksofcurriculumarrangement,thesystemwhichdesignsautomaticarrangementalgorithmcancompletecurriculumarrangementwithspecificalrequirements.TheEducationalManagementSystemProvidesElectronicSolutionsforeducationalinstitutions.Thesystemfocusesonestablishingaunified,standardizedandperfectservicetechnologyplatforminthefieldofelectronics.【Keywords】J2EE,MODEL2,MVC,Ajax,AutomaticCurriculumArrangement目录第一章绪论(1)第二章系统开发理论基础(2)2.1ECLIPSE简介(2)2.2JDK简介(2)2.3JSP和SERVLET区别(3)2.4TOMCAT简介(4)2.5AJAX简介(5)2.6MVC和MODEL2区别(5)2.7MVC如何工作(7)2.8JSTL简介(8)第三章系统需求分析(9)3.1说明(9)3.2系统描述(9)3.3功能需求列表(9)3.4系统功能需求(10)3.5用户界面需求(12)3.6软硬件环境需求(13)3.7产品质量需求(13)3.8系统开发技术(14)3.9B/S体系结构(14)第四章系统概要设计(15)4.1设计说明和原则(15)4.2总体设计结构图(15)4.3文档目录编排(16)4.4产品具体功能(17)第五章系统设计(19)5.1共用文件系(19)5.2MVC的设计(21)5.3分页的分析与设计(23)5.4时间字符串简介(24)5.5权限问题的分析与设计(24)5.6自动排课分析与设计(24)5.7总结(25)第六章系统功能实现(26)6.1数据库设计(26)6.2数据库的命名规则(26)6.3数据库结构设计(27)6.4系统数据库表汇总(28)6.5界面说明(31)6.6登录主页面(31)6.7学生模块(32)6.8老师模块(32)6.9权限模块(33)6.10教务管理员模块(33)第七章结论(35)后记(36)参考文献:(37)附录一:(38)大学学士学位论文第一章绪论随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。本系统能够满足各级中小学校建立基础数据库、日常管理、向上级部门上报报表数据等;可以实现教委对学校的实时监控,增加各个学校管理的透明度,利于教育部门对各个学校的管理;可以实现老师与领导,老师与学生,学生与学校,学生家长与老师、学校之间的互动,有利对学生的教育管理;教务管理系统为学院机构,提供电子化解决方案。致力于构建电子化领域中统一、规范、服务完善的技术平台。在电子化教学中结合人力资源管理的理念,以人为本,由教学管理、考试管理、自动排课,成绩查询,贯彻教学的整体流程。在电子化教学中将网络技术与传统教学相结合,为学院提供远程教育技术解决方案,将高质量的教育服务延伸到社会的每一个角落。本系统正是为了实现教学管理电子化这一需求而开发。系统开发中运用到了Eclipse、tomcat、JDK等开发工具与运行环境,Ajax,WebModel2(MVC),Designpattern,Jstl等技术和知识。第二章系统开发理论基础2.1Eclipse简介Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse工作台由几个称为视图(view)的窗格组成,比如左上角的Navigator视图。窗格的集合称为透视图(perspective)。默认的透视图是Resource透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。2.2JDK简介JDK(JavaDevelopmentKit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。JDK包含的基本组件包括:1.javac–编译器,将源程序转成字节码2.jar–打包工具,将相关的类文件打包成一个文件3.javadoc–文档生成器,从源码注释中提取文档4.jdb–debugger,查错工具JDK中还包括完整的JRE(JavaRuntimeEnvironment,Java运行环境),也被称为privateruntime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。JDK中还包括各种例子程序,用以展示JavaAPI中的各部分。从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。JDK一般有三种版本:SE(J2SE),standardedition,标准版,是我们通常用的一个版本EE(J2EE),enterpsiseedtion,企业版,使用这种JDK开发J2EE应用程序ME(J2ME),microedtion,主要用于移动设备、嵌入式设备上的java应用程序2.3Jsp和Servlet区别JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为/products/jsp。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。Jsp(JavaServerPage)是在普通Html中嵌入了Java代码的一个脚本,在这一点上,它与其它的脚本语言(如Php)一样,但它与其它语言不同的是:其它脚本语言由服务器直接解释这个脚本,而Jsp则由Jsp容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为Class文件。最终,服务器解释的是Class文件。那么什么是Servlet呢?Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet其实是一个特殊的Java类,Servlet类一般从HttpServlet类继承而来,在这个类中至少要实现doGet或者doPost函数,在这两个函数中处理来自客户的请求,然后将结果返回。Servlet和Jsp是Sun公司J2EE架构中重要的部分。由于基于Java语言,因此其可以方便的调用功能强大的JavaAP(如JDBC)。2.4Tomcat简介Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat最新版本是4.0x。4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.5Ajax简介国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音一样。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。Ajax(AsynchronousJavaScriptandXML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。2.6MVC和Model2区别模型-视图-控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。Model2被认为区别于MVC的一个原因是,观察者/通知模式不能在web环境内工作的很好。HTTP是一个“拉”的协议:客户请求然后服务器响应。没有请求就没有响应。观察者模式需要一种“推”协议来进行通知,以便服务器能在模型改变时将信息推送到客户端。虽然也有一些方法能模拟将数据推送到客户端,但这和基本情况相悖,并且会视为是个权宜之计的修补。图2-1MVC关系图人们认为Model2不同于MVC的主要原因之一是:基于观察者/通知模式的经典的MVC是难以在web环境下实现的。因为HTTP协议是一个请求/响应协议,客户端有请求,服务器端才会有响应,没有请求,就没有响应。而观察者/通知模式要求在服务器端发生变化时能主动给用户端发消息更新。为了解决经典MVC模式难于在web环境下实现的问题,引入层模式将状态改变和状态查询的职责加于控制器之上,并伴随着改变通知。如图1-2,分层的web应用使用一种比传统MVC模式更加“扁平”的模式。控制器被夹在表现层(View)和应用逻辑(Model)之间。图2-2web应用的层模式每个组件的主要职责并没有改变。流程有轻微改变,View不再与Model有直接的联系,而它们之间的交互都通过Controller。即查询状态和改变通知都必须通过控制器;当视图,或者表现层需要加工动态页面时,它使用从控制器传递的数据而不是直接来自于模型层。这种改变去除了View和Model的耦合,允许控制器选择数据和显示这些数据的视图。2.7MVC如何工作MVC是Model-View-Controller的简写。“Model”是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),“Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。Model2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,同时新东西的引入会带来新的问题(这让我想起来关于"自动计算"的一篇文章,中间提到为了降低系统的复杂度,却导致更高的复杂度)。必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。1.视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。2.模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。3.控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。2.8Jstl简介JSTL(JSPStandardTagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。在JSP2.0中也是作为标准支持的。JSTL是JspStandardTagLibrary的缩写。这是一组通用标签并将成为JSP2.0的一部分。其中包含赋值,分支,循环,查询数据库,更新数据库等。目前你需要像添加自定义标签库一样来添加JSTL,但是可以预计JSP2.0会将JSTL作为组成部分。标签库可以在下载。注意JSTL需要在支持JSP1.2或更高版本的容器下运行。第三章系统需求分析3.1说明所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析旨在为项目的分析和开发提供参考。3.2系统描述本系统旨在用J2EE的B/S架构为学院管理员、老师和学生开发WEB版的在线管理平台。以减少他们的大量重复的繁琐的工作。让学生和老师有更多的时间专注于学习和工作。系统分为5个模块。分别是权限模块、教学模块、学生模块、老师模块、考试模块。各模块又分为几个子功能,模块间耦合度较小。系统能够满足各级中小学校建立基础数据库、日常管理、向上级部门上报报表数据等;可以实现教委对学校的实时监控,增加各个学校管理的透明度,利于教育部门对各个学校的管理;可以实现老师与领导,老师与学生,学生与学校,学生家长与老师、学校之间的互动,有利对学生的教育管理。3.3功能需求列表表3-1系统功能列表3.4系统功能需求3.4.1学生模块学生登陆以后,可以选报课程。系统会根据学生所在系及课程的预修课判断1.系统会列出所有满足该生还未选报的课程,或者其预修课为公共课的课程。如果该生选报了未满足预修课要求的课程,系统会有相关的错误提示。例如:高等数学(二)的预修课为高等数学(一)。2.学生可以查看自己的成绩,包括该生已选课程的名称,学分以及该生的总分。如果教师还未给出成绩,则系统会有相关提示。3.该生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不能为空。4.学生课表,有时间,地点,课程名,老师名,如果老师还没有选择课程而此时学生又查询课表,老师名可以为空。图3-1学生选课局部E-R图3.4.2老师模块教师可以修改自己的个人资料、查看学生、查看课表、进行考试管理、更新考试试题等功能。教师在本系统中拥有是否接受学生所选课程,以及给学生打分的权力,只有先接受学生,才能给该生打分。1.系统要求教师选择学生,然后系统会列出该教师所代课程的班级,然后系统会列出选报了该课程的所有学生;可以看到学生的一些详细情况2.学生考试完后,教师确认学生成绩之后,系统会根据总成绩来判断该生是否通过了考试。3.总成绩是由考试成绩×80%+平时成绩×20%;考试成绩由学生考完试后系统自动打分,平时成绩老师给出;平时成绩占老成绩的百分比由老师给出。4.考试成绩和平时成绩的分数范围0-100,老师课表,有时间,地点,课程名,班级名。图3-2教务管理系统基本E-R图3.4.3教学管理员模块1.管理员在本模块中有着最高的权力,主要有学生管理、教师管理、班级管理等。包括新增,更改,删除学生,教师,课程以及班级。2.管理员负责排课,要保证同一教师在同一时间不能上两门课程等等约束。3.4.4考试模块1.能从数据库中随机抽取所需专业的考试科目。2.学生考完后由教师进行评分。3.4.5权根模块1.所有web页面需要页面权限验证,对不同的模块分配不同的访问权限。如:学生进入学生模块,而不能进入管理员模块;图书管理员只能进入图书借阅模块2.系统管理员可增删改查其他管理员(教学管理员;BBS管理员;图书管理员)3.系统管理员的用户名和密码可以预先在数据库中设定。3.5用户界面需求表3-2用户界面需求表3.6软硬件环境需求表3-3软硬件环境需求表3.7产品质量需求表3-4产品质量需求表硬件配置:CPU:2.26GHZ;内存:256M;硬盘:80G;软件配置:操作系统:WindowsXP/Windows2000;数据库:mySQL;JSP服务器:Tomcat;3.8系统开发技术本系统的设计综合应用了B/S体系结构、SQLserver2000、JSP等技术。由于客户服务器两层结构存在灵活性差、升级困难、维护工作量大等

温馨提示

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

评论

0/150

提交评论