第二章 相关技术研究
顺序图:是另一种交互图,它强调一个系统中不同元素间传递消息的时间顺序。
(2)UML的应用
当采用面向对象技术设计系统时,第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、构件图和部署图等5种图形,第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系,它包括状态图、活动图、顺序图和合作图等4种图形,是标准建模语言UML的动态建模机制[9]。
UML还适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段:
[10]
○1在需求阶段,可以用用例来捕获用户需求,通过用例建模,描述对系统感兴
趣的外部角色及其对系统的功能要求。
○2在分析阶段,主要关心问题域中的主要概念和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述系统。
○3在设计阶段,考虑软件系统中类的定义和细节,因此设计阶段为编程阶段提供了更详细的规格说明。
○4编程是一个独立的阶段,其任务是用面向对象编程语言将设计阶段的类转换成实际的代码。
○5UML模型还可作为测试阶段的依据。
总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段。
2.2 J2EE 平台
J2EE,即 Java 2 Enterprise Edition, J2EE组成了一个完整企业级应用的不同部分纳入不同的容器,每个容器中都包含若干组件,J2EE的Web容器包括两种组件JSP和Servlet[11]。
JSP是含有Java代码的HTML。JSP提供了在Web页面中创建动态内容的能力,在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别[12]。
Servlet组件是一个符合规范的Java类,它运行在Web服务器上,负责接收、
7
处理客户的服务请求,动态地生成Web页面。Servlet具有高效、易用、功能强大和易于移植等特点[13]。
JDBC组件是一个标准SQL数据库访问接口,它使开发人员能用Java API编写数据库应用程序,由一些Java类和接口组成,主要包含在java.sql包中。
系统采用J2EE体系架构,是利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。具有以下优点: [14]
○1基于J2EE结构体系的系统软件开发有着比传统软件开发更加快速的特点。 ○2J2EE是基于Java语言的,因此,系统具有跨平台性,具有一次编译随处执行的特点。
○3sun倡导的开放源码运动,使得很多Java开发的项目能够得到其他公司开放的源码,这大大减少了开发新项目的工作量。
○4采用J2EE结构体系,程序构件化程度高,这样更加提高程序的重用性。
2.3 MVC设计模式与Struts
(1) MVC设计模式
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。MVC 架构的核心思想是:将程序分成相对独立,而又能协同工作的三个部分。通过使用MVC 架构,可以降低模块之间的搞合,提供应用的可扩展性。另外,MVC 的每个组件只关心组件内的逻辑,不应与其他组件的逻辑混合[15]。
MVC模式分为三部分内容:
模型:模型是应用程序的主体部分。模型表示业务数据或者业务逻辑。 视图:视图是模型的外在表现形式,视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面,1个模型可以对应1个或多个视图。
控制器: 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
概括起来, MVC 有如下特点:
1多个视图可以对应一个模型。按MVC 设计模式,一个模型对应多个视图, ○
可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。
2模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术。 ○
3应用被分隔为三层,降低了各层之间的稿合,提供了应用的可扩展性。 ○
8
第二章 相关技术研究
4控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起, ○
完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。
5MVC 更符合软件工程化管理的精神。 ○不同的层各司其职,每一层的组件具
有相同的特征,有利于通过工程化和工具化产生管理程序代码。
(2) Struts简介
Struts 是Apache 软件基金组织Jakarta 项目的一个子项目, Struts 的前身是CraigR. McClanahan 编写的JSP Model2 架构。Struts对Model,View和Controller都提供了对应的实现组件,从而实现MVC设计模式[16]。下面介绍Struts结构中的核心组件以及相关概念[17]。 (1)Controller组件
在Struts架构中,Controller组件是整个Web应用程序的“控制中枢”,Struts框架通过使用定义好的控制组件调用一系列的相关组件完成指定功能。Struts架构Controller组件的核心是ActionServlet。
(2)ActionForm
在Struts架构中,通常使用一种名为ActionForm的系统状态Bean,来实现应用系统的非持久性数据存储和维护功能。
(3)Action
Action是Struts API中定义的一个重要组件类型org.apache.struts.action.Action,开发者事先创建Action的一个或多个子类,在子类中加入所需的逻辑代码,用于处理不同的页面请求,称这些子类为处理器类或Action Bean类。 (4)Model组件
Java开发人员一般使用JavaBean来实现Model组件,其作用可以分为两方面,记录系统状态和封装业务逻辑。
2.4 Spring
Spring框架是一个轻量级的控制反转(IoC)技术和面向切面编程(AOP)技术的容器框架。Spring框架提供的是一种“对象管理”技术,目的是为开发者提供解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术。而“对象管理”是每个面向对象编程的程序员都要面临的问题,将程序员从烦琐、单调和重复的编程工作中解脱出来[18]。 Spring中的相关概念介绍
9
(1)控制反转(Inversion of Control,IoC)
控制反转,就是将应用系统中原来由程序控制“对象之间的关系”转交给由外部容器来实现控制。借助于控制反转的机制,能够实现由容器控制程序中的各个类之间的关系,而非传统形式的编程实现中直接在程序代码中由程序代码操控各个类对象实例之间的关系[19]。
(2)依赖注入(Dependency Injection)
依赖注入就是将应用系统中的各个类之间的依赖关系先剥离,然后在应用系统运行过程中根据应用之间的调用关系再适时地注入到目标系统中[20]。 Spring框架技术在系统架构设计方面的优势:
1提高了组件的可移植性和可重用度。 ○
2减轻了组件之间的依赖关系。 ○
3能够更简洁地编程应用J2EE平台中的各种复杂的技术实现, ○并使应用系统
具有良好的可扩展性和灵活性。
2.5 Hibernate
Hibernate是一种Java语言下的对象关系映射解决方案。 它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架[21]。
Hibernate 不仅管理Java 类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。
Hibernate API中的接口可以分为以下几类[22]:○1Session接口○2SessionFactory接口○3 Configuration接口○4 Transaction接口○5(5) Query和Criteria接口。除此之外,Hibernate内部还封装了JDBC、JTA和JNDI。 Hibernate的优势如下[23]:
(1)Hibernate 使用 Java 反射机制,而不是字节码增强程序来实现透明性。 (2)Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。 (3)它支持各种关系数据库,从一对一到多对多的各种复杂关系。
10
第二章 相关技术研究
2.6 Oracle数据库
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。Oracle支持多种不同的硬件和操作系统平台,从台式机到大型和超级计算机,为各种硬件结构提供高度的可伸缩性,支持对称多处理器、群集多处理器、大规模处理器等,并提供广泛的国际语言支持。Oracle是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。Oracle以二维表的形式表示数据,并提供了结构式查询语言SQL,可完成数据查询、操作、定义和控制等基本数据库管理功能。Oracle具有很好的可移植性,通过它的通信功能,微型计算机上的程序可以同小型乃至大型计算机上的Oracle,并且能相互传递数据。Oracle属于大型数据库系统,主要适用于大、中小型应用系统,或作为客户机/服务器系统中服务器端的数据库系统[24]。 Oracle数据库具有以下优势[25]:
○1Oracle引入了共享SQL和多线索服务器体系结构。 ○2实施安全性控制和完整性控制。
○3Oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。 ○4具有可移植性、可兼容性和可连接性。
○5提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
○6支持大数据库、多用户的高性能的事务处理。
2.7 Rose
Rational公司推出的Rose是目前最好的基于UML的Case工具,使用Rose可以方便地进行软件系统的分析和设计,很容易同常见的开发环境和程序设计语言进行衔接。Rose具有正向工程、逆向工程和对象模型更新等功能[26]。用户修改模型后可以直接反映到代码上,同样,用户对代码框架的修改也可以反映到模型上。另外,它还提供对多种程序设计语言的支持,如C++、Java、Visual Basic等。
2.8小结
本章主要介绍了公安户口管理系统开发所涉及的理论和技术。深入介绍了统
11
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于J2EE的公安户口管理信息系统硕士本科论文(3)在线全文阅读。
相关推荐: