软件体系结构--复习资料

更新时间:2023-04-16 20:57:01 阅读量: 实用文档 文档下载

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

15、DSSA的定义

答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构

16、构件:

答案:构件是一个计算单元或数据存储。也就是说,构件是计算与状态存在的场所。17、连接件:

答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。18、体系结构配置:

答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。

31、模式

答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。

42、核心资源

答案:是领域工程所有结果的集合,是产品线中产品构造的基础。

33、设计模式

答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

43、软件产品线

答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合

45、产品线体系结构

答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。

3、简要概产生软件危机的原因

答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。

4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?

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

(2)体系结构是风险承担者进行交流的手段。它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。

6、体系结构的生命周期模型分为哪几个阶段?

答案:1、需求分析阶段 2、建立软件体系结构阶段 3、设计阶段 4、实现阶段

10、DSSA与体系结构之间有何关联?

答案:

1、DSSA是以问题域为出发点,而软件体系结构是以解决域为出发点的;

2、DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构专家知识的组织时可以扩展到多个应

1 / 15

用领域;

3、DSSA的特定领域参考体系结构通常选一个或多个体系结构风格,并设计一个专用的体系结构分析设计工具;

4、体系结构风格的定义和应用领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用要广泛

18、在C2中,连接件和构件是如何工作的?

答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息。每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息。构件之间的消息交换不能之间进行,而只能通过连接件来完成

22、动态体系结构特征有哪些?

答案: 1、可构造性动态特征 2、适应性动态特征 3、智能型动态特征

23、请简述基于构件的动态体系结构模型是如何支持运行系统更新的?

答案:1、检测更新的范围 2、更新准备工作 3、执行更新 4、存储更新

33、设计模式可以分为几类?

答案:创建型、结构型、行为型。

39、所有评估方法关注的质量属性有哪几个?

答:1、性能 2可靠性(容错,健壮性) 3可用性 4安全性 5可修改性 6功能性 7可变性 8集成性 9互操作性

40、ATAM评估方法的基本步骤是什么?

(1)描述ATAM方法(2)描述业务动机(3)描述体系结构(4)确定体系结构方法(5)生成质量属性效用树(6)分析体系结构方法(7)讨论和分级场景(8)分析体系结构方法(9)描述评估结果

41、软件体系结构评估对主要方式有哪些?

1.基于调查问卷或检查表的评估方式

调查问卷是一系列可以应用到各种体系结构评估对相关问题,这些问题可能涉及体系结构对设计决策,文档,描述本身对细节问题等质量属性。这一评估方法比较灵活自由,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。尽管此方式相对比较主观,但他仍然是进行软件体系结构评估对重要途径之一。

2.基于场景的评估方式

场景是一系列有序使用或修改系统的步骤。这种软件体系评估方式分析软件体系结构对场景也就是对系统对使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表对质量需求对满足程度。

3.基于度量的评估方式

度量是指为软件产品对某一属性所赋予对数值。此评估技术涉及3个基本活动:首先需要建立属性和质量之间的映射关系,然后从软件体系结构文档中获取度量信息,最后根据映射原则分析推导出系统对某些质量属性。

4.比较

从通用性,评估者对体系结构对了解程度,评估实施阶段,评估方式的客观程度等方面对三类方式进行简单的比较

2 / 15

1、构件

CMU/SEI把构件定义为:一个不透明的功能实现;能够被第三方组装;还符合一个构件模型。

由不同的定义,可将构件理解为:构件是预先创建的;构件是黑盒的;构件是可分离的;构件能用于组装和部署;构件需要称为构件容器技术的支持。

2、软件复用:

指在两次或多次不同的软件开发过程中重复使用相同或相近的软件元素的过程。广义的理解,软件复用就是开发粒度合适的构件,然后重复使用这些构件。

3、软件构件模型

构件模型是对构件本质特性的抽象描述。具体来说,构件模型定义了什么是构件、构件的依据、如何使用其它构件提供的服务等。将构件的规格说明和具体实现相分离,依靠构件实现的具体模式来推导出构件所提供的服务,可以构造一个构件模型。

4、领域工程:

领域工程:是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动。其中,“领域”是指一组具有相似或相近需求的软件应用系统所覆盖的功能区域。

5、软件体系结构

[1] Garlan & Shaw:软件体系结构(SA)是一个三元组:

SA={components, connectors, constrains}

构件(component):可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器)

连接件(connector):是关系的抽象,用以表示构件之间的相互作用。

限制(constrain):用于对构件和连接件的语义说明。

[2] IEEE 610.12-1990软件工程标准词汇中的定义:

SA={component,connector,environment,principle};

即软件体系结构是一个四元组,是以:构件,构件之间的关系,构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。

根据各种软件体系结构的定义,可将软件体系结构理解为:在软件密集的大规模系统中,在具有类似需求和结构的软件产品线的开发中,必须从一个较高的层次来考虑组成系统的构件、构件之间的交互,以及由构件与构件的交互形成的拓扑结构,这些要素应该满足一定的限制,遵循一定的设计原则,并且能够在一定的环境下进行演化。

6、软件产品线

SEI认为,产品线是一个产品集合,这些产品共享一组相同的、可管理的特性集,这个特征集能满足一类特定的市场需求。这些系统遵循一个预描述的方式,在公共的核心资源基础上开发。

根据SEI的定义,软件产品线主要由两部分组成:核心资源和产品集合。

核心资源是领域工程中所有结果的集合,是产品线中产品构造的基础。通常包括:体系结构、可复用软件构件、领域模型、需求描述等。

属于同一领域的一系列应用系统构成了软件产品族。

7、SA的评估

软件体系结构的评估是指对系统的某些值得关心的属性进行评价和判断。评估的结构可用于确认潜在风险,并检查设计阶段所得到的系统的质量需求。软件体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。

3 / 15

8、ATMA中的敏感点与权衡点

敏感点:是一个或多个构件(构件之间关系)的特性,这种特性对获得某一特定的质量属性响应有着重要意义。如,机密性的高低可能对加密的位数是敏感的。敏感点的某些特定值在SA实现时可能成为风险点(有无风险);如果构件或特性不存在时,就不能将它们称为敏感点。权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。它是SA中所做出的最重要的决策。如:提高加密级别可能会提高安全性,但会消耗更多的时间而降低性能。

9、ADL

软件体系结构描述语言黑没有完整而明确的定义,一般认为,ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型。10、软件的属性

包括了软件功能属性和软件质量属性,没有功能属性就没有质量属性。

领域工程和应用工程的区别和联系

应用工程:针对一组特定的需求,产生一个特定的解决方案

领域工程:针对一个领域中的所有系统,而不局限于某个特定的系统,与应用工程相比,领域工程处于一个较高的抽象级别上

联系:

领域工程与应用工程的资源相互使用。

通过应用工程得到的现有系统是领域工程的主要的信息来源;

应用工程利用领域工程的软件进行开发时,领域工程提供的产品空间、构件/体系结构、生产计划等也是应用工程重要的资源。

领域工程的产品对本领域中新系统的应用工程提供了支持;

领域工程和应用工程需要解决一些相似的问题;

领域工程的步骤、行为、产品等很多方面都可以和应用工程进行类比。

区别:

领域工程的主要目标是“建立基本能力和必备基础”,最终结果得到面向领域的可复用构件和体系结构。为了满足自己的生产特性,领域工程还要建立现存构件/体系结构。而应用工程的主要目标是使用软件资产生成新系统。

软件体系结构模式与软件体系结构风格的比较

软件体系结构模式描述了在特定设计语境中重复再现的设计问题,并为之提供一个经过充分验证了的通用解决方案。该方案提供了构件、构件的责任、构件之间的关系、以及它们之间的协作方式。体系结构风格主要描述应用系统的总体结构框架,体系结构风格相对独立。而模式往往依赖于它所包含的较小的模式或者与它相互作用的模式。模式比风格更加面向问题,模式通常有问题出现的语境、解决方案和适用的场景;风格更侧重于从应用系统中抽取它们的总体结构,较少从实际设计环境来考虑设计技术

软件体系结构评估的原因和益处

原因:(1)质量问题是当今软件系统开发的一个主要问题;(2)问题发现的越早,解决问题的代价越小;(3)软件开发人员对软件体系结构实际上无法测试。

益处:(1)特别是在预测质量属性方面,相当于提前对软件进行了“测试”;(2)可以增加交流,提高涉众对SA的认识,起到重要的交际效益;(3)督促SA设计师更能详细编写SA文档,

4 / 15

迫使提高SA文档的质量,对SA作出更为清晰的解释;(4)为相互冲突的目标划分优先级; (5)发现项目之间交叉复用的可能性;(6)提高SA实践的水平;(7)有益于该组织未来所从事的项目开发。

模式之间的约束有哪些

青鸟软件产品线方法的特点

青鸟软件产品线方法的特点包括:在开发过程中使用公共的的软件资产,包括产品线体系结构、构件和过程模型等;产品线的产品是根据特定的用户需求对标准的产品体系结构进行定制,并将可复用构件与系统特有的部分集成得到的;产品线方法集中体现了一种系统优化的、大规模的、大粒度的软件复用。

领域分析与软件软件体系结构之间的联系

模块与构件的区别与联系

模块倾向于指向设计时的实体;构件倾向于指运行时的实体;

模块不太强调交付媒介在运行时发生的情况;构件意指独立部署的软件单元。已交付的二进制构件将在整个执行过程中维持其独立性;

模块被复用的可能性远远小于构件;

模块视图类型包含主要反应设计时因素的风格:向设计和实现单元指派问题各个部分的分解过程

文献参考:

管道/过滤器风格体系结构的优缺点

优点缺点

系统行为易于理解由于该模式数据交换占用大量的空间,且数据传输占用系

统的执行时间。所以,它不适应大量共享数据的应用设计

支持并发计算过滤器是在输入/出有相应限制情况下,才能对输入进行批

量转换处理。所以,不适用于交互式的应用程序

较强的可维护性和可扩展性按照此模式,经常导致成为批处理的结构

由于构件不能共享全局状态。所以错误处理困难

相对独立的过滤器为性能(吞

吐量、死锁)分析提供了方便

简述UML的组成

风险承担者往往采用包含6部分格式描述场景

5 / 15

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

Top