软件体系结构期末复习资料2016

更新时间:2024-04-08 19:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件体系结构

软件体系结构

第一章:

1、什么是软件体系结构

答:软件体系结构=构件+连接件+约束。软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。

软件体系结构为软件系统提供了一个结构,行为和属性的高级抽象,由构成系统的元素的描述,这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成.软体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

2、软件体系结构形式化方法

答:(1)根据对目标软件系统进行说明的方式:

面向模型的方法。在这个方法中,对目标软件系统的说明是为其构造一个模型,该模型的构成成分是一些具有特性的数据抽象,如 域,元组等

面向性质的方法。这种方法是直接给出目标软件系统的一组特性来描述目标软件系统。通常是目标软件系统必须满足的形式公理,其形式化说明仅描述目标软件系统的性质,而不涉及实现方法。

(2)根据表达能力的形式方法可分为以下五大类

基于模型的方法、代数方法、过程代数方法、基于逻辑的方法、基于网络的方法

3、软件质量定义、软件质量模型

答:软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。

4、软件体系结构的发展经历了几个阶段

1)\无体系结构\设计阶段 (以汇编语言进行小规模应用程序开发为特征)

2) 萌芽阶段 (控制流图和数据流图)

软件体系结构

3)初期阶段 (UML)

4)高级阶段 (高层抽象结构为中心)

5、软件危机的表现

软件成本日益增长、开发进度难控制、软件质量差、软件维护困难

6、软件体系结构的意义

①是风险承担者进行交流的手段。②是早期设计决策的体现。③是可传递和可重用的模型。

7、软件体系结构的发展经历了几个阶段

1) \无体系结构\设计阶段 (以汇编语言进行小规模应用程序开发为特征) 2) 萌芽阶段 (控制流图和数据流图) 3) 初期阶段 (UML)

4) 高级阶段 (高层抽象结构为中心)

第二章:

1、Kruchten 4+1模型描述软件体系结构

Kruchten 4+1模型建立在体系结构的Perry&Wolf定义和Berry Boehm定义的基础上,采用多视图模型的方法描述软件体系结构。该模型由5个视图构成,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

程序员软件管理 逻辑视图 开发视图 最终用户功能

场景视图 系统工程师拓扑通 物理视图 过程视图 集成者 信

性能可扩展性

体系结构的概念在每个视图里面都可以独立应用,并不是所有的软件体系结构都需要完整的4+1视图。

逻辑视图,主要支持功能需求,即系统应当向最终用户提供怎么样的服务。在逻辑视图中,从问题出发,采用面向对象的方法,按照抽象、封装、继承的原则,系统分解成一系列的功能抽象,得到代表着系统的关键抽象表示的峰值。当用面向对象的设计方法时,逻辑视图即是对象模型。

过程视图,考虑的是一些非功能性需求,它所要面对的问题有并发、发布、系统的完整

软件体系结构

性、容错能力等,强调并发性、发布性、系统集成性和容错能力,还要考虑怎样把过程视图与逻辑视图的要点相适应。

开发视图,关注的是软件开发环境中软件模块的实际组织和管理。开发视图通过具有输入输出关系的模块和子系统图来表示。描述开发视图的原则是分割、编组、可视。开发视图侧重的是内部需求,这些需求目的是要使开发相关活动更容易进行。

物理视图,主要考虑如何把软件映射到硬件上。软件系统在计算机网络的各个处理节点上运行,各种被确定的元素——网络、过程、任务和对象——需要映射到各种节点上去。

场景视图,通过使用一些重要的场景,4个视图中的元素可以协调的共同工作。它承担着2个任务:

在软件体系结构设计中,将以此视图为驱动来发现体系结构元素

在体系结构设计结束后,此视图承担验证和描述的角色。它不仅用于书面记录,并且是体系结构原型测试的起始点。

2、体系结构的核心模型

由5种元素组成:构件、连接件、配置、端口、角色,其中构件,连接件和配置是最基本的元素。 (1)构件是具有某种功能的可重用性的软件模板单元,表示了系统中主要的计算元素和数据存储,构件有两种,复合构件和原子构件; (2)连接件表示了构件之间的交互;

(3)配置表示了构件和连接件的拓扑逻辑和约束。

3、软件生命周期

答:是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

软件体系结构

4、构件

答:构件是系统中实际存在的可更换部分,它实现特定的功能,看、构件可以看成数据单元或是计算单元。符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,包括软件代码或其等价物。

构件是指语义完整、语法正确和有课复用价值的单位软件,是软件复用过程中可以明确辨识的系统;结构上,它语义描述、通信接口和实现代码的复合体。

5、连接件

答:连接件是软件体系结构的一个组成部分,他通过对构件间的交互规则的建模来实现构件间的连接,连接件不许编译。

6、软件体系结构范式

答:设A=是一个软件体系结构,若任意一个构件都至少与另一个构件依赖,则称A满足第一范式,记为1NF。

设A=是一个软件体系结构,若A中存在码,则称A满足第二范式,记为2NF。 设A=是一个软件体系结构,若A中存在码,若A满足第一范式,并且C中的构件都为事件依赖,则称A满足可靠性范式,记为RNF。

7、软件复用定义

软件复用是一种由预先构造好的、为复用目的而设计的软件构件来建立或者组装软件系统的过程。

8、构件的特点

以二进制形式存在,软件构件一般不再以源代码方式实现复用 可与其他独立开发的软件构件协同工作 软件构件具有相对独立的功能 与程序设计语言无关

成为其他软件构件的生成模块 存储在构件库中的长久实体 有提供和请求服务的插件 有良好定义的接口 属于某种构件模型 有充分的自容性

软件体系结构

9、构件的分类

根据构件复用的方式,分为黑盒构件和百盒构件。黑盒构件不需要了解内部结构,能通过接口从外部调用,能达到即插即用的构件,白盒构件是必须经过修改才能复用的构件。

根据功能用途,可分为系统构件、支撑构件和领域构件。系统构件在整个构件集成环境和运行环境中都可以使用的构件,支撑构件是在构件集成环境和构件管理系统中使用的构件,领域顾客是为专门应用领域制作的构件。

根据粒度大小可分为基本数据结构类构件、功能构件和子系统构件

根据构件复用时的形态,分为动态构件和静态构件,动态构件是运行时刻动态嵌入、链接的构件,静态构件如源代码构件系统分析构件设计构件等。

根据构件的外部形态,可分为独立而成熟的构件、有限制的构件、适应性构件、装配的构件和可修改的构件。

根据构件的结构,分为原子构件和组合构件 根据构件的来源,分为自开发构件和第三方构件

10、3C模型

模型是由Tracz提出的构件描述模型,3C分别代表概念、内容和语境,概念是对构件做什么的描述,内容描述了构件被如何实现,语境将可复用构件放置到其可应用的领域中,也就是说,通过刻画概念的、操作的和实现的特征,让软件开发人员能够搜索到适当的构件以满足应用需求。

第三章:

1、管道和过滤器风格

答:在管道过滤器模式下,功能模块称作过滤器;功能模块间的连接可以看作输入、输出数据流之间的通路,所以称作管道。

2、客户机——分配器——服务器风格

答:客户机的任务是去执行特殊领域的任务。为了执行处理任务,客户机访问由服务器提供的操作。在发送请求给服务器之前,客户机向分配器请求信道。客户机利用这个和服务器通信。

服务器为客户机提供一组操作。它既可以注册自身,也可以通过其名字和地址向分配器进行注册。一个服务器组件可以与客户机位于同一台计算机,也可以位于网络的某个节点处。

分配器提供在客户机和服务器间建立通信信道的功能。要实现这一点,需要取出服务器组件的名字并将这个名字映射成为服务器组件的物理地址。

软件体系结构

3、分层系统风格

答:所谓分层体系结构,是按层次组织软件的一种软件体系结构,其中每一层软件建立在低一层的软件层上。

分层风格的主要特征是第J层的服务只被第J+1层使用-----层之间没有更进一步的自己依赖关系。

分层风格的体系结构的优点:

由于对层次的邻接层数目进行glen限制,所以系统易于改进和扩展。 每一层的软件都易于重用,并可为某一层次提供多种可互换的具体实现。 分层系统所支持的设计体现了不断增加的抽象层次,这样一个复杂问题的求解就被分解为一系列递增的步骤。

标准化支持。清晰定义和接受共同的抽象层能促进标准化任务和接口的开发,同一接口的不同实现可以替换使用。

余部依赖性。层之间的标准化接口往往会限制被改动层的改动代码的影响。 可替换性。独立层实现不需要太费劲就可以被语义上等价的实现所替换。 分层风格的体系结构的缺点有:

应当如何界定是层次间的划分是一个比较复杂的问题。 更改行为的重叠。层的行为改变时会出现一个严重的问题。 降低效率。说起来一个分层体系结构的效率往往要低于整体结构或一个“对象的海洋”。 不必要的工作。如果底层执行的某些服务执行了多余或重复的工作,而这些工作并非高层真正需要的,那么这对性能的影响是负面的。

难以认可层的正确粒度。层数太少的分层体系结构不能完全发挥这种模式在可重用性、可更改性和可移植性上的潜力。

4、三层C/S(客户/服务器)风格优点:

(1)允许合理得划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性; (2)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且这些平台和各个组成部分可以具有良好的可升级性和开放性; (3)应用的各层可以并行开发,可以选择各自最适合的开发语言; (4)利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法访问数据层,为严格的安全管理奠定了坚持的基础。 三层比二层好在:三层C/S体系结构中增加了一个应用服务区可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在客户机上,三层C/S体系结构将应用层序分成表示层,功能层和数据层三部分。

5、同传统分布式体系结构比Web服务体系结构主要优势:

高度的通用性和易用性;

软件体系结构

完全的平台,语言独立性; 高度的集成性; 容易部署和发布

6、与C/S相比,B/S的优点:

基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级; B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

7、应用实例变电综合信息管理系统和内外有别模型,查改有别模型(C/S,B/S混合)

变电综合信息管理系统 (给实例,画系统模型图)

内外有别模型(内部C/S,外部B/S)

软件体系结构

查改有别模型:(查询浏览B/S,维护修改C/S)

8、会议安排系统的C2风格:

系统包含了3种功能构件分别是一个Meeting Initiator,若干个Attendee和ImportantAttendee,3个连接件(MainConn,AttConn,Important AttConn)用来在构件之间传递消息,某些消息可由MeetingInitiator同时发送给Attendee和Important Attendee,但还有某些消息只能传递给Important Attendee。

9、SIS的体系结构:

上级系统的功能约束由一个互联系统构成的系统来实现,其中一级从属系统ABC分别试上级系统abc的具体实现,二级从属系统中的A1和A2分别是一级从属系统A的子系统a1和a2的具体实现。

软件体系结构

10、Web服务模型

发布:服务提供者向服务代理发布所提供的服务; 发现:服务请求者向服务代理发出服务查询请求; 绑定:服务的具体实现.服务提供者提供服务,并进行注册以便服务可用,服务代理起中介作用,它是服务的注册场所充当服务提供者和服务请求者之间的媒介,服务请求者可在应用程序中通过向服务代理请求服务调用所需服务。

第四章:

1、面向服务的体系结构

答:面向服务的体系结构是一个组件模型。面向服务的体系结构将应用程序中的不同功能单元称为服务,并通过对这些服务之间定义良好的接口而将其联系起来。

这种具有中立的接口定义的特征称为服务之间的松耦合。松耦合系统的好处有两点:一点是它的灵活性;另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐发生改变时,它能够继续存在。然而,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,系统就显得非常脆弱。

软件体系结构

2、什么是ADL

体系结构描述语言(ADL)是软件体系结构研究的核心问题之一,ADL使用符号标记把系统分解成构件和连接件,并且说明了这些元素如何连接在一起构成一个配置。它不但是形式化描述软件体系结构的基本工具,而且也是对软件体系结构进行求精、验证、演化和分析的前提和基础。

3、典型的ADL

C2,C2 是一种基于构件和消息的ADL,适用于大型频繁交互的层次型图形用户界面的软件体系结构描述。C2构件包含4个内部部分:内部对象、包装器、对话和域转换器,内部对象存储构件状态并实现构件所提供的操作;包装器监控所有操作请求,并通过底端接口发送通知;对话负责把接收到的外部消息映射成内部对象上的操作;域转换器是可选的,它可以修改一些消息使其能被其他构件理解,这样一个构件就能在特定的体系结构中适用。

Darwin与Wright,Darwin与Wright分别将∏演算和CSP作为其数学基础,适用于分布式并发类型的体系结构描述。Darwin和其他ADL类似,把构件这个概念作为系统的基本构成元素,在Darwin中,对于构件,主要关心的是它为其他构件提供了哪些服务,他们需要其他构件的哪些服务。Wright的关键思想是把体系结构连接件定义为明确的语义实体,Wright的主要特点是对体系结构和抽象行为的精确描述。定义体系结构风格的能力和一组对体系结构描述进行一致性和完善性的检查。

ACME是一种体系结构交互语言,支持从一种ADL向另一种ADL规格说明的转换,ACME的核心概念以7种类型的实体为基础:构件、连接件、系统、端口、角色、表述和表述图,支持系统结构的分级描述,特别是每个构件或连接件都能用一个或多个更详细更低层的描述来表示。ACME主要考虑的是体系结构的构造,因此并不包含体系结构的计算语义,而依靠一个开放的语义框架。因此严格来说,ACME并不是一种真正意义上的ADL,而是一种体系结构变换语言,它提供了一种在不同ADL的体系结构规范描述之间实现变换的机制。ACME从4个不同的方面对软件体系结构进行描述,分别是结构、属性、约束、类型和风格。

UniCon是一种围绕着构件和连接件这2个基本概念组织的体系结构描述语言。UniCon的主要目的在于支持对体系结构的描述,对构件交互模式进行定位和编码,并且对需要不同交互模式的构件的打包加以区分。具体来说UniCon及其支持工具的主要目的有:

提供对大量构件和连接件的统一的访问。

区分不同类型的构件和连接件以便对体系结构配置进行检查。 支持不同的表示方式和不同的开发人员的分析工具。 支持对现有构件的使用

Aesop是一个软件体系结构设计环境生成器,它的最初目标就是要提供一个用于构造开放的、最初体系结构风格的体系结构设计环境开发工具包。它的基本思路是:要使定义新的风格变的容易,从而让设计者能够利用这些风格进行体系结构设计。每个这样的环境度支持以下5个方面:

与风格词汇表相对应的一系列设计元素类型,即特定风格的构件和连接件 检查设计元素的成分,满足风格的配置约束 优化设计元素的语义描述

软件体系结构

一个允许外部工具进行分析和操作体系结构描述的接口

多风格特定的体系结构的可视化,以及操作它们的图形编辑工具 Rapide是一种基于事件的、用于定义并执行系统体系结构模型的计算机语言,还包括与这个语言相关的模仿工具集,是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式并发系统建模。Rapide由5种子语言构成:

类型语言,定义接口类型和函数类型,支持通过继承已有的接口来构造新的接口类型 模式语言,定义具有因果、独立、时序等关系的事件所构成的事物模型 可执行语言,包含描述构件行为的控制结构 约束语言,定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式

Rapide的优点在于能够提供多种分析工具,它所支持的分析都基于检测在某个模拟过程中的事件是否违法了某种次序关系

MetaH的目的是支持实时、容错、安全、多处理、嵌入式的软件体系系统的分析、验证和生产。MetaH提供了集成的、可跟踪的体系结构规格说明、分析和实现,能够进一步保证系统行为与模型一致,降低建模、实现、调试和验证的难度,能通过更精确、快速的设计评估改善系统设计质量。MetaH语言不仅有文本方式的语法描述,又能以图形方式描述。

SADL语言提供了对软件体系结构的精确文本表示,同时保留了直观的框线图模型,明确区分了多种体系结构对象。SADL不仅提供了定义体系结构的功能,而且能够定义对体系结构的特定类约束。SADL的一个独特方面是对体系结构层次体系的表示和推理。SADL模式支持结构改进,即把一个体系结构系统地转化成另一个包含不同体系结构概念的体系结构。

第五章:

1、UML的主要内容

用例图;类图;对象图;顺序图;通信图;状态图;活动图;构件图;部署图

第七章: 1、∏演算的定义

答:∏演算是移动、交互、并发系统的理论模型,它提供相关的概念框架和数学工具,用于表达移动、交互系统和推论它们的行为,达到增强对已堕落感系统的理解的目的。

2、化学抽象机模型

答:化学抽象机(chemical abstract machine,CHAM)是一种对动态软件体系结构的分析、测试非常有用的形式化描述技术。

软件体系结构

第八章:

5、一个SOA系统中的各个组成元素:

(1)其功能部分包括以下元素:

通信。表示了服务提供者和服务使用者之间的消息传输所采用的协议。如HTTP、FTP等。

服务通信协议。表示了服务之间通信所采用的协议,即服务气功这和使用者之间如何理解双方互相发送的消息。这种协议如SOAP等。

服务描述。表示了如何对服务本身进行描述,即描述了服务所需的入口参数、返回值、服务所在位置等信息。这样的描述有WSDL等。

服务。表示了可被调用的服务本身。 业务流程。表示了为达到业务需求目的而按照规则和一定序列调用的一组服务集合,它可以将细粒度的服务组合为粗粒度的服务。浙西饿业务流程描述通常有BPM、WSFL、BPEL等。

服务登记。保存有服务数据和描述信息。服务提供者可以将其服务信息发布在此,服务使用者可以在这里查找服务。 (2)服务质量包括了下列部分:

规则。表示了一组可以是服务使用者得到服务提供者所提供服务的规则。

安全。表示了一组服务在服务使用者的认证、授权、访问控制等方面的规则。 交互。表示了一组服务在共同完成一项了俩书时所要遵循的属性。 管理。表示了用以管理服务提供者和服务使用者的一组属性。

第十章:

1、什么是风险分析?分析方法有哪些?

风险分析是系统安全性工程中一种系统分析方法。 主要有以下分析方法:

失效模式和后果模式分析,是一种非常有用的方法,主要用于预防失效。

失效模式、后果与严重度分析,是失效模式和后果分析的一个扩展,应用于考虑每个组件失效的重要性

风险和可操作性研究,使用一系列的向导词调查来自系统操作每个阶段正规状况下的后果

事件树分析,又称决策树分析,是在给定系统起始事件的情况下,分析此事件可能导致的各种事件的一系列结果,从而定性与定量的评价系统的特性,并帮助人们做出处理或防范的决策

失效树分析,又称因果树分析,在产品设计阶段,失效树分析可帮助判明潜在危险的模

软件体系结构

式和灾难性危险因素,发现系统或装置的薄弱环节,以便改进设计,也可以作为事故发生后的调查手段。

改进的风险分析方法,用来确定系统中的组件及可能存在的错误模式。

第十一章: 1、性能恢复技术

恢复技术主要分两大类:向前错误恢复和向后错误恢复。向前错误恢复是根据系统的故障特征,校正出错的系统状态,使系统进程正确运行下去的的一种恢复技术。这种技术不需要保存系统出错钱的状态和信息,不需要返回重运行,因此它导致的系统开销小,可避免多米诺效应,但其算法复杂,必须基于对故障特征和性质的全面而深刻的认识,因此恢复的可靠性会受到影响,而且不能采取措施来消除错误或掩盖故障。向后恢复技术是把出错的系统进程从当前错误状态返回到以前的某一正确状态,然后从这一状态开始继续系统的运行。这种恢复技术是以事先建立恢复点位基础的,因此实现简单、恢复可靠,但为了保存恢复点内容和完成返回重来的操作,系统的时间、空间开销会很大且容易引起多米诺效应。

2、软件抗衰技术

软件抗衰技术SR就是当计算机系统的性能衰退到一定程度时,终止程序的继续运行,重启系统以清理其内部状态,从而释放操作系统资源,使系统性能得到回复。

第十二章

1、什么是设计模式?模式分类

设计模式是利用面向对象技术来解决特定环境中问题的方法,是整个软件行业不断积累的集体智慧的结晶。

按照其目的可分为3类: 创建模式:Factory(工厂模式)、Prototype(原型模式)、Builder(建造模式)、Singleton(单利模式)和Adapter(适配器模式)

结构模式:Fa?ade(门面模式)、Proxy(代理模式)、Composite(组合模式)、Decorator(装饰模式)、Bridge(桥接模式)和Flyweight(享元模式)

行为模式:Template(模板模式)、Memento(备忘录模式)、Observer(观察者模式)、Chain of Responsibility(反映链)、Command(命令模式)、State(状态模式)、Strategy(策略模式)、Mediator(中介者模式)、Interpreter(解释器模式定义)、Visitor(迭代器模式)

软件体系结构

2、软件过程管理

软件过程管理是能够在可控制、可预测的前提下,不断优化和提高软件开发的品质和降低成本,保证一个软件高品质和低成本是进行软件过程管理的最终目的。

3、软件规模度量

软件规模度量可分为初步度量和详细度量。初步度量是在需求分析和详细设计未完成之前,通过对软件功能分析得出结果。详细度量是在需求分析和详细设计以后所进行的度量,通过参考开发过程中的详细度量结果,可以对根据初步度量做出的计划安排进行调整,以达到更好的资源配置。

软件规模度量的方法有:FPA方法、MarkⅡMethod方法、特征点方法、3D功能点方法、构造性成本模型和COSMIC-FFP方法。

软件体系结构

填空题:

1.构件是指语义完整,语法正确和有可重用价值的单位软件是软件重用过程中可以明确便是的系统;结构上它是予以描述,通讯接口和实现代码的复合体.

2.构件获取渠道(1)直接使用作适应性修改(2)通过遗留工程(3)市场上购买(4)开发新的构件 3.构件分类与组织:关键字分类法,刻面分类法,超文本组织方法

4.基于数据的组装技术:这种组装技术也要求库中构件以子程序形式出现 5.软件体系结构建模种类:结构模型,框架模型,动态模型,过程模型,功能模型 6.体系结构风格定义了一个系统家族即定义了一个词汇表和一组约束 7.有两种不同构件:中央数据结构说明当前状态,仓库是一黑板系统 8.C/S体系结构有三个主要组成部分:数据库服务器,客户应用程序,网络 9.ADL的基本元素:构件,连接件,体系结构配置

10.软件体系结构描述方法:图像表达工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言

11.Web服务:数据层,数据访问层,业务层,业务面,监听者

12.简单对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表示,SOAP绑定

13.Web服务特点:使用标准规范协议;使用协议的规范性;高度集成能力;完好的封装;松散耦合

选择题:

1构件模型的三个主要流派OMG,Sun的EJB,Microsoft的DCOM 2.构件管理:构件描述,构件分类与组织,人员及权限管理

3.构件重用:检索与提取构件,理解与评价构件,修改构件,构件组装

4.软件体系结构的发展史:无体系结构设计阶段,萌芽阶段,初期阶段,高级阶段 5.分层系统优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用 6.黑板系统的构成:知识源,黑板数据结构,控制

7.面向对象系统优点:改变一个对象的表示不影响其他对象;分解成一些交互的代理程序集合 8.W3C是万维网联盟

9.Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制

10.Web服务就像Web上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序就像调用本地服务一样

11.Web服务开发生命周期:构件,部署,运行,管理 12.Web服务栈:程序设计语言

【程序构件(组成程序的基本元素及其取值或值域范围) 操作符(连接构件的各种功能符号)

抽象规则(有关构件和操作符的命名表达规则)

限制规则(一组选择并决定具体使用何种抽象规则来作用于有关的基本构件及其操作符的规则和原理)

规范说明(有关句法的语义关联说明)】

软件体系结构【系统构件(模块化级别的系统组成成分实体,这些实体可以被施以抽象的特性化处理,并以多种方式得到使用)

连接件(对组成系统的有关抽象实体进行各种连接的连接机制)

组合模式(系统中的构件和连接件进行连接组合的特殊方式也就是软件体系结构风格)

限制规则(决定有关模式能够作为子系统进行大型软件系统构造和开发的合法子系统的有关构件)

软件体系结构

规范说明(有关系统组织结构方面的语义关联说明)】

判断题:

1.软件危机的表现:软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难

2.软件危机原因:用户需求不明确;缺乏正确的理论指导;软件规模越来越大;软件复杂度越来越高

3.软件体系结构是在需求分析之后软件设计之前

4.一个连接件可以和任意数目的其他构件和连接件连接

5.动态软件体系结构:容许在系统运行时发生更新的软件体系结构叫做动态体系结构.动态体系结构在被创建后可以动态的更新

6.数据流风格:批处理序列,管道/过滤器;调用/返回风格:主程序/子程序,面向对象风格,层次结构;独立构件风格:进程通讯,事件系统;虚拟机风格:解释器,基于规则的系统;仓库风格:数据库系统,超文本系统,黑板系统

7.2层C/S优点:具有强大的事务处理能力 8.3层C/S增加了功能层可以增家安全性

9.软件体系结构是可传递和可重用的模型,软件体系结构的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响

Chapter 1

1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2、使用软件重用技术可以减少软件开发过程中大量的重复性工作,这样就能提高软件生产率、降低开发成本、缩短开发周期。

3、一般认为,构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。简单的说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。

4、可重用技术对构件库组织方法的要求是:(1)支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构。(2)不仅要支持精确匹配,还要支持相似构件的查找。(3)不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件。(4)对应用领域具有较强的描述能力和较好的描述精度。(5)库管理员和用户容易使用。

5、超文本方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。 6、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。

Chapter 2

7、软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型。

8、“4+1视图模型“从5个不同的视角:逻辑视图、进程视图、物理视图、开发视图和

软件体系结构

场景视图来描述软件体系结构。

9、逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图也可称模块视图,主要侧重于软件模块的组织与管理。进程视图侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。物理视图主要考虑如何把软件映射到硬件上,它通常要考虑系统性能、规模和可靠性等。场景可以看做是那些重要系统活动的抽象,它将四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。 从以上分析可知,逻辑视图和开发视图描述软件的静态结构,进程视图和物理视图描述系统的动态结构。

10、软件体系结构的核心模型有五种元素构成:构件、连接件、配置、端口和角色,其中构件、连接件和配置是最基本的元素。构件是具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件,复合构件由其他复合构件和原子构件通过连接而成;原子构件是不可再分的构件。

11、传统的软件开发过程包括:问题定义、需求分析、软件设计、软件实现和软件测试等。(需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段。传统的开发过程包括1,3,4)。

12、构件是一个数据单元或一个计算单元,它由构件接口和构件实现模块组成。构建接口是构件与外部接触点的集合。

13、软件体系结构是一个设计,它包括所建立系统中的各元素(构件和连接件)的描述、元素之间的交互、指导装配的范例和对范例的约束。

Chapter 3

14、基于事件隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。

15、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。

16、隐式调用系统的主要优缺点:优点:1,为软件重用提供了强大的支持;2,为改进系统带来了方便。缺点:1.构件放弃了对系统计算的控制,2,数据交换的问题;3,既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。

17、层次系统最广泛的应用是分层通信协议。

18、层次系统的许多可取属性如下:1.支持基于抽象程度递增的系统设计,使设计者可以把一个复杂的系统按照递增的顺序分解。2.支持功能增强,因为每一层至多与相邻的上下层进行交互,因此功能改变最多影响相邻的上下层。3.支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。

19、服务器负责有效地管理系统的资源,其任务集中于:1.数据库安全性的要求。2.数据库访问并发性的控制。3.数据库前端的客户应用程序的全局数据完整性规则。4.数据的备份与恢复。

20、客户应用程序的主要任务是:1.提供用户与数据库交互的界面。2.向数据库服务器提交用户请求并接受来自数据库服务器的信息。3.利用客户应用程序对存在与客户端的数据执行应用逻辑要求。

21、二层C/S结构式单一服务器且以局域网为中心的,所以难以扩展到大型企业广域网或internet。

22、三层C/S体系结构分为表示层、功能层和数据层三个部分。在三层C/S体系结构中,中间件事最重要的构件。

23、OOA(面向对象)模型的五个层次或视图:对象-类层,属性层,服务层,结构层,

软件体系结构

主题层。

24、“服务模型”是对所创建的构件进行分组的一种逻辑方式,这种模型与语言无关。 25、与C/S体系结构相比,B/S体系结构的不足之处:1.B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。2.B/S体系结构系统扩展能力差,安全性难以控制。3.采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构。4.B/S体系结构数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。

26、正交软件体系结构由组织层和线索的构件组成。层是由一组具有相同抽象级别的构件构成。线索是子系统的特例,它是由完成不同层次功能的构件组成,每一条线索完成整个系统中相对独立的一部分功能。

27、正交软件体系结构的优点:1.结构清晰,易于理解。2.易修改,可维护性强。3.可移植性强,重用粒度大。

28、消息总线对消息过滤提供了转换和阻塞两种方式。

29、DSSA(特定领域软件体系结构)就是专用于一类特定类型的任务的、在整个领域中能有效的使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。

Chapter 4

30、图形表达工具在软件设计中占主导地位,它是对于软件体系结构的描述和表达,一种简洁 易懂且使用广泛的方法。

31、基于软构件的系统描述语言将软件系统描述成一种由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。

32、IEEE P1471还讨论了体系结构描述实践,在应用体系结构描述的推荐标准时,应遵循如下几个具体要求:

1) 体系结构的存档要求。 2) 能识别人员及其关系。

3) 体系结构视点的选择(视点的具体规格说明)。 4) 体系结构视点。

5) 体系结构视点之间的一致性。 6) 体系结构原理。

33、ADL(体系结构描述语言)与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中。ADL与建模语言的区别在于后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上。ADL与传统的程序设计语言的构成元素即有许多相同和相似之处,又各自有着很大的不同。P103

34、体系结构设计是整个软件软件生命周期中最关键的一环,一般在需求分析之后,软件设计之前进行。

35、UniCon及其支持工具的主要目的有: 1) 提供大量构件和连接件的统一的访问。

2) 区分不同类型的构件和连接件以便对体系结构配置进行检查。 3) 支持不同的表示方式和不同开发人员的分析工具。 4) 之处对现有工具的使用。 为了实现目标1),UniCon提供了一组预先定义的构件和连接件类型,体系结构的开

发者可以从中选择合适的构件或连接件。

36、Wright支持对构件之间交互的形式化和分析。

软件体系结构

37、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式并发系统建模。由五种子语言构成:类型语言,模式语言,可执行语言,体系结构语言,约束语言。其优点在于能够提供多种分析工具。

(1)类型语言。定义接口类型和函数类型,支持通过继承已有接口来构造新的接口类型。

(2)模式语言。定义具有因果、独立、时序等关系的事件所构成的事件模式。 (3)可执行语言。包含描述构件行为的控制结构。

(4)体系结构语言。通过定义同步和通信连接来描述构件之间的事件流。

(5)约束语言。定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式。

Chapter 5

38、软件体系结构中最重要的三个研究方向是:体系结构风格、体系结构连接件和动态体系结构。

39、体系结构的动态性主要分为三类:交互式动态性、结构化动态性和体系结构动态性。 40、ADL提供了一种形式化机制来描述软件体系结构,这种形式化机制主要通过提供语法和语义描述来模拟构件、连接件和配置。

41、基于构件的动态系统结构模型分为三层:应用层、中间层和体系结构层。 42、更新执行的步骤:

1) 检测更新的范围:在执行更新之前,首先要判断是局部更新还是全局更新,局部更

新作用于需要更新构件的内部而不想影响系统的其他部分。全局更新影响系统的其他部分,全局更新需要发送请求到更高的抽象层。

2) 更新准备工作:如果更新发生在应用层,构件配置器等待参与的进程发出心信号,

以表明他们处于可安全执行更新的状态,如果更新发生在配置层,就需要等待连接件中断信号,与其他构件配置器完成他们的更新。 3) 执行更新:执行更新,并告知更新发起者更新的结果。

4) 存储更新:将构件或体系结构所做的更新存储到构件或体系结构描述中。

43、对动态软件体系结构的形式化描述,通常可以采用图形化方法、代数进程方法、逻辑方法等。

44、动态体系结构的特征:

1) 可构造性动态特征:通常可以通过结合动态描述语言、动态修改语言和一个动

态的更新系统来实现。 2) 适应性动态特征:它是基于一系列预定于配置而且所有事件在开发期间已经进

行了评估。

3) 智能性动态特征:用一个有限的预配置记来一出约束。

Chapter 6

45、Web服务体系结构的优势:

1) 高度的通用型和易用性。 2) 完全的平台,语言独立性。 3) 高度集成性。

软件体系结构

4) 容易部署和发布。

46、XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言。

47、WSDL(Web服务描述语言)是可扩展的。使得在通信时无论使用何种消息格式或网络协议,都可以对端点及其消息进行描述。

48、SOA是一种粗粒度、松耦合的服务体系结构,其服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。这种模型有一下几个特征:

1) 松散耦合:松散耦合旨在将服务使用者和服务提供者在服务实现和客户如何使

用服务方面隔离开来。

2) 粗粒度服务,服务粒度指的是服务所公开功能的范围。 3) 标准化接口。

49、从概念上讲,SOA有三个主要的抽象级别,分别是操作、服务和业务流程。

Chapter 7

50、设计模型的概念最早是由美国的一位叫做christopher Alexander的建筑理论家提出来的。

51、设计模型的组成:模式名称、问题、解决方案、后果。

52、软件体系结构的可靠性风险分析方法:动态方法、构件依赖图。 53、构件依赖图是用于在体系结构级进行可靠性分析的概率模型。

本文来源:https://www.bwwdw.com/article/5zgr.html

Top