JEE的教学评估系统设计 计算机专业毕业设计 毕业论

上传人:wj****e 文档编号:67925033 上传时间:2022-04-01 格式:DOC 页数:36 大小:243KB
返回 下载 相关 举报
JEE的教学评估系统设计 计算机专业毕业设计 毕业论_第1页
第1页 / 共36页
JEE的教学评估系统设计 计算机专业毕业设计 毕业论_第2页
第2页 / 共36页
JEE的教学评估系统设计 计算机专业毕业设计 毕业论_第3页
第3页 / 共36页
点击查看更多>>
资源描述
摘 要基于计算机和网络的教学管理,可有效监控教学质量,提高教学管理水平,相关系统的开发设计已引起关注,本课题就是基于J2EE技术,开发设计的教学评估系统。首先,从教学评估系统的需求入手,确定了系统的模块结构,设计了教学评估系统的指标体系。我们使用UML技术设计了系统静态和动态的设计模型,使用用例图描述了系统的功能和操作者;使用类图描述了系统的静态结构,分别设计了系统中实体BEAN,控制BEAN,基础BEAN并在实现部分给出了典型的实现细节;时序图用来显示对象之间的关系,强调对象之间的消息的时间顺序,同时显示对象之间的交互,文中分析了较复杂的学员投票功能的时序图。根据数据库的规范化设计理论设计了系统的数据库结构,在设计中通过适当的增加冗余大大提高了系统的查询速度,论文给出了数据库关系图1。其次,介绍了系统的实现,分析了几个典型的业务逻辑封装的实现细节、几个典型的交互界面的实现细节和实际界面展示,以及应用系统在Tomcat上的部署。系统实现已达预期目标,满足了教学评估的基本要求,系统具有友好的交互界面,对学院教学质量和管理水平的提高起来积极的作用。关键词:Struts Hibernate Spring UMLAbstractBased on the teaching management of computer and network, We can effectively control the quality of teaching and improve teaching management. Developing and designing of correlative system has attracted peoples attention. This subject is based on J2EE technology, It Designs the Educational Evaluation System.First, Start on the demand analysis of the Education Evaluation System, We design the systems module structure. We designe a static and dynamic design model using UML, It describes the systems functions and operators using use case diagram, and describes the static structure using class diagram, We design the Entity JavaBean, Control JavaBean, based JavaBean, and give the typical details of classs implementation. Sequence Diagrams are used to describe the relationship between objects. It emphasizes the messages time sequence between objects, It also shows the interaction between objects, This paper analyzes the comples sequence Diagrams of student votion. We design the database structure using normalization of Relation Database, Query speed is greatly enhanced by means of appropriate increasing redundancy in the design, This paper also gives the database diagram of the system11.Secondly, The paper introduces the system implementation, and analysis the several typical implementation details of business logic Package, Several typical interface implementation details. It shows the actual interface, and introduces the deplovment of application system in Tomcat.The system has been completed, Actual using shows that it achieves the desired goal, and meets the basic requirements of the educational improving the teaching quality and management level.KEY WORD:Struts Hibernate Spring UML目 录1.绪论11.1.课题研究背景11.2.相关技术研究动态11.3.课题研究的目的和意义21.4.研究内容及章节安排22.系统相关技术32.1.市场调查报告32.2.相关技术讨论与比较32.2.1.基于J2EE的Struts技术32.2.2.基于J2EE的Hibernate技术42.2.3.基于J2EE的Spring技术42.3.关于三层框架的关系与在本系统中的应用52.4.UML建模的使用52.5.本方案软件选择与分析53.需求分析73.1.总体需求73.2.系统的业务处理流程73.3.系统的功能模块73.4.系统用例模型93.5.类模型113.6.动态模型133.7.评估指标设计134.系统设计154.1.平台的选择154.2.数据库设计154.2.1.ER图154.2.2.逻辑结构设计174.3.数据库实现174.3.1.创建表174.3.2.具体表结构184.4.前台子系统204.5.后台管理子系统204.6.后台评估子系统225.系统的实现245.1.平台的搭建245.1.1.添加Strust支持245.1.2.添加Spring支持265.1.3.添加Hibernate支持265.2.过滤器的添加285.3.乱码的处理285.4.防盗链处理285.5.加入log4j.properties295.6.登录模块的实现295.7.系统维护模块的实现305.7.1.Excel表信息的导入345.7.2.关于POJO中类与表的映射355.8.学生评估模块的实现355.9.应用程序的部署385.10.系统的使用方法396.结论43参考文献44致谢451. 绪论1.1. 课题研究背景历史的车轮将我们载入了信息化和知识经济的时代。计算机网络为教育机构提供了一个崭新的平台。由于信息及相关技术的飞速发展,利用计算机网络进行校园信息管理与业务操作已经成为可能。随着评估意识觉醒,人们不再盲目地工作;而是借着评估积极探索着:为什么而做?做了什么?做得如何?这种评估意识的觉醒深刻影响着社会生活的各个领域。人们已经充分认识到:评估是科学决策、质量控制的重要手段之一,缺少了评估这一环节,往往会导致重复建设、低水平建设和无效益建设,因此多年来,国外对评估工作十分重视,在几乎所有的建设项目中,评估均占有举足轻重的地位,往往是以评估开始,也以评估结束。对网络教学系统的建设问题,评估也有着重要的意义和作用。在系统建设之前,评估工作能帮助人们发现、确定社会对有关项目的需求和目标,进而分析研究对应的课程建设事宜。同时,对建设方案的评估会帮助决策部门科学地选择最恰当的建设方案,最大效益地使用有限的建设资金;在建设过程中的评估,有助于投资部门科学地监测项目的进度、建设水平等,借以掌握必要的主动权;对建设完成的网络教学系统的评估,不仅能较好地反映决策、投资效益,为下一个建设项目提供参考,而且能帮助广大学员了解系统的功能、作用及特点,从而选择最佳的学习手段,提高学习效益。在新需求的推动下,自动化、人性化、易于操作与管理的教务平台应运而生,本课题中我们所设计和开发的这款产品正是在这个大背景下应运而生的2。1.2. 相关技术研究动态J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务.因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择6。1.3. 课题研究的目的和意义本课题的提出也正是基于上述想法,意在开发一个面向校园的一个教学评估系统,它的出发点必须是实用,操作简单,界面友好,能很好的减轻教师员工的工作量,起到一个学生与教师交流的一个沟通平台。另外也是为了锻炼自己,加强对相关技术的掌控能力,了解内部的运行原理。1.4. 研究内容及章节安排本论文拟从以下几个部分撰写:第一章绪论是对将要开发的项目的一个综述。主要研究了课题的研究背景,相关技术研究动态,课题研究目的与意义。第二章介绍了本课题中会用到的相关技术,以及技术之间的对比,优势与缺点等。之后还讨论了开发过程中会用到的一些建模工具等。第三章介绍了本课题的需求分析,相关技术的讨论,以及结合本课题所作的大体思维框架。第四章进行了课题的具体设计,平台的选择,数据库的设计,静态图,动态图等。第五章对前面的设计思路进行了实现,描述了各项技术的开发细节。第六章是总结与展望。2. 系统相关技术2.1. 市场调查报告市场上有一些成熟的教学评估的产品,但这些品在多是根据不同大学需求定制的,伸缩性不强,对于本课题的要求显得功能不足,比如联创数码普通高校教学评估系统南京科建本科教学评估管理系统都是使用较为广泛的评估系统,但这些系统都是针对教育部是新颁发的普通高等学校本科教学工作水平评估方案而开发的系统,系统主要是电子文档管理、档案管理、基本数据管理、数据查询、数据统计等,而在学员对老师教学效果的评价却很少涉及,即使涉及也不是学员通过网络对教师的教学效果进行评价。2.2. 相关技术讨论与比较2.2.1. 基于J2EE的Struts技术随着JSP技术的成熟,越来越多的开发人员开始使用Web应用框架。框架为Web应用提供了预备的软件架构和相关的软件包,它大大提高了开发Web应用的速度和效率。现在,当开发人员开始一个新的项目时,他们首先考虑的问题不是“我们是否需要框架”,而是我们应该使用什么样的框架。本系统将采用Struts框架来对整个系统进行业务逻辑的控制,它负责对不同的表单需求进行分发,传送到相应的Action中去进行处理,完成后再负责把结果数据传送回相应的结果页面1。但这种功能是不是只有Struts才能完成呢,当然不是。JSP + JavaBean可以完成,JSP + Servlet也可以完成,但为什么我们要选择Struts框架呢?在这之前我们应该先了解一下什么是MVC的设计模式,MVC设计模式强制性的吧应用程序的输入、处理和输出分开。它把应用程序分成三个核心模块:模型、视图和控制器,它们分别负责不同的任务。视图显示模型状态,接受数据更新请求,把用户输入数据付给控制器;控制器接受用户请求,调用模型响应用户请求,选择视图显示响应结果;最后模型代表应用程序状态,响应状态查询处理业务流程,通知视图业务状态更新。了解了MVC模式之后我们了解到它的作用主要是使我们的程序独立性更高,更加模块化,各个层独立完成自己的任务,耦合低,一个部分出错后,其它部分不会受到影响,这样我们写出来的程序就更加清晰了8。以上提到的JSP + JavaBean或 JSP + Servlet也可以完成相应的功能,但Jsp + JavaBean的缺点是Java代码全部嵌套在JSP页面里边,这样一旦出现问题,将会很难从HTML与JAVA混合的页面出找出错误。JSP + Servlet这种模式Servlet虽然可以起到一个控制作用,但Servlet中的代码不够灵活,往往跳转语句是一些硬代码,这样如果以后出现业务逻辑的改变,就需要改变很多的代码,Struts用XML文件保存了会动态改变的一些跳转语句与一些国际化的参数,这样如果程序要改变,只需要简单的改变XML文件即可。Struts帮我们完成了很多重复性的工作,提高我们的工作效率,当然程序也更加健壮3。2.2.2. 基于J2EE的Hibernate技术我们知道,任何网络系统都会涉及到数据库的使用,以往框架还没有出现时,程序员们往往会自己把经常使用的对数据的操作封装到类中,在业务逻辑层使用时就可以直接调用,十分方便,缺点就是不同程序员由于技术上的差别,所以导致出现代码不够健壮,程序不稳定,效率不高等问题,随着技术的发展,Hibernate应运而生。但它是干什么的呢?在Java领域,可以直接通过JDBC编程来访问数据库。JDBC可以说是访问关系数据库的最原始、最直接的方法。这种方式的优点是运行效率高,缺点是在Java程序代码中嵌入大量的SQL语句,使用项目难以维护。在开发企业级应用时,可以通过JDBC编程来开发单独的持久化层,把数据库访问操作封装起来,提供简洁的API,供业务层统一调用。但是如果关系数据模型复杂,那么直接通过JDBC编程来实现持久化层需要有专业的知识。对于企业应用开发人员,花费大量时间从头开发自己的持久化层不是很可行。幸运的是,目前在持久化层已经有好多种现成的持久化中间件可供选用,有些是商业性的,如TopLink;有些是非商业性的,如JDO和Hibernate。Hibernate是一个基于Java的开源代码中间件,它对JDBC做了轻量级封装,不公提供ORM映射服务,还提供数据查询和数据缓存功能,Java开发人员可以方便地通过Hiberante API开操纵数据库3。2.2.3. 基于J2EE的Spring技术有了Struts作为一个“管家”似的来管理业务逻辑的分配,有Hibernate作为数据底层的操作封装,似乎我们不需要其它的技术来支持我们系统了,看似比较完美了,但我们为了简化应用程序的设计,我们还应该引入一项技术,它就是Spring。作为JavaEE中最核心的EJB技术,也一度成为JavaEE应用的核心。不幸的是,EJB带来了全新的企业级开发模型的同时,也带来了不必要的复杂性:复杂的接口,难于测试和部署。越来越多的开发人员不断反思EJB开发的复杂性,并试图以更简单的Java技术来简化JavaEE应用的开发。Spring提出了以JavaBean为组件模型、针对接口编程、使用依赖注入等许多优秀的设计思想,并且Sping可以无缝整合许多流行框架,如Struts、Hibernate等。人们很快意识到以Sping框架为基础来开发JavaEE应用程序可以大大简化应用程序的设计、调用和部署,并得到一个松散耦合的系统架构。因此,Sping得到了越来越广泛的应用。2.3. 关于三层框架的关系与在本系统中的应用本系统采用Struts来进行一个全局的掌控,它管理调用由Hibernate封装的底层功能对象,Spring用来创建所有在系统中会被用来的对象,它的基本理念与设计模式中的工厂模式基本一致,它的依赖注入可以把所有用到的对象放到一个XML文件中,这样我们在调用底层的功能对象时就不需要自己来创建对象了。所以简单的说就是Struts来管理由Spring创建的Hibernate对象,当然经典的三层框架功能不仅仅如此,以上介绍的只是本系统中所用到的技术。2.4. UML建模的使用统一建模语言(Unified Modeling Language,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达他们想象力的系统蓝图,并且提供了便于不同人之间有效地共享和交流设计结果的机制。UML作为通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法7。2.5. 本方案软件选择与分析u 本系统使用的IDE编译器是Eclipse,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。u 本系统所使用的桌面服务器是Tomcat,自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。u 本系统所用的数据库是MySQL,MySQL是最受欢迎的开源SQL数据库管理系统,MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。3. 需求分析3.1. 总体需求系统的主要用户主要有三类,系统管理人员、学员、游客,需求就是针对这三类人员进行。系统的主要功能如下:(1) 系统维护:主要完成权限的维护、教师信息的维护、课程信息的维护、学员与管理员帐号的维护、评估规则维护、学生信息维护,留言簿信息的维护等等。(2) 学员打分:主要完成学期未学员对教师的打分,以作为学校对教师教堂质量的一个考信息,另外学员可以查看个人信息。(3) 公告新闻:此系统主页可以发布学校最近发生的事件,让游客以上权限的人浏览,另外游客可以不用身份验证进入留言簿发帖发表想法。3.2. 系统的业务处理流程学员管理员游客系统维护页面登录主页评估页面中间业务逻辑数据库图3.1系统流程图3.3. 系统的功能模块根据总体需求得知,教学评估系统的用户有系统管理员、学员与游客,从功能上看,他们相对独立,没有什么联系,所以我们针对这三种角色把整个系统分为这三大模块:系统维护模块、学生评估模块、主页信息发布模块。教学评估系统学生评估模块新闻发布模块系统维护模块图示:3.2系统功能模块图本系统主要由三个模块组成:(1) 前台页面,主要完成校园信息新闻的发布,游客可以不用进行身份验证直接进入留言簿发表自己想法,但权限只权于查看帖子与添加帖子,游客是没有删除帖子的权限的,可以通过管理来完成此功能。新闻发布模块发布新闻查看与添加留言图3.3新闻发布模块图(2) 后台系统维护模块主要完成对学院信息的管理,可以对不同年级的班级进行管理,对课程的种类进行管理,对教师信息进行管理, 对学生信息管理,对教师任课进行管理,本系统可以通过教师与课程种类的关联,来让学生评估时知道本班有那几位教师需要打分,同时还可以对两同种角色的人员进行权限分配,对留言簿进行删帖、增帖、查看等。系统维护模块角色权限管理班级信息管理教师信息管理学生信息管理教师任课管理留言簿管理评估规则管理图3.4系统维护模块图(3) 后台学生评估模块主要完成查询个人信息与对教师进行评估,通过读取相应关联表格的数据读取该班需要评估的教师,打分后算出该位教师的平均分存入数据库。学生评估模块评估打分查看个人信息图3.5 学生评估模块3.4. 系统用例模型用例图中包含系统、活动者、用例以及元素之间的各种关系(泛化、关联、依赖)等模型元素。用例图主要来为系统的需求建模,需求建模规定系统应该做什么,但不涉及系统怎么做。 (1)学员评估打分模块: 该模块有三个用例。u 评估打分是在学期未学生对这学期来对教师教学质量的一个评价,结果做为学校对教师任教质量的一个参考因数。u 学生登录时检查学员的用户名和密码是否正确,将用户信息保存在页面的Session中,这样我们可以在系统中加入过滤器,来验证用户的每步操作是否合法,如果是没有经过验证的用户直接使用盗链来进行相关操作,就会被检查出来是非法操作。u 学生经过合法验证后可以查询自己的个人信息。图3.6 (2)系统维护模块: 该模块有九个用例:u 学院信息管理包括了老师管理、学生管理、班级管理、任课管理、课程管理等五个用例。u 系统信息管理包括了登录验证、用户管理、留言簿等三个用例。u 评估管理包括了评估规则、评估结果的管理。图3.7(3)前台新闻发布模块:该模块共有二个用例,此模块为普通游客权限以上均可使用的功能,不需要身份验证。前台新闻发布模块用例图:图3.83.5. 类模型类图是系统静态视图的一部分,它主要用来描述软件系统的静态结构。它是定义其他图(如时序图)的基础,在类图的基础上,时序图、状态图、协作图、组件图和配置图等进一步描述系统的其他方面的特性。我们从系统维护、学员评估、新闻发布三大模块来分析系统类模型。(1) 系统维护类模型包括四类:u 实体Bean 之POJO类:包括Admin、Classes、Course、Student、Teacher、Ts、Rule它们都和数据库tjs中的相应的表相对应,在使用它们之前我们已经通过Hibernate产生与相应表的映射,所以直接操纵这些类与操作相应的表是一样的效果。u 控制Bean之Action:在第二章已经介绍过,所有的逻辑控制都是通过Struts框架来完成的,通过在相应的Action中完成业务逻辑操作,再把跳转参数写入XML文件,这样产生的结果直接可以通过读取XML文件中的跳转信息跳转到相应的界面。这些类包括:AdminAction、ClassesActioni、CourseAction、NoteAction、RuleAction、SetClassAction、StuinfoAction、TeacherAction。u 底层操作Bean之Dao类:所有在本系统中关于Dao的类都是用来对相应表在数据库中数据的操作用的。这一层是用Hibernate来进行的封装,对数据的操纵是用这个类来完成的。分别对应每张表的Dao类分别是:AdminDaoImpl 、ClassesDaoImpl、CourseDaoImpl、NoteDaoImpl、RuleDaoImpl、SetClassDaoImpl、TeacherDaoImpl。u 系统模块之工具类:工具类的工作主要是完成一些如字符编码问题、过滤器问题、Excel表导入的问题。它们包括:EncodingFilter、MyFilter、SignonFilter、ExcelUtil等。图3.9以下实体类具体情况以及它们之间的关联图3.10(2) 学员评估类模型与新闻发布模型包括三类:u 实体Bean 之POJO类:包括Paper、Remarklist。评估过程中Remarklist表用来存放评估结果,Paper类是作为一张临时表来存放某一位教师的评估结果。u 控制Bean之Action:RemarkAction。u 底层模块之Dao类:包括PaperDaoImpl、RemarkListDaoImpl、StudentDaoImpl。图3.11 3.6. 动态模型图3.12 后台管理图3.13 学生评估3.7. 评估指标设计本系统可以动态的添加评估标准,这样当有不同的需求的时候系统就可以直接添加新的规则来进行评估,默认的评估标准有“为人师表”,“富有激情”,“沟通,交流”,“内容充实”,“指导学习”等。每个评估标准都分为5等,最好的要以得5分,最差只有1分,通过算出5项标准总合的平均分即为学员为该教师所打的分数。4. 系统设计4.1. 平台的选择首先要说明的是。NET技术是和J2EE技术相似与相当的技术,它们的目的都是为了企业的应用提供分布式的,高可靠性的解决方案。是服务器端系统构架中二个划时代的巨人。.NET技术和J2EE技术,分别由Microsoft公司和Sun公司提出,围绕着二者的是全球最顶尖的IT精英、各大软件巨头的支持,纷纷开发相关产品。但无论是。NET技术还是J2EE技术都是主要运行机制在服务器端的,。NET的主要功能只可能是在WINDOWS系统操作系统中实现,而J2EE却可以跨平台,无论是UNIX、LINUX、WINDOWS,代码都可以“Write Once , Run AnyWhere”。在跨平台中,与。NET相比在跨平台方面有一种与生俱来的优势。UNIX和Linux,目前还是服务器端操作系统的主流,尤其是在非PC机领域,还完全是UNIX和Linux一统天下,J2EE优势不言而喻。此外,SUN还始终坚持Java类库代码公开、标准公开、API公开的三个原则,始终坚持说“Java”是标准,不是Sun公司的产品。而Mircrosoft的.NET列像一组产品,和WINDOWS API一样,Microsoft并没有公布其中的源代码,没有公布大部分的标准和API。鉴于从设计、集成、性能、安全性和可靠性诸多方面考虑,决定采用J2EE开发本系统。4.2. 数据库设计4.2.1. ER图我们从数据抽象了8个实体:学生、老师、课程、班级、留言簿、任课表、规则、评估表。其中:u student表:用来存放学生信息。u Teacher 表:用来存放教师信息,与ts表存在多对一的关系,与remarklist存在多对一的关系。u Classes 表:用来存放班级信息,与ts表存在多对一的关系。u Course 表:用来存放课程信息,与ts表存在多对一的关系,与remarklist存在多对一的关系。u Ts表:表用来存排课情况,它的tno、cno、ccno分别是其它几个表的外键。和teacher、course、classes表 :表存在一对多的关系。u Remarklist 表:表用来存放评估结果,有一张与此表一样的paper表用来存放临时数据,此处不列出,与course存在一对多的关系,与teacher存在一对多的关系。u Rule 表与Note 表:用来存放评估规则与留言信息。remarklistccnocnametnametnotnameistesttstnocnoccnoteachertnametnocourseccnocnameestudentsnosnamecnoistestpasswordrulernornameclassescnocnameinclude1n1nn1n1n1includeeincludeincludeinclude图4.1 E-R图根据以上ER图的设计,我们可以使用POWER DESINGER来实现具体的表格以及相关表格之间的联系情况,每张表的具体作用已在ER图设计的时候说明清楚,这里就不再说了。4.2.2. 逻辑结构设计图4.2 数据库逻辑图4.3. 数据库实现4.3.1. 创建表本系统使用的是MySQL数据库存,该数据库可以用两种方式来创建表格,一种是通过在MSDOS下面通过命令来创建,另外一种是通过MySQL-Front这种可视化软件来创建,本系统采用第二种方式。如下即是创建表格示例:图4.3 添加表格1代码:CREATE TABLE admin ( id int(11) NOT NULL auto_increment, ano varchar(50) NOT NULL, password varchar(50) NOT NULL, aname varchar(50) NOT NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gb2312;图4.4 添加表格2代码:INSERT INTO admin VALUES (1,001,1,zxt);根据同样办法我们创建学生、老师、课程、班级、留言簿、任课表、规则、评估表表,这里就不多举例了。4.3.2. 具体表结构Admin表编号字段名称数据类型说明 空主键1id自动编号管理员ID否是2ano文本管理员编号否否3aname文本管理员姓名否否4password文本密码否否Classes表:编号字段名称数据类型说明 空主键1id自动编号班级ID否是2cno文本班级编号否否3cname文本班级姓名否否4isset文本是否被设置否否Course表:编号字段名称数据类型说明 空主键1id自动编号课程ID否是2ccno文本课程编号否否3ccname文本课程名称否否Note表:编号字段名称数据类型说明 空主键1id自动编号留言薄ID否是2nno文本留言薄编号否否3author文本作者否否4title文本标题否否5content文本内容Remarklist表:编号字段名称数据类型说明 空主键1id自动编号评估ID否是2ccno文本课程编号否否3ccname文本课程名称否否4tno文本教师编号否否5tname文本教师名称否否6score文本得分否否7istest文本是否评测否否Rule表:编号字段名称数据类型说明 空主键1id自动编号评估规则ID否是2rno文本规则编号否否3rname文本规则名称否否Student表:编号字段名称数据类型说明 空主键1id自动编号学生ID否是2Sno文本学生编号否否3sname文本学生姓名否否4password文本密码否否5cno文本班级编号否否6istest文本是否测试否否Teacher表:编号字段名称数据类型说明 空主键1id自动编号教师ID否是2tno文本教师编号否否3tname文本教师姓名否否Ts表:编号字段名称数据类型说明 空主键1id自动编号任课ID否是2tno文本教师编号否否3cno文本班级编号否否4ccno文本课程编号否否4.4. 前台子系统前台子系统基本只是作为简单的新闻发布作用,作为游客身份可以发表个人想法,主窗口有一个留言薄,不需要身份验证即可发表留言。图4.3 前台子系统4.5. 后台管理子系统后台子系统拥有课程、老师、学生、评估规则、班级、留言薄、任课、用户管理,类似的课程、教师、班级留言薄等只用课程例子代替,它们业务逻辑基本相同。u 课程管理:图4.4 后台管理子系统u 教师任课:图4.5 老师任课u 学生信息录入:图4.6 录入信息4.6. 后台评估子系统评估子系统主要完成学期未每个学生对教师的一个评估打分活动,该班级有几名教师就要进行几次评估,完成后才可提交,如果只评估一半退出的话那么数据回滚。图4.7 后台评估5. 系统的实现5.1. 平台的搭建由于本系统使用的是Struts + Hibernate + Spring 的三层框架来编写的,所以在进行项目开发之前需要搭建好相应的环境。在第二章已经讲过,Struts用来管理所有的业务逻辑,Hibernate来管理底层数据的操作,Spring则用来初始化所有类的对象。这里一定要清楚的是我们加入框架的顺序,Spring是作为插件的形势加入到Struts中的,而Hibernate在三层框架中是作为Beans的形势由Spring来管理的,所以正确的逻辑顺序应该是先在项目中加入Struts的支持,然后加入Spring的支持,最后加入Spring的支持。5.1.1. 添加Strust支持首先是加入对Struts的支持,本系统采用的是MyEclipse这款开发软件,加入Struts支持时直接在项目上点击反键,找到MyEclipse,从中找到Struts加入即可。注意,本系统采用的是Struts1.1的版本。完成后系统会多出一个Struts-config-*.xml的一个文件,这个文件是Struts的核心,它的主要功能是作为一个数据的存储存在的。它里边存放的是在类中需要用到的一些重要的参数,我们可以想像,在Tomcat加载时Struts中的XML文件会被找到,然后把相应的配置参数读入到相应的类中,这样我们使用这些类的时候才可以达到相应的目的。在配置Struts时系统中用到了一个比较有用的技术,就是把原来默认生成的一个XML文件分成几个XML文件,这样做的好处是当项目比较大的时候,每个小组做的模块是比较独立的,但如果大家都同时去修改一张XML文件的话,容易产生意想不到的错误。上面这个技术的实现方式是在项目WEB-INF文件夹下面找到web.xml这个配置文件,修改其中的文件如下:actionconfig/WEB-INF/config/struts-config-system.xmlconfig/student/WEB-INF/config/struts-config-student.xmlconfig/admin/WEB-INF/config/struts-config-admin.xml 0我们可以看到原来默认的struts-config-*.xml被分成了三张XML配置文件,我们要注意的事是在标签之间的这个值,它是映射配置文件的一个映射值,我们在通过链接找相应Struts中的Action的时候就是通过这个名字来寻找的,但可以看到三个配置文件中只有两个是/admin与/student,这两个配置文件分别对应着我们系统的学生模块与系统模块。还有一个是默认的配置文件,因为在任何时候不管你把一张配置文件分成几份,都要有一个主配置文件,也是就是这里的默认的配置文件。那我们配置好了怎么来区别这几张配置文件呢,举个例子:在没有分配置文件的时候我们在提交表单的时候/tjs/login.do就可以了,现在模块化后我们提交表单区别默认的形式是/tjs/admin/login.do,现在应该可以理解刚才映射的作用了吧。关于Struts还有一点要说的是本系统采用了多业务逻辑,就是说一张表章可以进行多项的操作,也就是一个Action中可以加入多种操作的方法,默认的只有一个方法,不适合实际的应用。要做到这一点可以在生成Action的时候让它继承DispathAction这个父类,然后在XML配置文件中做如下的修改:需要注意的是这个参数,这个参数默认情况下是没有的,需要自己加入,另外在这个也是需要自己加入的,少了就会达不到相应目的。现在的问题是我们如何使用的问题,答案很简单,在提交表单的时候写成如下形式即可:可以看到,和平常的不同只是加了?mehtod=”isLogin”而矣,isLogin是登录时验证的方法。以上即是配置Sturts时需要注意的情况。5.1.2. 添加Spring支持添加Spring支持的方法比较简单,直接按添加Struts的方法添加即可。需要注意的一点是在选择存放applicationContext-*.xml的位置要是在WEB-INF之下,本系统把Struts、Hibernate、Spring的配置文件全部放在了WEB-INF的config文件夹之下, 这样做的好处是比较容易管理。上面已经讲过Spring是以插件的形式加入到Struts中的,所以Spring的存放路径要在Struts中修改,条件是如果你想改变它的默认位置的话。另外,添加Spring支持的时候也采用了与Struts中相似的技术,就是把默认的一张XML文件分成了几张XML文件,好处就不多说了。以下是把Spring加入Struts后Struts主配置文件中作的修改。value这个属性是XML相应配置文件存放的路径。5.1.3. 添加Hibernate支持最后是添加对Hibernate的支持,在添加支持之前我们先应该对数据库进行相应的配置,我们可以打开DB Browser这个视图对话框,配置相应的选项,测试运行一下看是否可以正确连接上,如果连接上即可以看到相应数据库下面已经创建的表格,这些表是以后我们直接生成映射时会用到的。另外在生成支持的时候要把自己交由Spring来管理,这个在上面已经讲过。以下是在Spring中对Hibernate管理的配置文件。jdbc:mysql:/localhost:3306/tjs?useUnicode=true&characterEncoding=gb2312root147可以看到连接数据库的用户名、密码、驱动、数据库表的映射文件等都已经写到了Spring的配置文件中,在Spring生成对象是直接会读取相应的参数。以上就是对三层框架的配置具体情况,比较复杂,但如果作为一个比较大的项目来说的话,这样的时间花得还是值得的,因为一个好的运行框架以后期
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


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

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


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