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

下载本文档

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

文档简介

摘 要 毕业设计的管理是高校管理工作中的一项重要内容。随着高等教育教学改革的不断深入,对于高校毕业设计管理的规范化、信息化已成为目前面临的重要课题。目前,很多高校的毕业设计管理还存在一些问题。例如:根据实际情况,通常学生在大学最后一年会在校外进行实习,此时又面临着毕业设计选题问题;另外,毕业设计完成时,论文的上交也存在困难。同时在做毕业设计的过程中,由于学生在外地,指导老师对学生的指导和交流也会遇到一些麻烦。要解决以上这些问题:一方面要提高管理员业务知识和管理水平;另一方面要充分利用现代科学技术,建立现代化的管理信息系统近几年来我国各大中专院校加快了信息化进程,基本上都建立了自己的校园网,这为我们系统的开发提供了必备的物质基础。 毕业设计管理系统它能很好的解决以上的问题,极大地便捷了学生和指导老师,显著地提高了工作效率。而且通过本次设计可以让学生更加熟练掌握软件开发的一般过程,并对所学知识做一个全面的总结。本课题的研究内容包括:首先研究在B/S模式下技术的介绍,并对各种技术的优缺点进行深入分析和比较,并根据当前项目的实际情况选择一种具有跨平台性,一次编写到处运行,具有可重用性的技术。然后完成管理员、教师和学生三种角色的功能分析,基于面向对象方法对毕业设计管理系统进行分析,并利用UML构建系统的逻辑模型和物理模型。最后采用JSP,Struts2,Hibernate3.0,AJAX技术在java平台下(MyEclipse 8.5)对所设计方案进行实现。关键词:毕业设计管理系统、B/S、Struts2、Hibernate、Jsp、ajaxAbstractThe management of graduation design is an important content of the work of universities management. Along with the higher education teaching reform, university graduation design managements standardization and information has become an important task we are facing. At present, many college graduation design management also has some problems. For example: according to actual condition, in university students usual work out last year, at this time they are also faced with many problems. In addition, when the graduation design is completed, it is also difficult to hand over the thesis. When doing the graduation design, because the student works out, guiding teacher will also meet some trouble of guiding and communicating with students. To solve these problems: on one hand we should improve business knowledge and management level of administrator; On the other hand, we should make full use of modern science and technology, and establish a modernized management information system. In recent years many Chinese colleges and universities have accelerated the process of informationization, basically have set up their own campus network, which provides necessary systematic development of the material base.Graduation design management system can be a very good solution to the questions above, and greatly convenient students and guiding teacher, and significantly raise the working efficiency. And through this design can let students more skilled grasp the general process of software development, and the knowledge to do a comprehensive summary.This topic research contents include: first research on B/S mode technology, and introduced the advantages and disadvantages of various techniques thorough analysis and comparison, and according to the actual situation of the current project choose a kind of technology which has cross-platform-ability and can run everywhere . Then finish the function of the three roles:administrators, teachers and students, based on the object-oriented method to analyze the graduation design management system, and using UML building systems logical model and physical model. Finally, using the JSP ,Struts2 ,ajax and Hibernate to realize the system in Java platform (MyEclipse 8.5).Keywords: Graduation design management system, B/S, Struts2、Hibernate, Jsp,ajax目 录摘 要1Abstract2目录3第一章 概述31.1研究背景31.2 课题来源31.3 研究内容31.4 实施方案和环境31.5 论文组织结构3第二章 理论技术与关键技术32.1网络的计算模式以及分析比较32.2 B/S模式技术的介绍32.3 MVC思想32.4 Struts2技术32.5Hibernate技术32.6本章小结3第三章 系统分析33.1用例图33.2用例规格说明33.2.1管理员系统用例说明33.2.2学生用例详细说明33.2.4教师用例详细说明33.3 本章小结3第四章 系统设计34.1系统体系架构设计34.1.1 Hibernate与Struts234.1.2本系统采用的分层架构34.2系统功能设计34.3类图34.3.1Hibernate数据库映射配置34.4类的设计34.4.1类loginAction设计34.4.2类UserAction设计34.4.3类UploadFileAction设计34.4.4类DownLoadFileAction设计34.4.5类AdminAction的设计34.4.6类StudentAction的设计34.4.7类TeacherAction的设计34.4.8类Convert的设计34.4.9类HibernateSessionFactory设计34.4.10类AdminDAO设计34.4.11类DefenceGroupDAO设计34.4.12类DepartmentDAO设计34.4.13类InfoDAO设计34.4.14类StudentDAO设计34.4.15类StuTechIntentionDAO的设计34.4.16类SubjectDAO的设计34.4.17类SubjectThesisDAO的设计34.4.18类TeacherDAO的设计34.5用例详细设计34.5.1管理员部分用例详细设计34.5.2教师部分用例详细设计34.5.3学生部分用例详细设计34.6数据库详细设计34.6本章小结3第五章 系统实现与测试35.1用户界面开发35.2系统测试35.2.1单元测试35.2.2功能测试35.2.3集成测试35.4本章小结3结束语3第一章 概述1.1研究背景 毕业设计的管理是高校管理工作中的一项重要内容。随着高等教育教学改革的不断深入,对于高校毕业设计管理的规范化、信息化已成为目前面临的重要课题。目前。很多高校的毕业设计管理还存在一些问题。例如:根据实际情况,通常学生在大学最后一年会在校外进行实习,此时又面临着毕业设计选题问题;另外,毕业设计完成时,论文的上交也存在困难。同时在做毕业设计的过程中,由于学生在外地,指导老师对学生的指导和交流也会遇到一些麻烦。要解决以上这些问题:一方面要提高管理员业务知识和管理水平;另一方面要充分利用现代科学技术,建立现代化的管理信息系统。近几年来我国各大中专院校加快了信息化进程,基本上都建立了自己的校园网,这为我们系统的开发提供了必备的物质基础。 毕业设计管理系统它能很好的解决以上的问题,极大地便捷了学生和指导老师,显著地提高了工作效率。而且通过本次设计可以让学生更加熟练掌握软件开发的一般过程,并对所学知识做一个全面的总结。1.2 课题来源 毕业设计管理系统是北京信息科技大学信息管理学院已经实施的一个项目,这个系统早期版本已经在使用,但是由于开发时间短,存在许多不足,随着信息技术的进步和深化,毕业设计管理系统需要进行功能的完善以及技术的修改,以应对变化的需求。毕业设计是一项复杂的任务,它涉及学生、教师、管理者三个角色之间的相互协调和沟通,各项工作之间环环相扣,涉及内容多、需求多。正在使用的毕业设计管理系统虽然基本解决了这些问题,但是还有许多任务需要人为手动操作,大大降低了系统的效率,所以我决定重新开发一个毕业设计管理系统,希望能满足各方面的需求。1.3 研究内容系统包括以下模块:1.用户登录模块;2.教师用户模块 (1)修改个人信息。教师可以修改自己的个人信息(如:密码、电话、电子邮箱等); (2)上报课题。教师根据专业的不同分别申报课题。此处应该有课题数目限制功能; (3)课题管理。此功能实现教师对课题的管理,对于未评审和没有通过评审的题目,可以作修改或删除操作,而对于评审通过的题目,则只能做查看。 (4)学生选择课题后,教师可以查看学生名单与联系方式; (5)设计期间教师可以和学生相互交流(文字和文件); (6)上报成绩。完成教师上报学生成绩的功能,其中成绩分为指导教师成绩、评阅教师成绩、答辩成绩,总成绩自动计算。 3.管理员用户模块 (1)对教师的添加、删除等功能; (2)对学生的添加(excel文件导入)、删除; (3)课题的审核管理;(4)答辩小组和指导教师的分配; (5)其他维护系统运行的功能(如选题时间、选题专业的设置等等);4.学生模块(1)选择毕设指导教师;(2)提交开题报告、周志、毕设成果等;(3)成绩查询,答辩信息查询等;1.4 实施方案和环境本课题采用的工程方案是:采用迭代增量式开发过程,定义每个迭代过程的实现目标,逐步完成整个系统,以降低开发风险;开发方法采用面向对象的分析与设计方法,使用IBM Rational Rose分析设计工具建立系统的分析模型和设计模型;使用java平台进行系统的实施,建立基于JSP的B/S结构的软件系统。本课题开发环境操作系统为Windows 7旗舰版,采用MyEclipse8.5作为开发和测试工具,分析设计建模工具采用IBM Rational Rose,开发数据库平台采用Microsoft SQL Server 2008开发版,编程采用java语言和JSP,Structs2,Hibernate3.0技术。运行环境操作系统采用Windows7旗舰版,加上JDK 1.6.0和Tomcat 6.0,数据库管理系统采用Microsoft SQL Server 2008R2开发版。1.5 论文组织结构本文包括如下六部分内容:概述,理论基础与关键技术,软件系统架构方案设计与选择,系统分析,系统设计,系统实施和结论。第一章概述介绍本文的研究背景与相关问题、研究内容和研究意义。第二章理论基础与关键技术里,对本课题设计与实施中用到的各种技术进行讲解,说明选择这些技术的理由。 第三章系统分析重点分析系统的业务需求。第四章系统概要设计进行系统设计,包括系统架构的设计、类的设计、数据库设计以及功能设计,用例是详细设计和界面设计等第五章系系统实施与测试等。结束语总结了本课题的主要工作,给出了本课题的主要结论;最后,针对本课题存在的不足以及值得进一步深入研究的问题,提出了作者下一步研究打算。第二章 理论技术与关键技术本章描述了在项目中用到的一些理论和关键技术,主要包括网络的的计算模式,B/S模式常见的技术,MVC设计思想,struts2技术,Hibernate技术。2.1网络的计算模式以及分析比较C/S(Client/Server,客户机/服务器)方式的网络计算模式,其工作分别由服务器和客户机完成。服务器负责管理数据库的访问,为多个客户程序管理数据,并对数据进行检索和排序,此外还要对客户机/服务器网络结构中的数据库安全层加锁,进行保护。最简单的C/S模式数据库应用由两个部分组成,即客户应用程序和数据库服务器程序。两者可分别称为前台程序与后天程序。运行数据库服务器程序的机器,称为应用应用服务器,服务器程序启动后,就随时等待响应客户程序发来的请求;客户程序在客户使用的计算机上运行,客户使用的计算机称之为客户机。当需要对数据库中的数据进行访问时,客户程序就自动寻找服务器程序,并向其发出请求,服务器程序根据预定的规则进行应答,送回结果,应用的形式如图2.1所示C/S结构图如:图2.1 Client /Server结构图 B/S(Browser/Server,浏览器/服务器)方式的网络结构,在客户端统一采用如Netscape和IE一类的浏览器,通过Web浏览器想Web服务器提出请求,由Web服务器对数据库进行操作,并将结果传回客户端。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需的信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只须配置少量的客户端软件即可。但是服务器将担负更多的工作,对数据库的访问和应用程序的执行都将在服务器上完成。即当浏览器发出请求后,其数据请求,加工,返回结果以及动态网页生成等工作全部由Web服务器完成。B/S结构图如2.2:图2.2 Browser /Server结构图两种模式的比较分析1.开发和维护成本。C/S开发和维护成本较高。对不同客户端需要开发不同的程序,且应用程序的安装,修改和升级,均需要在所有的客户机上进行。而B/S,客户端只需有通用的浏览器,所有的维护与升级工作都是在服务器上执行,无须对客户端进行任何改变,因而大大降低了开发和维护的成本。2.客户端负载。C/S的客户端具有显示与处理数据的功能,负载重,随着应用系统的功能越来越复杂,客户端的应用程序也变得越来越庞大。B/S的客户端把事物处理逻辑部分给了服务器,客户端只需进行显示即可,俗称为“瘦”客户机。3.可移植性。C/S移植困难,因为不同开发工具开发的应用程序,一般情况下互不兼容,难以移植到其他平台上运行。对于B/S,在客户端安装的是通用浏览器,不存在移植性问题。4.用户界面,C/S用户的界面是有客户端所安装的软件决定的,因此用户界面各不相同;而B/S通过通用的浏览器访问应用程序,其浏览器的界面统一,使用时类似于浏览器网页。5.安全性。C/S适用于专人使用的系统,可以通过严格的管理派发软件,适用于安全性要求较高的专用应用软件;而B/S适用于交互性要求较多,使用人数较多,安全性要求不是很高的应用环境。综上所述,这两种开发模式都是网络环境下的开发模式,B/S相对于C/S具有更多的优势,现如今大量的应用开始转移到应用B/S的模式,许多软件公司争相开发B/S版本的软件。由于Internet逐步走进人们的日常生活当中,客户简要化的使用要求等对加速推广使用B/S模式起到了推波助澜的作用。2.2 B/S模式技术的介绍B/S模式下的编程技术有很多种,这里列出比较常见的几种,以供对比分析。1.CGI(Common Gateway Interface,通用网关接口)首先,客户端(即WEB浏览器)根据某资源的URL(Uniform Resource Locator, 统一资源定位器)向WEB服务器提出请求;然后,WEB服务器的HTTP Daemon(守护进程)将此请求的参数通过标准输入stdin和环境变量传递给指定的CGI程序,并启动此应用程序进行处理,如要存取数据库服务器上数据库的数据,则向数据库服务器发出请求,由数据库服务器将执行结果返回给CGI程序;最后,CGI程序把处理结果通过标准输出stdout返回给HTTP Daemon进程,再由HTTP Daemon进程返回给客户端,通过浏览器解析执行,将最终结果在用户面上显示。CGI允许web服务器运行外部应用程序,通过外部程序来访问数据库等一些外部资源,并产生HTML文档给浏览器。但每次请求CGI程序都要重新启动程序,影响了响应的速度,且CGI程序不能被多个客户请求共享,又影响了各种资源的使用资源。为了克服CGI的这些缺点,一些WEB服务器厂商开发出了专用API(Applications Program Interface,应用程序接口),这样就允许程序员编写程序来扩展服务器的功能。API相对于CGI与Web服务器的结合更加紧密,占用的资源较少,提高了运行的效率,其安全性与维护性更好。但是开发API应用程序比开发CGI应用程序复杂得多,要求程序员掌握更多的计算机软件知识,且各种API之间的兼容性不好,业界没有一个统一的标准,使得API程序只能工作在专用的WEB服务器与操作系统之上。2.ASP与ASP.NETASP(Active server pages),是基于微软Windows平台的动态页面技术,可以用VBScript或JavaScript语言来编写,支持COM/DCOM构件模型,易学易用,开发效率高。IIS(Internet Information serve,因特网信息服务)用于建立NT系统的Web服务器,它是在NT的各个版本中进行捆绑销售的组件,与NT集成完美,提供了WWW(World Wide Web,万维网),FTP(File Transfer Protocol,文件传输协议),SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等各种服务。运用Windows98下的PWS软件亦可建立ASP的开发环境,方便ASP程序的开发与调试。开发ASP程序时,常常需要先设计静态网页的栏目,格式和版式,并形成HTML语言接着在HTML的基础上添加脚本程序,形成ASP程序后在实现动态的Web网页。在AS爬到程序开发中,它所用的脚本语言是JavaScript和VBScipt,在默认情况下使用的是VBScipt,它是VB程序设计语言的一个子集,语法与VB基本相同。ASP中的ADO对象用来执行与数据库相关的操作,ADO以OLEDB或ODBC的方式访问数据库,在.NET版本中这一对象称为ADO.NTE.ASP.NET是ASP技术的下一代开发技术,目前已升级到3.0版本。借助于.NET Framework,可以在ASP.NET Web开发中使用各种各样的开发语言,如VB,C#,C+等多种高级语言。.NET Framework中引入一系列的新技术和新概念。其中核心的部分就是通用语言运行时间CLR。CLR是.NET程序的执行引擎,.NET的众多优点也是有CLR所赋予的。CLR同JVM的功能类似,提供了单一的运行环境。任何.NET应用程序都会被最终编译为IL(Intermediate Language,中间语言),并在这个统一的环境中运行。也就是说CLR可以用于任何针对它的编程语言,这也就是.NET的多语言支持。CLR还负责.NTE应用程序的内存管理,对象生命周期的管理,线程管理,安全等一系列的服务。.NET Framework还对命名空间提供了支持,熟悉java的程序员一定非常欣赏java中清晰的类层次结构,.NET Framework中的命名空间与之类似,非常适合组织大规模的类的层次的结果。3.PHP(Personal Home Pages)是一种服务器端的脚本语言,嵌入在HTML中,它可以在多种平台上运行。PHP的语法与C语言,java语言的语法极为相似,但也有自己独特的语法。它具有庞大的函数库,这主要是因为它是开源式的,源代码完全公开,每个使用PHP的程序员都可以加入自己的函数库,从而实现更多的功能,PHP支持几乎所有数据库,但是PHP对组件的支持不够,扩展性较差,常与免费的数据库系统MySQL一起来构建中小型B/S应用的网站或信息系统。4.JSP是Java Server Pages的缩写,由Sun公司倡导,于1999年推出,正日益成为开发Web动态网站重要而快速有效的开发技术。JSP充分利用了Java技术的优势,具有极强的扩展能力和良好的伸缩性,与开发平台无关,这源于Java的“一次编写,到处运行”的特点,同时也是一项安全的技术。它具有良好的动态页面与静态页面分离的能力,因而正逐渐成为Internet开发的主流技术。JDBC是JSP的数据库连接技术,为其提供了良好的数据库访问能力。5.JSP与其他B/S模式技术的比较JSP相对于其他B/S模式下的动态网页技术有诸多的优势,因此它被认为是未来最有发展前途的技术。(1)跨平台性。ASP只能在Windows平台下运行,而JSP基于强大的Java语言,几乎可以咋所有的操作系统平台上运行。NT下的IIS通过一个插件JRUN或者ServletExex也能支持JSP,著名的Web服务器Apache现在已经能够支持JSP,它被广泛地运用在NT,UNIX,Linux中。JSP可从一个平台移植到另一个平台,JSP和javabean不必重新编译,因为java字节码都是标准的字节码,与平台无关。一些软件公司采取了在windows下开发,Linux下安装与调试的开发方式,或直接在Linux下进行开发,又让JSP技术进一步深入人心。(2)一次编写,到处运行。JSP拥有Java语言“一次编写,到处运行”的特点,所有jsp页面都将被jsp引擎编译成java servlet,此时就具有了java技术的所有优点,而其他的B/S模式技术则没有这个优点。(3)编写容易,快速上手。学习JSP将成为一件令程序员感觉很惬意的事情,当然如果有HTML及Java语言的基础则更好。学习JSP与学习ASP一样,可以快速上手。Web程序员在网页制作人员设计的HTML页面的基础上,找到需要插入JSP程序的地方编写JSP程序,就可成为JSP页面。(4)可重用性。可以将处理逻辑封装在javabean或EJB(Enterprise JavaBeans)组件中,在通过调用JSP将处理的结果显示出来。一方面使得开发组件的开发人员可以专注也组件开发;另一方面使编写JSP的开发人员可以在多处使用组件,而不必关系其实现细节;而且修改组件只须改动组件内部的设计而不必更改JSP代码。这样,大大提高了系统的可重用性,在这个项目中设计的组件在以后的项目中还可以继续使用。PHP,CGI技术在可重用性上与JSP是无法相提并论的,因为ASP支持的组件技术有限,不如JSP丰富。2.3 MVC思想 图2.3MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。 随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以 及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以 及将用户界面的输入数据和请求传递给控制和模型。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处 理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便 充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说, 就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽 象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编 程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以 完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个 模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器 改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更 新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2.3所示。2.4 Struts2技术Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。 Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。Struts2框架的大概处理流程如下: 1) 加载类(FilterDispatcher) 2) 读取配置(struts配置文件中的Action) 3) 派发请求(客户端发送请求) 4) 调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action ) 5) 启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证) 6) 处理业务(回调Action的execute()方法) 7) 返回响应(通过execute方法将信息返回到FilterDispatcher) 8) 查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个jsp页面) 9) 响应用户(jsp-客户浏览器端显示)2.5Hibernate技术Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。 图2.5Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.6本章小结本章描述了在项目中用到的一些理论和关键技术,主要包括网络的的计算模式,B/S模式常见的技术,MVC思想,Struts2技术,Hibernate技术,Ajax技术。第三章 系统分析本章使用用例图和其它UML图进行需求的分析,捕获要完成系统的功能性需求和其它需求。系统的主要使用者包括管理员、学生和教师,需求分析就从这些系统相关者出发,分析每一个系统用户对于系统有什么样的要求。3.1用例图教师部分用例图: 图3.1学生部分用例图: 图3.2管理员部分用例:3.2用例规格说明下面使用用例规格说明来详细描述每一个用例的详细需求。3.2.1管理员系统用例说明1.管理员登陆用例说明用例名称:登陆参与者:管理员前置条件:后置条件:最新通知信息等主事件流1. 管理员输入登录信息2系统验证用户名和密码3.登陆成功,返回最新通知信息备选事件流a 用户名或密码错误a1.系统提示错误,拒绝登陆2.管理员个人信息维护用例说明用例名称:个人信息修改参与者:管理员前置条件:管理员已经成功登陆后置条件:修改密码等信息并存储主事件流1.管理员输入新密码2系统验证两次密码是否相同并修改数据库3.修改成功,给出成功提示备选事件流a两次输入的密码不相同a1.系统提示错误,拒绝修改 3.管理员部门信息维护用例说明用例名称:部门信息维护参与者:管理员前置条件:管理员已经成功登陆后置条件:修改、删除、添加部门信息并存储主事件流1.管理员添加部门4.管理员删除部门7.管理员修改部门9管理员输入新部门信息2系统验证输入的部门ID是否已占用3.添加成功,存入数据库并给出成功提示5.系统查询此部门下是否还有学生或教师信息6删除成功,并给出成功提示8.系统查询部门信息并返回9.系统存入数据库并给出成功提示备选事件流a添加的部门ID已经存在a1.系统提示错误,给出错误信息,拒绝添加b删除部门时此部门下仍有学生或教师信息 b1.系统提示错误,给出错误信息,拒绝删除4.管理员教师信息维护用例名称:教师信息维护参与者:管理员前置条件:管理员已经成功登陆后置条件:修改、添加、删除教师信息并存储主事件流1.管理员修改教师信息3.管理员输入教师信息5.管理员添加教师信息7.管理员输入新教师信息9.管理员删除教师信息2系统返回部门列表和教师信息4.系统修改数据库并给出成功提示6.系统返回部门列表以供选择8.系统存入数据库并给出成功提示10.系统查看与教师关联的信息11.系统删除数据库中的教师信息并返回消息备选事件流a部门列表为空a1.系统提示无部门,并给出信息,拒绝添加教师b.数据库中有与教师关联的信息 b1.系统提示错误信息,拒绝删除。5.管理员学生信息维护用例说明用例名称:学生信息维护参与者:管理员前置条件:管理员已经成功登陆后置条件:修改、添加、删除学生信息并存储主事件流1.管理员修改学生信息3.管理员输入学生信息5.管理员添加学生信息7.管理员输入新学生信息9.管理员删除学生信息2系统返回部门列表和学生信息4.系统修改数据库并给出成功提示6.系统返回部门列表以供选择8.系统存入数据库并给出成功提示10.系统查看与学生关联的信息11.系统删除数据库中的学生信息并返回消息备选事件流a部门列表为空a1.系统提示无部门,并给出信息,拒绝添加学生b.数据库中有与学生关联的信息 b1.系统提示错误信息,拒绝删除。6.管理员发布通知用例说明用例名称:发布通知参与者:管理员前置条件:管理员成功登陆后置条件:添加通知信息并存入数据库主事件流1.管理员输入通知标题和内容2系统存入通知标题和内容,并把系统当前时间存入通知信息表中3.系统返回成功信息备选事件流7.管理员管理通知信息用例说明用例名称:管理通知信息参与者:管理员前置条件:管理员已经成功登陆后置条件:删除或修改通知并存储主事件流1.管理员删除通知信息3.管理员修改通知信息5管理员输入新通知信息2系统删除通知信息并返回成功信息4.系统查询通知详细信息6.系统修改数据库通知信息,并修改通知时间为当前系统时间7.系统返回成功信息备选事件流8管理员分配指导教师用例说明用例名称:分配指导教师参与者:管理员前置条件:管理员成功登陆,学生已经选完指导教师后置条件:修改、添加学生志愿表并存储主事件流2.管理员根据学生志愿分配4.管理员满足某个学生的志愿6.管理员手动分配指导教师7.管理员选择指导教师并选择要分配给该教师的学生1.系统返回所有教师列表3.系统返回选择该教师的所有学生5.系统修改志愿表并存储返回修改信息7.系统返回所有学生列表8.系统添加志愿表并存储返回信息备选事件流a.该学生已经分配指导教师a1.系统提示错误,拒绝分配b.该教师负责的学生已经达到上限 b1.系统提示错误信息,拒绝分配9.管理员分配答辩小组用例说明用例名称:分配答辩小组参与者:管理员前置条件:管理员成功登陆,并已经分配完指导教师后置条件:添加删除修改答辩小组并存储主事件流1.管理员新建答辩小组3.管理员选择答辩小组组长并输入组号6.管理员查看答辩小组信息8.管理员为每个答辩小组分配教师10.管理员选择教师作为每个小组组员12.管理员设置某个教师为组长14.管理员删除小组成员2系统返回所有教师列表4.系统修改教师信息并添加答辩组信息存储到数据库5.系统返回添加成功信息7.系统查询答辩组信息并返回9.系统返回教师列表11.系统修改教师信息并返回成功信息13.系统修改答辩组信息并返回成功信息15.系统修改教师信息并返回成功信息备选事件流a.新建答辩组时id号被占用a1.系统提示错误信息,拒绝新建b.选择答辩组长时该教师已经在其他答辩组中 b1.系统提示错误信息,拒绝添加该教师c.为答辩组分配教师时,该教师已经在其他答辩组中c1.系统提示错误信息,拒绝添加该教师d.答辩组成员已经达到上限,不能再添加教师 d1.系统提示错误信息,拒绝再添加教师10.管理员分配评阅教师用例说明用例名称:分配评阅教师参与者:管理员前置条件:管理员已经成功登陆,指导教师为每个负责的同学布置课题后置条件:修改课题信息主事件流2.管理员选择评阅教师并选择该教师要负责的组的指导教师1系统查询并返回所有教师信息3.系统修改该指导教师下所有课题的信息4.系统返回分配消息备选事件流a.选择的评阅教师已经分配a1.系统提示错误信息,拒绝分配b.选择的指导教师没有负责任何学生 b1.系统提示错误信息,拒绝分配c.选择的指导教师和评阅教师是同一个人 c1.系统提示错误信息,拒绝分配11.管理员组织答辩用例说明用例名称:组织答辩参与者:管理员前置条件:管理员已经成功登陆,并分配完答辩小组后置条件:最新通知信息等主事件流2.管理员选择答辩组和答辩组负责的学生的指导教师3.管理员输入答辩时间和地点1系统返回所有答辩组编号和指导教师列表4.系统修改该组内所有学生的课题信息并存储5.系统返回分配信息备选事件流a.选择的指导教师在该答辩组中a1.系统提示分配错误信息,拒绝分配b.选择的指导教师没有负责任何学生 b1.系统提示错误信息,拒绝分配12.管理员设置时间界限用例说明

温馨提示

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

评论

0/150

提交评论