资源描述
一:名词解释
构件:语义完整、语法对的和有可重用性价值单位软件,是软件重用过程中可以明确辨识系统,构造上,它是语义描述、通信接口和实当代码复合体。
构件是具备某种功能可重用软件模板单元,表达系统中重要元素和数据存储。
UDDI:Universal Description Discovery and Integration ,UDDI 目是为电子商务建立原则;UDDI是一套基于Web、分布式、为Web Service提供、信息注册中心实现原则规范,同步也包括一组使公司能将自身提供Web Service注册,以使别公司可以发现访问合同实现原则。
层:层是由一组具备相似抽象级别构件构成。
模型:通过主观意识借助实体或者虚拟体现、构成客观阐述形态、构造一种表达目物件(物件并不等于物体,不局限于实体与虚拟、不限于平面与立体)。
SOA:面向服务体系构造,(service-oriented architecture)是构造分布式系统应用程序办法,它将应用程序功能作为服务发送给最后顾客或者其她服务。它采用开放原则、与软件资源进行交互并采用表达原则办法。
体系构造:软件体系构造是具备一定形式构造化元素,即构件集合,涉及解决构件、数据构件和连接构件
连接件:表达构件之间交互。
SOAP:即简朴对象访问合同(Simple Object Access Protocol),它是用于互换XML编码信息轻量级合同。
WSDL:web Service Description Language 缩写,是用来描述Web服务和阐明如何与Web服务通信XML语言,为顾客提供详细接口阐明书。
Web service:一种新web应用程序分支,她们是自包括、自描述、模块化应用,可以发布、定位、通过Web调用。Web service可以执行从简朴祈求到复杂商务解决任何功能。一旦布置后来,其她Web Service可以发现并且调用它布置服务。Web Service是一种应用程序,它可以使用原则互联网合同,像超文本传播合同(HTTP)和XML,将功能大纲性地体当前互联网和公司内部网上。可将Web服务视作Web上组件编程。
视图:视图是一种虚拟表,其内容由查询定义。同真实表同样,视图包括一系列带有名称列和行数据。但是,视图并不在数据库中以存储数据值集形式存在。行和列数据来自由定义视图查询所引用表,并且在引用视图时动态生成。
二、 基本原理
体系构造:软件体系构造为软件系统提供了一种构造、行为和属性高档抽象,由构成系统元素描述、这些元素互相作用、指引元素集成模式以及这些模式约束构成。软件体系构造不但指定了系统组织构造和拓扑构造,并且显示了系统需求和构成系统元素之间相应关系,提供了某些设计决策基本原理。
软件开发四个过程:1.面向过程,2.面向对象,3.基于组件,4.面向服务。
软件体系构造开发四个过程:1.“无体系构造”设计阶段(以汇编语言进行小规模应用程序开发为特性),2.萌芽阶段(浮现了程序构造设计主题,以控制流图和数据流图构成软件构造为特性)3.初期阶段(浮现了从不同侧面描述系统构造模型,以UML为典型代表。)4.高档阶段(以描述系统高层抽象构造为中心,不关怀详细建模细节,划分了体系构造模型与老式软件构造界限,该阶段以Kruchten提出“4+1”模型为标志)。
软件体系构造核心模型:软件体系核心模型由5种元素构成:构件、连接件、配备、端口和角色。其中构件、连接件和配备是最基本元素。
构件:是具备某种功能可重用软件模板单元,表达系统中重要元素和数据存储。
连接件:表达构件之间交互。
配备:表达构建和连接件拓扑逻辑和约束。
端口:表达构件和外部连接交互点。
角色:定义该连接参加者。
构件作为一种封装实体,只能通过其接口与外部环境交互,通过不同端口类型,一种构件可以提供多重接口。
连接件作为建模软件体系构造重要实体,同样也有接口,由一组角色构成,每一种角色定义了该连接件表达交互参加者。
面向过程,开发,语言:面向过程"(Procedure Oriented)是一种以过程为中心编程思想。"面向过程"也可称之为"面向记录"编程思想,就是分析出解决问题所需要环节,然后用函数把这些环节一步一步实现,使用时候一种一种依次调用就可以了。重要语言:Pascal,C。
面向对象思想,语言:面向对象程序设计语言必要有描述对象及其互相之间关系语言成分。这些程序设计语言可以归纳为如下几类:系统中一切事物皆为对象;对象是属性及其操作封装体;对象可按其性质划分为类,对象成为类实例;实例关系和继承关系是对象之间静态关系;消息传递是对象之间动态联系唯一形式,也是计算唯一形式;办法是消息序列。面向对象编程(Object-Oreinted Programming) 是一种编程范式。指在设计程序时大量运用类实例对象方式。OOP一旦在项目中被运用,就成了时刻要考虑东西。重要语言:C++,JAVA.
面向组件思想,语言:面向组件编程思想,归结起来就是四个字:模块分隔。这里“分隔”有两层含义,第一就是要“分”,也就是要将应用程序(特别是大型软件)按功能划提成各种模块;第二就是要“隔”,也就是每一种模块要有相称限度独立性,要尽量与其她模块“隔”开。这四个字是面向组件编程思想精华所在,也是COM精华所在!理解了这四个字,也就真正理解了面向组件编程思想。(这里说一点题外话,COM其实是一套规范或者说一套原则,但是在我看来,COM核心还在于它思想,也就是面向组件编程思想。原则谁都能定,但是思想只有一种!),基于组件开发(Component-Based Development) 是一种软件工程实践,设计时普通规定组件之间高内聚,松耦合。其接口也许是OO,调用方式也许是以Service方式。基于组件开发关注系统层次、子系统边界和子系统间通讯设计,处在代码层面但不像OOP同样是时刻需要运用东西。
面向服务办法,特点(基本环境规定):面向服务架构(Service-Oreinted Architecture) 是将软件设计成一组可互操作服务一套原则或办法论。普通在考虑系统架构时才会触及SOA。SOA是英文Service-Oriented Architecture缩写,是一种进行系统开发新体系架构。在基于SOA架构系统中,详细应用程序功能是由某些松耦合并且具备统一接口定义方式组件(也就是Service)组合构建起来,它因对迅速变化业务环境具备良好适应力而备受关注。
UML中9个图:用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、布置图。
4+1视图:
“4+1”视图模型从5个不同视角涉及逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系构造。
每一种视图只关怀系统一种侧面,5个视图结合在一起才干反映系统软件体系构造所有内容。
(1) 逻辑视图重要支持系统功能需求,即系统提供应最后顾客服务。在逻辑视图中,系统分解成一系列功能抽象,这些抽象重要来自问题领域。这种分解不但可以用来进行功能分析,并且可用作标记在整个系统各个不同某些通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。
(2)开发视图也称模块视图,重要侧重于软件模块组织和管理。
开发视图要考虑软件内部需求,如软件开发容易性、软件重用和软件通用性,要充分考虑由于详细开发工具不同而带来局限性。
开发视图通过系统输入输出关系模型图和子系统图来描述。
(3)进程视图侧重于系统运营特性,重要关注某些非功能性需求。
进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中重要抽象如何适合进程构造。它也定义逻辑视图中各个类操作详细是在哪一种线程中被执行。
进程视图可以描述成多层抽象,每个级别分别关注不同方面。在最高层抽象中,进程构造可以看作是构成一种执行单元一组任务。它可当作一系列独立,通过逻辑网络互相通信程序。它们是分布,通过总线或局域网、广域网等硬件资源连接起来。
(4)物理视图重要考虑如何把软件映射到硬件上,它普通要考虑到系统性能、规模、可靠性等。解决系统拓扑构造、系统安装、通讯等问题。
当软件运营于不同节点上时,各视图中构件都直接或间接地相应于系统不同节点上。因而,从软件到节点映射要有较高灵活性,当环境变化时,对系统其她视图影响最小。
(5)场景可以看作是那些重要系统活动抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要需求抽象。在开发体系构造时,它可以协助设计者找到体系构造构件和它们之间作用关系。同步,也可以用场景来分析一种特定视图,或描述不同视图构件间是如何互相作用。
场景可以用文本表达,也可以用图形表达。
构件重用:构件重用必要完毕如下工作:
1、 检索与提取构件 :(1)基于核心字检索(2)刻面检索法(3)超文本检索法(4)其她检索办法
2、 理解与评价构件 :(1)构件功能与行为;(2)有关领域知识;(3)可适应性约束条件与例外情形;(4)可以预见修改某些及修改办法。
修改构件 :(1)抱负情形是对库中构件不作修改而直接用于新软件项目。(2)但是,在大多数状况下,必要对构件进行或多或少修改,以适应新需求。(3)为了减少构件修改工作量,规定开发人员尽量使构件功能、行为和接口设计更为抽象化、通用化和参数化。
三.画一种“车载”软件体系构造图:
展开阅读全文