软件工程-UML
统一建模语言( UML , Unified Modeling Language )是一个通用的可视化建模语言,不是可视化的程序设计语言(不是编程语言)。 UML 支持大部分软件开发过程,但比较适用于迭代式开发过程。
UML 的组成:
事物( T hings ) :最基本的构成元素(结构、行为、分组、注释)。
关系( Relationships ) :关系把事物紧密联系在一起(依赖、关联、泛化、实现等)。
图( Diagrams ) :事物和关系的可视化表示。
统一建模语言与可视化建模(注: UML 有不同版本)
UML 的 5 种视图。
UML 是用来表示模型的,它用模型来描述系统的结构和行为,描述结构的图叫 UML 静态图,描述行为的图叫 UML 动态图。也可用 UML 从不同的视角为系统的架构建模,形成系统的不同视图,包括:
- 用例视图, Use case view :强调从用户角度看到的或需要的系统功能。
- 逻辑视图(设计视图) , Logic view :描述逻辑结构,该逻辑结构支持用例视图描述的功能,它描述了问题空间中的概念以及实现系统功能的机制,如类、包、子系统等。包括形成问题域的词汇表和解决方案的类、接口和协作,支持系统的功能需求。
- 实现视图, lmplementation view :实现描述用于组建系统的物理组件,如可执行文件、代码库和数据库等系统程序员所看到的软件产物,是和配置管理以及系统集成相关的信息。也叫组件视图。
- 过程视图(进程视图) , Process View :过程视图描述将系统分解为过程和任务,以及这些并发元素之间的通信与同步。也叫并发视图、动态视图或者协作视图等。
- 部署视图(拓扑视图、物理视图、实施视图) , Deployment View :描述系统的物理 络布局,是系统工程师和 络工程师所感兴趣的。又叫物理视图。
UML 提供了 9 种不同的图
由 UML 的符 ,根据需求调研的结果,由符 画成图形以表示待建系统的结构和行为, UML 提供了如下的 9 种图来对待建系统建模:
- 用例图,用例图表示一个系统中所有的用例与所有外部参与者的交互。可为待建系统的功能建模。
- 类图,类图描述了类、接口、协作以及它们之间的关系。类图可用来表示程序的结构、程序模块之间的依赖关系或为数据库建模。
- 对象图,对象图描述了类图某一时刻的实际例子,描述了这个时刻对象与对象间的关系。
- 组件图(构件图),描述了组件及组件之间的关系,表示了组件之间的组织和依赖关系。
- 部署图(配置图),部署图用来描述运行应用软件系统的处理器、设备、 络及其拓扑结构。
- 状态图,描述了一个特定对象的所有可能状态以及引起状态跃迁的事件。可为一个对象建模。
- 序列图(时序图),序列图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。序列图可以描述一个用例的实现,可为一个协作建模。序列图也叫顺序图。
- 协作图,同样描述对象之间动态的交互关系,也可为一个协作建模,只是与序列图画法不同。
- 活动图,活动图依据对象状态的变化来捕获动作与动作的结果,可以为用例建模。
1 )用例图, Use case diagram :描述系统的功能,由系统、用例和角色三种元素组成。例:用例图(机房收费系统)。
用例图主要回答了两个问题: 1 、是谁用软件。 2 、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2 )类图, Class diagram :用来表示系统中的类以及类与类之间的关系,描述系统的静态结构,用于逻辑视图中。例:类图(机房收费系统)。
在 UML 类图中,常见的有以下几种关系:泛化 ( Generalization ) ,实现( Realization ) ,关联 ( Association ) ,聚合( Aggregation ) ,组合 (Composition ) ,依赖( Dependency )。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖
3 )对象图, Object diagram : 对象图是类图的示例,表示在某一时刻这些类的具体实例以及这些实例之间的具体连接关系,可以帮助人们理解比较复杂的类图。对象图也可以用于显示类图中的对象在某一点的连接关系。对象图常用于用例视图和逻辑视图中。
描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。
4 )状态图, State diagram : 主要用来描述对象、子系统、系统的生命周期。通过状态图可以了解一个对象可能具有的所有状态、导致对象状态改变的事件,以及状态转移引发的动作。状态图是对类描述的事物的补充说明,用在逻辑视图中描述类的行为。
是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。
5 )序列图, Sequence diagram : 面向对象系统中对象之间的交互表现为消息的发送和接收。序列图反映若干个对象之间的动态协作关系,即随着时间的流逝,消息是如何在对象之间发送和接收的。序列图中重点反映对象之间发送消息的先后次序,常用在逻辑视图中。
交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。
6 )协作图, Collaboration diagram : 主要描述协作对象之间的交互和连接。协作图和序列图同样反映对象间的动态协作,也可以表达消息序列,但重点描述交换消息的对象之间的关系,强调的是空间关系而非时间顺序。
交互图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图
7 )活动图, Activity diagram : 显示动作及其结果,着重描述操作实现中所完成的工作以及用例实例或对象中的活动。活动图中反映了一个连续的活动流,常用于描述一个操作执行过程中所完成的工作。
是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。
8 )组件图, Component diagram :用来反映代码的物理结构,组件可以是源代码、二进制文件或可执行文件,包含逻辑类的实现信息。实现视图由组件图构成。
构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
9 )配置图, Deployment diagram : 配置图用来显示系统中软件和硬件的物理架构。图中通常显示实际的计算机和设备及其之间的关系。配置图用来构成配置视图,描述系统的实际物理结构。
描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。
软件工程-软件维护
集成技术-数据库与数据仓库
数据库与数据仓库技术
- 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
- 数据仓库系统结构。
集成技术-Web Services技术
Web 服务典型技术:
适用于 Web Service 的情况:跨越防火墙、应用程序集成、 B2B 集成、软件重用。不适用于 Web Service 的情况:单机应用程序,局域 上的同构应用程序。
Web Service 服务协议栈结构如图:
络传输:使用 HTTP / HTTPS 协议传送 XML 表示及封装内容。适合互联 访问。
SOAP :一种轻量的、简单的、基于 XML 的协议,它被设计成在 Web 上交换结构化的和固化的信息,提供了标准的 RPC 方法来调用 Web Service 。在 CORBA 体系中,与 SOAP 对应的是 IIOP。
WSDL :描述提供的服务。
UDDI :发布服务和查找服务。
WSCI :服务的组装。
使用 Web Service 体系结构如图:
集成技术-JavaEE架构和.NET架构
J2EE平台
- JavaEE应用将开发工作分成两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器负责处理,不必为中间层的资源和运行管理进行编码。
- JavaEE应用服务器运行环境主要包括组件、容器、服务三部分。组件是代码,容器是环境,服务是接口。
.NET平台
.NET 整合了全线的微软产品和服务。
.NET的结构:
集成技术-中间件及常用构件标准
中间件是位于硬件、操作系统等平台和应用程序之间的通用服务。
中间件解决了分布系统的异构问题,具有标准的程序接口和协议。
针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
通常将中间件分为:
常用组件标准
- 微软的 COM / DCOM / COM+系列(适合开发基于 Windows 平台下的应用) : COM 是开放的组件标准。 DCOM 在 COM 基础上添加了许多功能和特性,使COM 成为一个完整的组件架构。 COM +综合各技术形成的功能强大的组件架构,通过系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给了系统。
- 公共对象请求代理架构 CORBA ( CORBA , Common Object Request Broker Architecture ) :是 OMG 组织制订的一种标准的面向对象的应用程序架构规范,是为解决分布式处理环境中硬件和软件系统的互连而提出的一种解决方案。
- EJB ( Enterprise JavaBean ) : EJB 是服务器端构件模型,设计目标是部署分布式应用程序。凭借 Java 跨平台的优势,用 EJB 技术部署的分布式系统可以不限于特定的平台。 EJB 属于 J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。 EJB 用于封装中间层的业务。 Java 的 EJB 组件部署在 EJB 容器中,客户应用通过接口访问它们,体现了接口和实现分离的原则。
企业应用集成
企业应用集成( Enterprise Application Integration , EAI )技术可以消除信息孤岛,它将多个企业信息系统连接起来,实现无缝集成,使创门就像一个整体一样。 EAI 是伴随着企业信息系统的发展而产生和演变的,企业的价值取向是推动 EAI 技术发展的原动力,而 EAI 的实现反过来也驱动企业竞争优势的提升。 EAI 可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。
表示集成
表示集成也称为界面集成,这是比较原始和最浅层次的基础,但又是常用的基础。这种方法把用户界面作为公共的焦点,把原有零散的系统界面集中在一个新的界面中。表示集成是黑盒集成,无需了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。
表示集成通常应用于以下几种情况:
数据集成
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元素数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。
通常在以下情况下,将会使用数据集成:
控制集成
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加的代码来实现。控制集成是黑盒集成。
控制集成与表示集成、数据集成相比,灵活性更高。表示集成和数据集成适用的环境下,都适用于控制集成。
业务流程集成
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。
它包括应用集成、 BZB 集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。
原文链接:cyz
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!