讲师考评系统_第1页
讲师考评系统_第2页
讲师考评系统_第3页
讲师考评系统_第4页
讲师考评系统_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

摘要讲师考评系统是最新发展起来的一种新型考评方式,现已成为学生评教、领导考察管理、讲师自我评价的一个重要平台。随着电脑和网络的普及,学校与公司开始更多的利用网络进行人性化交流,对讲师的考评也由以往的人体调查改为通过网络进行调查的方式,以达到低人力,高效率的目的,使的考评工作更加简单方便,讲师考评系统正是为了这个目的而设计的,它不但能够高效率的进行考评工作,从中可以得到丰富有效的信息,还可以为管理者提供十分人性化的服务,便于管理员进行审核,搜索工作。本次毕业设计的题目就是设计并且实现一个基于JAVAEE技术WEB应用的讲师考评系统,为师生之间提供网上评教、发布信息、讨论问题机会和空间。本系统主要以HIBERNATE,SPRING加STRUTS作为开发技术框架,以ECLIPSE作为开发工具,JSP作为界面技术。在功能方面也基本实现了一个考评系统应有的几个基本功能模块包括超级用户登录;管理员登陆;讲师登陆;班主任登陆;项目经理登陆;同时针对不同用户提供不同的权限管理,进行不同的操作。该系统界面美观、操作简单、使用方便,十分符合现代教学评估使用。关键词讲师考评系统;HIBERNATE,SPRING,STRUTS;ECLIPSE;JSP;ABSTRACTLECTUREREXAMINATIONTHESYSTEMBELATESTDEVELOPMENTTOGETUPOFAKINDOFNEWEXAMINATIONWAY,HAVEBECOMEASTUDENTTOREVIEWTOTEACHNOW,LEADERSHIPINVESTIGATIONMANAGEMENT,LECTUREREGOEVALUATIONOFANIMPORTANCETERRACEALONGWITHTHECOMPUTERANDTHENETWORKOFUNIVERSALITY,SCHOOLANDCOMPANYSTARTTOBEMOREOFMAKEUSEOFTHENETWORKCARRYONHUMANIZATIONEXCHANGESANDEXAMINELECTURERALSOFROMFORMEROFHUMANBODYINVESTIGATECHANGETOCARRYINGONINVESTIGATETHROUGHANETWORKOFWAYWITHATTAINLOWMANPOWER,HIGHEFFICIENCYPURPOSE,THEEXAMINATIONFORMAKEWORKMORESIMPLECONVENIENCE,LECTUREREXAMINATIONTHESYSTEMISEXACTLYFORTHESAKEOFTHISPURPOSEBUTDESIGN,ITNOTONLYCANHIGHEFFICIENCILYCARRYONEXAMINATIONWORK,FROMINCANGETABUNDANTVALIDOFINFORMATION,RETURNCANFORTHEGOVERNORPROVIDEVERYHUMANIZATIONOFSERVICE,THEEASYTOMANAGINGPERSONCARRYONEXAMINEANDSEARCHWORKTHETOPICOFTHISTIMEGRADUATIONDESIGNBEDESIGNANDREALIZATION1ACCORDINGTOTHEJAVAEETECHNIQUEWEBAPPLICATIONOFLECTUREREXAMINATIONSYSTEM,PROVIDEANETTOPTOREVIEWTOTEACH,RELEASEANINFORMATIONFORTHETEACHERSANDTHESTUDENTS,DISCUSSIONPROBLEMOPPORTUNITYANDSPACETHISSYSTEMISMAINWITHTHEHIBERNATE,THESPRINGADDSTRUTSASTHEDEVELOPMENTTECHNIQUEFRAME,USEECLIPSEASDEVELOPMENTTOOL,ANDTHEJSPBEANINTERFACETECHNIQUEINTHEFUNCTIONALSOBASICREALIZATIONANEXAMINATIONSYSTEMSHOULDHAVEOFAFEWBASICFUNCTIONMOLDPIECEINCLUDETHESUPERCUSTOMERREGISTERTHEDEBARKATIONOFMANAGINGPERSONTHEDEBARKATIONOFTHELECTURERFORMMASTERDEBARKATIONITEMMANAGERDEBARKATIONTHELEGALPOWERAIMEDATADISSIMILARITYACUSTOMERTOPROVIDEADISSIMILARITYINTHEMEANTIMEMANAGEMENT,CARRYONDISSIMILARITYOFOPERATIONSHOULDSYSTEMINTERFACEBEAUTY,OPERATIONSIMPLE,USAGECONVENIENCE,MATCHMODERNTEACHINGVALUATIONUSAGEVERYKEYWORDLECTUREREXAMINATIONSYSTEMHIBERNATE,SPRING,STRUTSECLIPSEJSP目录1绪论52、开发环境及开发工具521ECLIPSE概述5211ECLIPSE的特点6212ECLIPSE的环境配置7213ECLIPSE体系结构7214ECLIPSEMYECLIPSE822MYSQL概述8221MYSQL的应用8222MYSQL的功能8223MYSQL管理93、技术需求分析931系统设计思想932系统界面技术需求JSP9321JSP概述9322JSP功能及应用9323JSP实现技术1033系统的功能技术要求STRUTS11331STRUTS概述11332STRUTS功能及应用11333STRUTS实现技术1134系统功能实现技术需求HIBERNATE,SPRING12341构建HIBERNATE12342HIBERNATE特性13343SPRING概述13344SPRING功能及应用134TARENA讲师考评系统需求分析1541系统设计思想1542系统界面要求1543TARENA讲师考评系统要求1644TARENA讲师考评系统角色及其功能分析175TARENA讲师考评系统的详细设计3151TARENAY讲师考评系统的数据库设计3152TARENA讲师考评系统模块的划分3553TARENA讲师考评系统主要模块的具体实现3554TARENA讲师考评系统的测试57总结与体会61致谢62参考文献63附录一英文资料原文64附录二英文资料译文781绪论讲师考评系统是为了配合JAVA语言的教学而设计的。该系统为了评价讲师的教学工作,实现讲师量化考核的自动化处理,节省人力、物力,已经对传统的讲师考评方式产生强烈的冲击,时刻要求新的考评系统诞生。在计算机技术逐渐渗入社会生活各个层面的今天,传统的考评方式也面临着变革,而讲师考评系统则是一个很重要的方向。该系统为了评价讲师的教学工作,使得可以简化管理工作的强度,提高管理效率。系统采用B/S体系结构,J2EE开发体系的采用,提高了系统的适应性,该系统支持各种操作系统平台,设计基于WEB技术的开发应用系统和基于MYSQL的数据库系统,通过JSP技术来开发动态页面。讲师考核,是人力资源管理中的枢纽与闸门,是一项制度性的工作,它是组织提升团队绩效的最有力手段。由于考核工作涉及面广、程序复杂、效果控制困难,所以许多企业都迫切希望有一套实用的、易操作的绩效考核方法和软件工具。讲师考评系统是根据人力资源管理理论,结合国内企业(特别是中小企业)的人力资源管理现状,采用MVC模块化的方式,用系统的方法评价讲师岗位工作表现、工作效率和效果,使企业在不需要对本组织机构和工作流程作出调整就可以引入人力资源管理的思想和软件工具,引导了讲师的工作行为,改善讲师的工作表现和工作效果,从而提高企业的整体工作效率和工作质量,实现企业的经营发展目标。系统的设计主要抓住占讲师80的工作精力和时间的工作行为和工作结果进行考察、检查和考评,不求面面俱到;在操作上尽量简便和实用,方便使用。另外,系统具备实现多级审核机制,能客观地反映讲师工作的实际情况,在同一岗位采用相同的考评标准,确保考核内容一致。2、开发环境及开发工具21ECLIPSE概述ECLIPSE是一个很让人着迷的开发环境,它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发工具方面的插件,但是ECLIPSE已经超越了开发环境的概念,可以想象ECLIPSE将成为未来的集成的桌面环境。目前的ECLIPSE本身就具备资源管理和外部程序的功能,加上无所不能的插件,将构成一个丰富多彩的工作环境而不仅仅是一个IDE。ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。虽然大多数用户很乐于将ECLIPSE当作JAVAIDE来使用,但ECLIPSE的目标不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。基于ECLIPSE的应用程序的突出例子是IBM的WEBSPHERESTUDIOWORKBENCH,它构成了IBMJAVA开发工具系列的基础。例如,WEBSPHERESTUDIOAPPLICATIONDEVELOPER添加了对JSP、SERVLET、EJB、XML、WEB服务和数据库访问的支持。ECLIPSE最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的ECLIPSE代码基础,包括PLATFORM、JDT和PDE。目前由IBM牵头,围绕着ECLIPSE项目已经发展成为了一个庞大的ECLIPSE联盟,有150多家软件公司参与到ECLIPSE项目中,其中包括BORLAND、RATIONALSOFTWARE、REDHAT及SYBASE等。ECLIPSE是一个开发源码项目,它其实是VISUALAGEFORJAVA的替代品,其界面跟先前的VISUALAGEFORJAVA差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括ORACLE在内的许多大公司也纷纷加入了该项目,并宣称ECLIPSE将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。211ECLIPSE的特点LECLIPSE是开放源代码的软件。这意味着ECLIPSE不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。2ECLIPSE是真正可扩展并可配置的。ECLIPSE采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。目前,互联网上免费的、收费的插件遍地开花,插件开发工作在国内外也如火如荼。3ECLIPSE支持众多的开发语言而不仅仅是JAVA。ECLIPSE只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得ECLIPSE支持多种语言成为可能。只要安装相应语言的插件,ECLIPSE就可以支持该种语言的开发。目前,ECLIPSE已经可以支持C、COBOL、PHP、PERL、PYTHON等多种语言。4ECLIPSE提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如WINDOWS、LINUX、MACOS等。ECLIPSE对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。5基于业界领先的OSGI规范。OSGI规范最早由SUNMICROSYSTEMS、IBM、爱立信等于1999年推出,其服务平台包括服务网关、汽车、移动电话、工业自动化、建筑物自动化、PDA网格计算、娱乐(如IPRONTO)和IDE等。基于OSGI的系统以微内核形式运行,因而能够轻松实现软件业界梦寐以求的可热插拔、动态改变行为、稳定高效的系统。ECLIPSE从31开始,毅然抛弃了其原有的已经获得业界认可的框架,采用OSGI作为其架构。从ECLIPSE32版本开始,ECLIPSE提供了基于OSGI开发的支持,开发者可以利用其开发基于OSGI的系统了。6ECLIPSE美轮美奂的人机界面受到广泛赞誉。ECLIPSE提供了全新的SWT/JFACEAPI(而不是AWT/SWING),一改SWT/SWING单调、沉闷的界面风格,使得开发基于本地的具有丰富图形界面的应用程序成为可能,犹如一股春风吹进JAVA的桌面开发领域,给人耳目一新的感觉。7ECLIPSE由业界领先者推出,具有强大的行业力量。ECLIPSE基金会吸收了大量学术研究机构、商业组织,领导ECLIPSE的长远规划和发展,并确保ECLIPSE处于软件工具行业的领先地位。212ECLIPSE的环境配置(1)先装J2SDK1_4_2_06WINDOWSI586PEXE配置好(2)在装JAKARTATOMCAT5028EXE(3)在装MYECLIPSEENTERPRISEWORKBENCHINSTALLER_40GA_E31EXE213ECLIPSE体系结构ECLIPSE平台体系结构主要由5部分组成,分别是平台运行库、工作区、工作台、团队支持和帮助。图11为ECLIPSE体系结构图。在运行时内核是整个架构的核心,其他部件都是以插件方式来实现的。ECLIPSE采用动态加载机制,即只有需要的才加载,这样可以降低启动时间,提高资源使用效率。工作空间插件即所谓的工作区,主要负责管理用户资源,例如用户创建项目的管理、文件变更等,并负责通知其他插件关于资源变更的信息。工作台插件是ECLIPSE提供的用户界面。它使用标准窗口工具包(SWT)和一个更高级的API(JFACE)构建的。SWT是JAVA的SWING/AWT的非标准替代者,JFACE则以SWT为基础,但更易于使用。团队支持插件负责提供版本控制和配置管理支持。它允许用户根据需要添加视图,并与允许用户使用的任何版本控制系统交互。帮助插件允许以HTML文件形式添加文档,并提供了一个附加的导航结构以便用户使用帮助功能搜索相关信息。214ECLIPSEMYECLIPSE简单而言,MYECLIPSE是ECLIPSE的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。GENUITEC发布了MYECLIPSEENTERPRISEWORKBENCH50,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EEIDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/STRUTSDESIGNER、可视化的HIBERNATE/ORM工具、SPRING和WEBSERVICES支持,以及新的ORACLE数据库开发,MYECLIPSE50继续为业界提供全面的产品。22MYSQL概述MYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQLAB公司。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。221MYSQL的应用与其他的大型数据库例如ORACLE、DB2、SQLSERVER等相比,MYSQL自有它的不足之处,如规模小、功能有限(MYSQL不支持视图(已经被列入51版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MYSQL提供的功能已经绰绰有余,而且由于MYSQL是开放源码软件,因此可以大大降低总体拥有成本。目前INTERNET上流行的网站构架方式是LAMP即LINUXAPACHEMYSQLPHP,即使用LINUX作为操作系统,APACHE作为WEB服务器,MYSQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。222MYSQL的功能1使用C和C编写,并使用了多种编译器进行测试,保证源代码的可移植性2支持AIX、FREEBSD、HPUX、LINUX、MACOS、NOVELLNETWARE、OPENBSD、OS/2WRAP、SOLARIS、WINDOWS等多种操作系统3为多种编程语言提供了API。这些编程语言包括C、C、EIFFEL、JAVA、PERL、PHP、PYTHON、RUBY和TCL等。4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的SHIFT_JIS等都可以用作数据表名和数据列名223MYSQL管理可以使用命令行工具管理MYSQL数据库(命令MYSQL和MYSQLADMIN,也可以从MYSQL的网站下载图形管理工具MYSQLADMINISTRATOR和MYSQLQUERYBROWSER。PHPMYADMIN是由PHP写成的MYSQL资料库系统管理程式,让管理者可用WEB介面管理MYSQL资料库。PHPMYBACKUPPRO也是由PHP写成的,可以透过WEB介面创建和管理数据库。它可以创建伪CRONJOBS,可以用来自动在某个时间或周期备份MYSQL数据库。提供TCP/IP、ODBC和JDBC等多种数据库连接途径,提供用于管理、检查、优化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库3、技术需求分析31系统设计思想该考评系统是针对以往比较耗费人力物力的讲师考评方式进行的一种改革,利用日益发展迅速的网络进行讲师的考评工作,极大的降低了以往所需的成本,提高了考评的效率,该系统用JSP进行外部界面的开发,同时运用STRUTS,SPRING,HIBERNATE等技术,在ECLIPSE中进行系统的开发研制32系统界面技术需求JSP321JSP概述JSP技术可以以一种简捷而快速的方法生成WEB页面。使用JSP技术的WEB页面可以很容易地显示动态内容。JSP技术的设计目的是使得构造基于WEB的应用程序更加容易和快捷,而这些应用程序能够与各种WEB服务器、应用服务器、浏览器和开发工具共同工作。322JSP功能及应用在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个SERVLET。而这个引擎本身也是一个SERVLET。JSP的运行过程如下所示(1)JSP引擎先把该JSP文件转换成一个JAVA源文件(SERVLET),在转换时如果发现JSP文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息。(2)如果转换成功,JSP引擎用JAVAC把该JAVA源文件编译成相应的CLASS文件。(3)创建一个该SERVLET(JSP页面的转换结果)的实例,该SERVLET的JSPINIT方法被执行,JSPINIT方法在SERVLET的生命周期中只被执行一次。(4)JSPSERVICE方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但不过也应该注意多线程的编程限制,由于该SERVLET始终驻于内存,所以响应是非常快的。(5)如果JSP文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的SERVLET,并继续上述处理过程。(6)虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将SERVLET从内存中移去。当这种情况发生时JSPDESTROY方法首先被调用。(7)然后SERVLET实例便被标记加入“垃圾收集”处理。可在JSPINIT中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在JSPDESTORY中释放相应的资源。323JSP实现技术1简便性和有效性JSP动态网页的编写与一般的静态HTML的网页编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(此项不是必需的)。这样,一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。而且开发人员完全可以不自己编写脚本程序,而只是通过JSP独有的标签使用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者,完全可以利用JSP做出漂亮的动态网页。而这在其他的动态网页开发中是不可实现的。2程序的独立性JSP是JAVAAPI家族的一部分,它拥有一般的JAVA程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性,即WRITEONCE,RUNANYWHERE。3程序的兼容性JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(例如,移动电话和个人数字设备PDA),再到使用XML的B2B应用,都可以使用JSP的动态页面。4程序的可重用性在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准JAVABEANS程序库就是一个很好的例证。33系统的功能技术要求STRUTS331STRUTS概述STRUTS就是在JSPMODEL2的基础实现了MVC设计模式的WEBFRAMEWORK。基于STRUTS构架的WEB应用程序基本上符合JSPMODEL2的设计标准,可以说是MVC设计模式的一种变化类型。整个STRUTS大约有15包,近200个类所组成。332STRUTS功能及应用STRUTS由一组相互协作的类、SERLVET以及丰富的标记库JSPTAGLIB和独立于该框架工作的实用程序类VALIDATOR组成。STRUTS有其自己的控制器(CONTROLLER),同时整合了其他的一些技术去实现模型层(MODEL)和视图层(VIEW)。在模型层,STRUTS可以很容易的与数据访问技术相结合,包括EJB,JDBC和OBJECTRELATIONBRIDGE。在视图层,STRUTS能够与JSP,VELOCITYTEMPLATES,XSL等等这些表示层组件想结合。1从视图角度(VIEW)主要由JSP建立,STRUTS自身包含了一组可扩展的自定义标签库TAGLIB,可以简化创建用户界面的过程。目前包括BEANTAGS,HTMLTAGS,LOGICTAGS,NESTEDTAGS,TEMPLATETAGS这几个TAGLIB。有关它们的详细资料请参考STRUTS用户手册2从模型角度(MODEL)模型主要是表示一个系统的状态(有时候,改变系统状态的业务逻辑操作也也划分到模型中)。在STRUTS中,系统的状态主要有ACTIOMFORMBEAN体现,一般情况下,这些状态是非持久性的。如果需要将这些状态转化为持久性数据存储,STRUTS本身也提供了UTITLE包,可以方便的与数据库操作3从控制器角度(CONTROLLER)在STRUTSFRAMEWORK中,CONTROLLER主要是ACTIONSERVLET,但是对于业务逻辑的操作则主要由ACTION、ACTIONMAPPING、ACTIONFORWARD这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,ACTION扮演了真正的业务逻辑的实现者,而ACTIONMAPPING和ACTIONFORWARD则指定了不同业务逻辑或流程的运行方向。333STRUTS实现技术其实我们自己也可以实现类似于STRUTS的框架,那为什么要使用STRUTS呢STRUTS是一个开放原代码的应用框架,在最近几年得到了飞速的发展,在JSPWEB应用开发中应用得非常广泛,有的文献上说它已经成为JSPWEB应用框架的事实上的标准。下面列举的这些理由是显而易见的首先,它是建立在MVC这种公认的好的模式上的,STRUTS在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;其次,它是个开源项目得到了包括它的发明者CRAIGRMCCLANAHAN在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;最后,是它对其他技术和框架显示出很好的融合性。如,现在,它已经与TILES融为一体,可以展望,它很快就会与JSF等融会在一起。1优点STRUTS跟TOMCAT、TURBINE等诸多APACHE项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,STRUTS的优点主要集中体现在两个方面TAGLIB和页面导航。TAGLIB是STRUTS的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许STRUTS是一个很好的起点。关于页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。2缺点TAGLIB是STRUTS的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是当你习惯了它时,你会觉得它真的很棒;STRUTS将MVC的CONTROLLER一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度;它对类和一些属性、参数的命名显得有些随意,给使用带来一些不便34系统功能实现技术需求HIBERNATE,SPRING341构建HIBERNATEHIBERNATE基础代码包括POJO在HIBERNATE语义中理解为数据库表所对应的DOMAINOBJECT。这里的POJO就是所谓的“PLAINORDINARYJAVAOBJECT”,字面上来讲就是无格式普通JAVA对象,简单的可以理解为一个不包含逻辑代码的值对象(VALUEOBJECT简称VO)。HIBERNATE从本质上来讲是一种“对象关系型数据映射”(OBJECTRELATIONALMAPPING简称ORM)。前面的POJO在这里体现的就是ORM中OBJECT层的语义,而映射(MAPPING)文件则是将对象(OBJECT)与关系型数据(RELATIONAL)相关联的纽带,在HIBERNATE中,映射文件通常以“HBMXML”作为后缀。342HIBERNATE特性XDOCLET实现基本原理是,通过在JAVA代码加入特定的JAVADOCTAG,从而为其添加特定的附加语义,之后通过XDOCLET工具对代码中JAVADOCTAG进行分析,自动生成与代码对应的配置文件,XDOCLET。在HIBERNATEDOCLET中,通过引入HIBERNATE相关的JAVADOCTAG,我们就可以由代码生成对应的HIBERNATE映射文件。343SPRING概述SPRING是JAVA平台上的一个开源应用框架。SPRING框架本身并没有强制实行任何特别的编程模式。为此,SPRING获得了广泛的欢迎,并被许多公司认可为具有战略意义的重要框架。SPRING框架是一个分层架构,由7个定义良好的模块组成。SPRING模块构建在核心容器之上,核心容器定义了创建、配置和管理BEAN的方式。344SPRING功能及应用组成SPRING框架的每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下核心容器核心容器提供SPRING框架的基本功能。核心容器的主要组件是BEANFACTORY,它是工厂模式的实现。BEANFACTORY使用控制反转IOC模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。SPRING上下文SPRING上下文是一个配置文件,向SPRING框架提供上下文信息。SPRING上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。SPRINGAOP通过配置管理特性,SPRINGAOP模块直接将面向方面的编程功能集成到了SPRING框架中。SPRINGDAOJDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量。SPRINGORMSPRING框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、HIBERNATE和IBATISSQLMAP。SPRINGWEB模块WEB上下文模块建立在应用程序上下文模块之上,为基于WEB的应用程序提供了上下文。SPRINGMVC框架MVC框架是一个全功能的构建WEB应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、VELOCITY、TILES、ITEXT和POI。组成SPRING框架的每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下核心容器核心容器提供SPRING框架的基本功能。核心容器的主要组件是BEANFACTORY,它是工厂模式的实现。BEANFACTORY使用控制反转IOC模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。SPRING上下文SPRING上下文是一个配置文件,向SPRING框架提供上下文信息。SPRING上下文包括企业服务。SPRINGAOP通过配置管理特性,SPRINGAOP模块直接将面向方面的编程功能集成到了SPRING框架中。SPRINGDAOJDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量例如打开和关闭连接。SPRINGDAO的面向JDBC的异常遵从通用的DAO异常层次结构。SPRINGORMSPRING框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、HIBERNATE和IBATISSQLMAP。所有这些都遵从SPRING的通用事务和DAO异常层次结构。SPRINGWEB模块WEB上下文模块建立在应用程序上下文模块之上,为基于WEB的应用程序提供了上下文。SPRINGMVC框架MVC框架是一个全功能的构建WEB应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、VELOCITY、TILES、ITEXT和POI。4TARENA讲师考评系统需求分析41系统设计思想讲师考评系统是利用网络技术,实现学生与教师之间进行网络交流的重要平台,是高等教学机构和企业培训机构的一个重要组成部分。整个系统采用B/S结构,服务器端采用了JSP和STRUTS以及SPRING技术完成动态页面的生成,运用HIBERNATE访问数据库。系统实现原理如图41示。学生STUDENT项目经理MANAGERADMINMENAGER客户端服务器数据库讲师TEACHER班主任MONITOR图41系统实现原理42系统界面要求系统的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面,因此系统主页面应该能自动进行身份判别,按照访问者的身份自动进入其相应的操作界面,流程如图42所示。YNYNYADMINMANAGERTEACHER/项目经理/班主任开始ADMIN操作界面MANAGER操作界面TEACHER/项目经理/班主任操作界面N图42操作界面流程图43TARENA讲师考评系统要求本系统应具有通常考评系统应该具有的所有功能,包括各种角色的登录,登录后进行相应的界面操作,其中ADMIN的权限最大,可添加删除其他的角色,并对他们进行调查。其次是MANAGER,能对其他TEACHER,项目经理进行调查。而TEACHER和项目经理只能调查学生对自己的评分结果,学生只能点评相应的老师和项目经理。要采取适当的技术优化这类数据操作,以提高数据存取效率。44TARENA讲师考评系统角色及其功能分析1TARENA讲师考评系统具有的角色1ADMIN2MANAGER3班主任4TEACHER5项目经理6学生2TARENA讲师系统角色的功能分析1、ADMIN具有的功能调查管理,老师管理,项目经理管理,班主任管理,管理员管理,课程管理,班级管理,修改密码,退出系统。2、MANAGER具有的功能审核调查,搜索调查,统计报表,修改密码,退出系统。结束3、班主任具有的功能开启调查,搜索调查,修改密码,退出系统。4、TEACHER/项目经理具有的功能搜索调查,修改密码,退出系统。5、学生具有的功能对自己的老师,项目经理进行点评。3角色功能表1ADMIN具有的功能调查管理,老师管理,项目经理管理,班主任管理,管理员管理,课程管理,班级管理,修改密码,退出系统。ADMIN调查管理添加班级管理员管理开始调查调查列表搜索调查添加管理员管理员列表班级管理ADMIN班级列表添加班级类型班级类型列表老师管理项目经理管理班主任管理课程管理添加老师老师列表添加项目经理项目经理列表添加班主任班主任列表添加课程课程列表修改密码退出系统管理员添加管理员3MANAGER具有的功能审核调查,搜索调查,统计报表,修改密码,退出系统。MANAGER审核调查搜索调查统计报表修改密码退出系统讲师项目经理月报表季报表年报表管理员列表3班主任具有的功能开启调查,搜索调查,修改密码,退出系统4TEACHER/项目经理具有的功能搜索调查,修改密码,退出系统。老师搜索调查修改密码班主任开启调查搜索调查修改密码退出系统(5)学生具有的功能对自己的老师,项目经理进行点评。MYSQL建表语句建数据库POLL;CREATEDATABASEPOLLDEFAULTCHARACTERSETUTF8退出系统项目经理搜索调查修改密码退出系统学生点评老师项目经理建班级类型表CLASSES_TYPE;CREATETABLECLASSES_TYPEIDINT8AUTO_INCREMENT,TYPEVARCHAR40NOTNULL,PRIMARYKEYIDENGINEINNODBDEFAULTCHARSETUTF8;建项目经理调查表PM_POLLCREATETABLEPM_POLLIDINT10NOTNULLAUTO_INCREMENT,TEACHER_IDINT4DEFAULTNULL,CLASSES_IDINT3DEFAULTNULL,CREATED_DATEDATEDEFAULTNULL,CHECKED_DATEDATEDEFAULTNULL,CHECKED_PERSON_IDINT4DEFAULTNULL,STATUSVARCHAR10DEFAULTNULL,AMOUNTINT2DEFAULTNULL,AVAILABLE_NUMINT2DEFAULTNULL,TOTALSCOREINT5DEFAULTNULL,AVG_SCOREDOUBLEDEFAULTNULL,PRIMARYKEYID,FOREIGNKEYTEACHER_IDREFERENCESPERSONIDONDELETECASCADE,FOREIGNKEYCLASSES_IDREFERENCESCLASSESIDONDELETECASCADEENGINEINNODBDEFAULTCHARSETUTF8建项目经理调查条目表PM_POLL_LINECREATETABLEPM_POLL_LINEIDINT10AUTO_INCREMENT,PM_POLL_IDINT10DEFAULTNULL,C1INT2DEFAULTNULL,C2INT2DEFAULTNULL,C3INT2DEFAULTNULL,C4INT2DEFAULTNULL,C5INT2DEFAULTNULL,C6INT2DEFAULTNULL,C7INT2DEFAULTNULL,C8INT2DEFAULT0,C9INT2DEFAULT0,C10INT2DEFAULT0,Q1TEXT,Q2TEXT,AVGSCOREDOUBLEDEFAULTNULL,ISVALIDVARCHAR10DEFAULTNULL,PRIMARYKEYID,FOREIGNKEYPM_POLL_IDREFERENCESPM_POLLIDONDELETECASCADEENGINEINNODBDEFAULTCHARSETUTF8SETFOREIGN_KEY_CHECKS0建班级表CLASSESCREATETABLECLASSESIDINT11NOTNULLAUTO_INCREMENT,NAMEVARCHAR20NOTNULL,TYPESVARCHAR20DEFAULTNULL,CLASSIPVARCHAR30DEFAULTNULL,STATUSINT1UNSIGNEDDEFAULT0,PRIMARYKEYIDCLASSESTYPE_IDINTREFERENCESCLASSES_TYPEID,ENGINEINNODBDEFAULTCHARSETUTF8建课程表COURSECREATETABLECOURSEIDINT2NOTNULLAUTO_INCREMENT,NAMEVARCHAR20NOTNULL,DESCRIPTIONVARCHAR100DEFAULTNULL,PRIMARYKEYIDENGINEINNODBDEFAULTCHARSETUTF8建用户表PERSONCREATETABLEPERSONIDINT4NOTNULLAUTO_INCREMENT,NAMEVARCHAR20NOTNULL,PASSWORDVARCHAR20DEFAULTNULL,FLAGVARCHAR1DEFAULTNULL,PRIMARYKEYIDENGINEINNODBDEFAULTCHARSETUTF8建讲师调查表POLLCREATETABLEPOLLIDINT10NOTNULLAUTO_INCREMENT,TEACHER_IDINT4DEFAULTNULL,COURSE_IDINT2DEFAULTNULL,CLASSES_IDINT3DEFAULTNULL,CREATED_DATEDATEDEFAULTNULL,CHECKED_DATEDATEDEFAULTNULL,CHECKED_PERSON_IDINT4DEFAULTNULL,STATUSVARCHAR10DEFAULTNULL,AMOUNTINT2DEFAULTNULL,AVAILABLE_NUMINT2DEFAULTNULL,TOTALSCOREINT5DEFAULTNULL,AVG_SCOREDOUBLEDEFAULTNULL,PRIMARYKEYIDENGINEINNODBDEFAULTCHARSETUTF8建讲师调查条目表POLL_LINECREATETABLEPOLL_LINEIDINT10NOTNULLAUTO_INCREMENT,POLL_IDINT10DEFAULTNULL,C1INT2DEFAULTNULL,C2INT2DEFAULTNULL,C3INT2DEFAULTNULL,C4INT2DEFAULTNULL,C5INT2DEFAULTNULL,C6INT2DEFAULTNULL,C7INT2DEFAULTNULL,C8INT2DEFAULTNULL,C9INT2DEFAULTNULL,C10INT2DEFAULTNULL,C11INT2DEFAULTNULL,C12INT2DEFAULTNULL,C13INT2DEFAULTNULL,C14INT2DEFAULTNULL,Q1TEXT,Q2TEXT,AVGSCOREDOUBLEDEFAULTNULL,ISVALIDVARCHAR10DEFAULTNULL,PRIMARYKEYID,KEYPOLL_LINE_POLLID_FKPOLL_ID,CONSTRAINTPOLL_LINE_IBFK_1FOREIGNKEYPOLL_IDREFERENCESPOLLIDONDELETECASCADEONUPDATECASCADEENGINEINNODBDEFAULTCHARSETUTF8实体类类名BASEENTITYIMPLEMENTSSERIALIZABLE属性名属性类型注释IDLONGID标志类名CLASSESEXTENDSBASEENTITY属性名属性类型注释NAMESTRING班级名称TYPESSTRING班级类型CLASSIPSTRING班级的IP地址段STATUSINT状态是否毕业CLASSESTYPECLASSESTYPE班级所属类型类名CLASSESTYPEEXTENDSBASEENTITY属性名属性类型注释TYPESTRING班级类型名字LISTCLASSES班级集合类名COURSEEXTENDSBASEENTITY属性名属性类型注释NAMESTRING课程名称DESCRIPTIONSTRING课程描述类名MONTHSTATISTICSEXTENDSBASEENTITY属性名属性类型注释STATISTICSLISTLIST月的统计表集合TEACHERNAMESTRING老师姓名AVGSCOREDOUBLE平均分TYPESTRING状态是否审核类名PERSONEXTENDSBASEENTITY属性名属性类型注释NAMESTRING姓名PASSWORDSTRING密码FLAGSTRING标志角色标记类名PMPOLLEXTENDSBASEENTITY属性名属性类型注释TEACHERPERSON项目经理CLASSESCLASSES班级CHECKPERSONPERSON审查人CREATEDDATEDATE创建时间CHECKEDDATEDATE核查时间STATUSSTRING状态AMOUNTINT总份数AVAILABLENUMBERINT有效份数TOTALSCOREINT总分AVGSCOREDOUBLE平均分POLLEDNUMBERINT已提交过的调查的人数PMPOLLLINESSET项目经理调查条目集合类名PMPOLLLINEEXTENDSBASEENTITY属性名属性类型注释PMPOLLP

温馨提示

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

评论

0/150

提交评论