软件体系结构复习资料修正版
- 格式:doc
- 大小:45.50 KB
- 文档页数:4
软件体系结构仅供参考Chapter 11.构件的概念,构件的分类方法构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
构件模型是对构件本质特性的抽象描述。
三个主要流派:OMG的CORBA;SUN的EJB;Microsoft的DCOM分类方法:关键字分类法、刻画分类法、超文本组织方法2.软件危机的表现软件成本日益增长、开发进度难控制、软件质量差、软件维护困难3.构件的重用:检索和提取构建,理解和评价构件,修改构件,构件组装。
4.软件体系结构的意义:①是风险承担者进行交流的手段。
②是早期设计决策的体现。
③是可传递和可重用的模型。
5.软件体系结构的发展经历了几个阶段1) "无体系结构" 设计阶段(以汇编语言进行小规模应用程序开发为特征)2) 萌芽阶段(控制流图和数据流图)3) 初期阶段(UML)4) 高级阶段(高层抽象结构为中心)6.软件体系结构定义(填空)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
Chapter 21.软件体系结构建模的种类结构模型、框架模型、动态模型、过程模型、功能模型2.4+1视图(会画图,详细描述)逻辑视图,主要支持系统的功能需求,即系统提供给最终用户的服务开发视图,主要侧重于软件模块的组织和管理。
进程视图,侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图,主要考虑如何把软件映射到硬件上场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来3.软件体系结构的核心模型五种元素[Chapter2 ppt 29]构件、连接件、配置、端口、角色4、软件体系结构的核心模型(会画,1对N的关系)5、软件体系结构的生命周期:需求分析阶段,建立软件体系结构阶段,设计阶段,实现阶段,测试阶段。
软件体系结构(绝密)一、填空题&选择题(50分)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
构件重用包括:代码重用、设计重用、需求重用和软件体系结构重用(抽象级别最高)。
建模是开发优秀软件的所有活动中的核心部分,其目的是把所要设计的结构和系统的行为沟通起来,并对系统的体系结构进行可视化控制。
三种软件体系结构评估方法:体系结构权衡分析法(或:基于场景的权衡分析法)(ATAM 方法)、体系结构结构分析方法(SAAM方法)、中间设计的积极评审(ARID方法)。
ATAM 分为:第一阶段以体系结构为中心,重点是获取体系结构信息并进行分析;第二阶段以风险承担者为中心,重点是获取风险承担者的观点,验证第一阶段的结果。
体系结构风格是一些软件设计框架、设计模式、惯用方法在体系结构设计思想指导下形成可复用的结构样式。
体系结构风格可大致划分为经典样式和派生样式两大类。
UML是一种用于对软件密集型系统进行可视化、详述、构造和文档化的建模语言,主要适用于分析和设计阶段的系统建模。
UML的扩展机制包括:构造性、特征值、约束。
软件体系结构是早期设计决策的体现,代表了系统的公共的高层次的抽象。
消息总线风格(HMB)构件根据需要发出消息,总线把该消息分派到系统中对此消息感兴趣的构件,完成构件之间的通讯。
正交软件体系风格其正交性体现在:线索是相互独立的,即不同线索中的构件之间没有相互调用,是正交的。
它是一中垂直线索构件族为基础的层次化结构。
MVC中变更-传播机制保证了模型和用户接口之间的一致性。
PAC以合作Agent的层次形式定义了交互式软件系统的一种结构。
每个Agent由表示,抽象,和控制三个组件组成。
软件设计模式四个基本要素:模式名称、问题、解决方案、效果。
“4+1”模型:“4”代表逻辑视图、进程视图、物理视图、开发视图,“1”代表场景。
《软件体系结构》期末复习题教学内容《软件体系结构》期末复习题《软件体系结构》期末复习题简答题:1、软件体系结构建模的种类有:结构模型、框架模型、动态模型、过程模型、功能模型。
2、“4+1”视图模型从5个不同的视角包括:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。
连接件:表示构件之间的交互。
配置:表示构件和连接件的拓扑逻辑和约束。
端口:表示构件和外部环境的交互点。
角色:定义了该连接交互的参与者。
4、画出“4+1”视图模型图,分析各部分的原理和功能。
5、软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。
6、软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。
软件体系结构由组件、连接件和属性组成。
7、分层系统的优点有:1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;3)支持重用。
只要提供的服务接口定义不变,同一层的不同实现可以交换使用。
这样,就可以定义一组标准的接口,而允许各种不同的实现方法。
8、分层系统的缺点有:1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;2)很难找到一个合适的、正确的层次抽象方法。
9、 B/S体系结构的优点有什么?答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件体系结构复习资料软件体系结构复习资料软件体系结构是指软件系统中各个组成部分之间的关系和交互方式。
它是软件系统设计的基础,决定了软件系统的可靠性、可维护性和可扩展性。
在软件体系结构的学习中,我们需要了解不同的体系结构模式、设计原则和关键概念。
本文将从这些方面进行复习,帮助读者更好地理解软件体系结构。
一、体系结构模式1. 分层结构模式分层结构模式是一种常见的软件体系结构模式,它将软件系统划分为多个层次,每个层次负责不同的功能。
这种模式有助于实现模块化、可维护性和可复用性。
例如,一个三层架构的Web应用程序可以分为表示层、业务逻辑层和数据访问层,每个层次都有不同的责任和职责。
2. 客户端-服务器模式客户端-服务器模式是一种常见的分布式体系结构模式,它将软件系统划分为客户端和服务器两个部分。
客户端负责用户界面和用户交互,而服务器负责处理业务逻辑和数据存储。
这种模式有助于实现系统的可伸缩性和可扩展性。
3. 主从模式主从模式是一种常见的并行计算体系结构模式,它将软件系统划分为一个主节点和多个从节点。
主节点负责协调和控制整个系统的运行,而从节点负责执行具体的任务。
这种模式有助于提高系统的处理能力和性能。
二、设计原则1. 单一职责原则单一职责原则要求一个类或模块只负责一项功能。
这样可以提高代码的可读性、可维护性和可测试性。
例如,在一个MVC架构中,控制器只负责处理用户请求,模型只负责数据存储和处理,视图只负责展示数据。
2. 开放封闭原则开放封闭原则要求软件系统应该对扩展开放,对修改封闭。
这意味着当需求变化时,我们应该通过扩展现有的代码来满足新的需求,而不是修改已有的代码。
这样可以提高系统的稳定性和可维护性。
3. 依赖倒置原则依赖倒置原则要求高层模块不应该依赖于低层模块,而是应该依赖于抽象。
这样可以降低模块之间的耦合度,提高系统的灵活性和可扩展性。
例如,使用接口来定义模块之间的依赖关系,而不是直接依赖于具体的实现类。
第1章软件体系结构概论软件危机:是指计算机软件的开发和维护过程中所遇到的一系列严重问题.危机的表现:软件成本日益增长、开发进度难以控制、软件质量差、软件维护困难.消除软件危机的方法:软件工程,软件工程三要素:方法、工具和过程。
成因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高.软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相近元素的过程。
软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。
构件:是指语义完整、语法正确和有可用性价值的单位软件。
构件分类方法:关键字分类法、刻面分类法和超文本组织方法.构件重用的过程:检索与提取构件、理解与评价构件、修改构件、构件组装。
构件重用内容:需求重用、设计重用、代码重用和组织机构重用3.掌握软件体系结构的定义、软件体系结构的意义及发展史、软件体系结构研究内容软件体系结构定义:software architecture,是具有一定形式的结构化元素,即构件的集合,包括处理构件,数据构件和连结构件。
意义:1体系结构是风险承担者进行交流的手段2是早期设计决策的体现3是可传递和可重用的模型体现原因:1 明确了对系统实现的约束条件 2 构决定了开发和维护组织的组织结构3制约着系统的质量属性4通过研究软件体系结构可能预测软件的质量5使推理和控制更改更简单6有助于循序渐进的原型设计7可以作为培训的基础四个发展阶段:1“无体系结构”设计阶段:以汇编语言进行小规模应用程序开发为特征2萌芽阶段:出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征3初期阶段:出现了从不同侧面描述系统的结构模型,以UML为典型代表4高级阶段:以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,该阶段以Kruchten提出的“4+1"模型为标志第2章软件体系结构建模软件体系结构模型的种类:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型.“4+1"模型:逻辑视图、进程视图、物理视图、开发视图和场景视图。
15、DSSA的定义答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构16、构件:答案:构件是一个计算单元或数据存储。
也就是说,构件是计算与状态存在的场所。
17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。
18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。
体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。
31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。
42、核心资源答案:是领域工程所有结果的集合,是产品线中产品构造的基础。
33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。
43、软件产品线答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合45、产品线体系结构答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。
3、简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。
4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
(2)体系结构是风险承担者进行交流的手段。
它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。
软件体系结构第5 讲:体系结构风格(一)内容简介:●概述●管道/过滤器风格●仓库风格和黑板风格●分层系统风格●客户服务器风格●软件体系结构风格(模式)定义:–一些特定的元素按照特定方式组成的结构,它有利于解决上下文环境里的特定问题。
描述了一族系统,他们拥有一个类似的结构定义了构件(如客户端、服务器)的字典刻画了构件的主要任务和交互方式●软件体系结构风格与设计模式等的区别●体系结构风格作用促进设计重用–带来代码重用–使系统易于理解–有利于系统的互操作性●体系结构风格分类–固定术语类●管道和过滤器的风格●仓库风格和黑板风格●分层系统风格●客户服务器风格●数据抽象和面向对象风格●基于事件的风格●模型-视图-控制器风格●解释器风格(虚拟机风格)–参考模型类●编译器的顺序参考模型和并行参考模型●信息系统的参考模型管道/过滤器风格●构件:–过滤器(对数据进行处理)●连接件:–管道(传输数据)管道图5-1管道和过滤器风格体系结构●应用:–Unix 的Shell程序cat file |grep xyz |sort |uniq 〉out–编译器–信号处理●编译器从逻辑上可以分成若干阶段,每个阶段把源程序从一种表示变换成另一种表示●优点:–允许构造松散结构的系统–过滤器的重用很方便–易于扩展和修改●缺点:–导致批处理风格的系统设计–交互性不强–同步比较困难–应用范围比较狭隘仓库风格和黑板风格●构件:–中央数据结构(当前状态)–独立构件(对数据进行处理)●运作方式:–主动式:构件自己决定操作–被动式:由数据仓库的当前状态来决定调用构件(黑板系统)●黑板系统三大部分–知识源–黑板数据结构– 控制器● 应用:– 语音识别 – 模式识别 – 三维分子结构建模● 优点:便于多客户共享大量数据,它们不用关心数据何时有的、谁提供的、怎样提供的;– 既便于添加新的作为知识源代理的应用程序,也便于扩展共享的黑板数据结构。
● 缺点:不同的知识源代理对于共享数据结构要达成一致,而且,这也造成对黑板数据结构的修改较为困难——要考虑到各个代理的调用;– 需要一定的同步/加锁机制保证数据结构的完整性和一致性,增大了系统复杂度。
1、软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档、甚至领域知识。
2、软件工程包括3个要素方法、工具、过程。
3、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构件层、通用类构件层、业务构件层、表现层。
4、三层C/S结构风络是由_表示层、功能层、数据层三个层次构成。
5、层次系统最广泛的应用是分层通信协议。
6、、Web服务开发生命周期分为构建、部署、运行、管理四个阶段。
7、MVC模式的中的M,V,C分别对应Mode、View、Controller三个单词。
8、ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指构成体系结构的业务、质量、功能需求。
9、后果描述应用设计模式后的结果、权衡。
10、软件过程是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。
11、基于体系结构的软件开发模型(ABSDM)将软件开发过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。
12、浏览器/服务器(B/S)风格是三层应用结构的一种实现方式,其具体结构分为浏览器、Web服务器、数据库服务器三个部分。
13、软件体系结构设计的核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。
14、构件分类方法可以归纳为三大类,分别是关键字分类法、刻面分类法、超文本组织方法。
15、大量使用构件,软件的灵活性和标准化程度也能得到提高。
16、功能分组可选择的标准包括功能聚合、功能的局部性、数据或计算行为的类似模式、数据类似的抽象级别等四个。
17、面向对象已经成为软件开发的主流思想,以演化和增量方法为基础的迭代开发过程已经成为面向对象开发过程的标准。
18、框架是从特定域中提取出来的一组组件及其相互关系的可重用的体系结构。
19、软件危机的原因:20、在三层C/S体系结构中,中间件是最重要的构件。
21、通常,一个Web服务可以分为四个逻辑层,分别为数据层、数据访问层、业务层、监听者。
软件体系结构复习资料Chapter 11.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
P12.使用软件重用技术可以减少软件开发过程中大量的重复性工作,这样就能提高软件生产率、降低开发成本、缩短开发周期。
P43.一般认为,构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。
简单的说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。
P44.可重用技术对构件库组织方法的要求是:(1)支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构。
(2)不仅要支持精确匹配,还要支持相似构件的查找。
(3)不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件。
(4)对应用领域具有较强的描述能力和较好的描述精度。
(5)库管理员和用户容易使用。
P75.超文本方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
P86.软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
P27Chapter 27.软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型。
P308.“4+1视图模型“从5个不同的视角:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
P319.逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
开发视图也可称模块视图,主要侧重于软件模块的组织与管理。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
物理视图主要考虑如何把软件映射到硬件上,它通常要考虑系统性能、规模和可靠性等。
场景可以看做是那些重要系统活动的抽象,它将四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。
从以上分析可知,逻辑视图和开发视图描述软件的静态结构,进程视图和物理视图描述系统的动态结构。
P31-3610.软件体系结构的核心模型有五种元素构成:构件、连接件、配置、端口和角色,其中构件、连接件和配置是最基本的元素。
构件是具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储。
构件有两种:复合构件和原子构件,复合构件由其他复合构件和原子构件通过连接而成;原子构件是不可再分的构件。
P3711.传统的软件开发过程包括:问题定义、需求分析、软件设计、软件实现和软件测试等。
(需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段。
传统的开发过程包括1,3,4)。
P3812.构件是一个数据单元或一个计算单元,它由构件接口和构件实现模块组成。
构建接口是构件与外部接触点的集合。
P4113.软件体系结构是一个设计,它包括所建立系统中的各元素(构件和连接件)的描述、元素之间的交互、指导装配的范例和对范例的约束。
P44Chapter 314.基于事件隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。
P5215.基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
P5216.隐式调用系统的主要优缺点:优点:1,为软件重用提供了强大的支持;2,为改进系统带来了方便。
缺点:1.构件放弃了对系统计算的控制,2,数据交换的问题;3,既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。
P5217.层次系统最广泛的应用是分层通信协议。
P5318.层次系统的许多可取属性如下:1.支持基于抽象程度递增的系统设计,使设计者可以把一个复杂的系统按照递增的顺序分解。
2.支持功能增强,因为每一层至多与相邻的上下层进行交互,因此功能改变最多影响相邻的上下层。
3.支持重用。
只要提供的服务接口定义不变,同一层的不同实现可以交换使用。
P5319.服务器负责有效地管理系统的资源,其任务集中于:1.数据库安全性的要求。
2.数据库访问并发性的控制。
3.数据库前端的客户应用程序的全局数据完整性规则。
4.数据的备份与恢复。
P5620.客户应用程序的主要任务是:1.提供用户与数据库交互的界面。
2.向数据库服务器提交用户请求并接受来自数据库服务器的信息。
3.利用客户应用程序对存在与客户端的数据执行应用逻辑要求。
P5621.二层C/S结构式单一服务器且以局域网为中心的,所以难以扩展到大型企业广域网或internet。
P5722.三层C/S体系结构分为表示层、功能层和数据层三个部分。
在三层C/S体系结构中,中间件事最重要的构件。
P5923.OOA(面向对象)模型的五个层次或视图:对象-类层,属性层,服务层,结构层,主题层。
P6124.“服务模型”是对所创建的构件进行分组的一种逻辑方式,这种模型与语言无关。
P6225.与C/S体系结构相比,B/S体系结构的不足之处:1.B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
2.B/S体系结构系统扩展能力差,安全性难以控制。
3.采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构。
4.B/S体系结构数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
P6626.正交软件体系结构由组织层和线索的构件组成。
层是由一组具有相同抽象级别的构件构成。
线索是子系统的特例,它是由完成不同层次功能的构件组成,每一条线索完成整个系统中相对独立的一部分功能。
P6927.正交软件体系结构的优点:1.结构清晰,易于理解。
2.易修改,可维护性强。
3.可移植性强,重用粒度大。
P7328.消息总线对消息过滤提供了转换和阻塞两种方式。
P7729.DSSA(特定领域软件体系结构)就是专用于一类特定类型的任务的、在整个领域中能有效的使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。
P89Chapter 430.图形表达工具在软件设计中占主导地位,它是对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法。
P9931.基于软构件的系统描述语言将软件系统描述成一种由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。
P10032.IEEE P1471还讨论了体系结构描述实践,在应用体系结构描述的推荐标准时,应遵循如下几个具体要求:1)体系结构的存档要求。
2)能识别人员及其关系。
3)体系结构视点的选择(视点的具体规格说明)。
4)体系结构视点。
5)体系结构视点之间的一致性。
6)体系结构原理。
P10133.ADL(体系结构描述语言)与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中。
ADL与建模语言的区别在于后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上。
ADL与传统的程序设计语言的构成元素即有许多相同和相似之处,又各自有着很大的不同。
P103 34.体系结构设计是整个软件软件生命周期中最关键的一环,一般在需求分析之后,软件设计之前进行。
P10535.UniCon及其支持工具的主要目的有:1)提供大量构件和连接件的统一的访问。
2)区分不同类型的构件和连接件以便对体系结构配置进行检查。
3)支持不同的表示方式和不同开发人员的分析工具。
4)之处对现有工具的使用。
为了实现目标1),UniCon提供了一组预先定义的构件和连接件类型,体系结构的开发者可以从中选择合适的构件或连接件。
P10636.Wright支持对构件之间交互的形式化和分析。
P10837.Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式并发系统建模。
由五种子语言构成:类型语言,模式语言,可执行语言,体系结构语言,约束语言。
其优点在于能够提供多种分析工具。
(1)类型语言。
定义接口类型和函数类型,支持通过继承已有接口来构造新的接口类型。
(2)模式语言。
定义具有因果、独立、时序等关系的事件所构成的事件模式。
(3)可执行语言。
包含描述构件行为的控制结构。
(4)体系结构语言。
通过定义同步和通信连接来描述构件之间的事件流。
(5)约束语言。
定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式。
P113Chapter 538.软件体系结构中最重要的三个研究方向是:体系结构风格、体系结构连接件和动态体系结构。
P15139.体系结构的动态性主要分为三类:交互式动态性、结构化动态性和体系结构动态性。
P15140.ADL提供了一种形式化机制来描述软件体系结构,这种形式化机制主要通过提供语法和语义描述来模拟构件、连接件和配置。
P15241.基于构件的动态系统结构模型分为三层:应用层、中间层和体系结构层。
P15342.更新执行的步骤:1)检测更新的范围:在执行更新之前,首先要判断是局部更新还是全局更新,局部更新作用于需要更新构件的内部而不想影响系统的其他部分。
全局更新影响系统的其他部分,全局更新需要发送请求到更高的抽象层。
2)更新准备工作:如果更新发生在应用层,构件配置器等待参与的进程发出心信号,以表明他们处于可安全执行更新的状态,如果更新发生在配置层,就需要等待连接件中断信号,与其他构件配置器完成他们的更新。
3)执行更新:执行更新,并告知更新发起者更新的结果。
4)存储更新:将构件或体系结构所做的更新存储到构件或体系结构描述中。
P15543.对动态软件体系结构的形式化描述,通常可以采用图形化方法、代数进程方法、逻辑方法等。
P16344.动态体系结构的特征:1)可构造性动态特征:通常可以通过结合动态描述语言、动态修改语言和一个动态的更新系统来实现。
2)适应性动态特征:它是基于一系列预定于配置而且所有事件在开发期间已经进行了评估。
3)智能性动态特征:用一个有限的预配置记来一出约束。
P165Chapter 645.Web服务体系结构的优势:1)高度的通用型和易用性。
2)完全的平台,语言独立性。
3)高度集成性。
4)容易部署和发布。
P17546.XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言。
P17647.WSDL(Web服务描述语言)是可扩展的。
使得在通信时无论使用何种消息格式或网络协议,都可以对端点及其消息进行描述。
P17948.SOA是一种粗粒度、松耦合的服务体系结构,其服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。
这种模型有一下几个特征:1)松散耦合:松散耦合旨在将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。
2)粗粒度服务,服务粒度指的是服务所公开功能的范围。
3)标准化接口。
P18349.从概念上讲,SOA有三个主要的抽象级别,分别是操作、服务和业务流程。