软件体系结构

软件体系结构试题

一 、选择题

1、设计模式一般用来解决什么样的问题( a)

A.同一问题的不同表相 B不同问题的同一表相

C.不同问题的不同表相 D.以上都不是

2、下列属于面向对象基本原则的是( c )

A.继承 B.封装 C.里氏代换 D都不是

3、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程, 是( d )

的表述

A.开-闭原则

B.接口隔离原则

C.里氏代换原则

D.依赖倒转原则

4、依据设计模式思想, 程序开发中应优先使用的是( a )关系实现复用。

A, 委派 B.继承 C创建 D.以上都不对

复用方式:继承和组合聚合(组合委派)

5、下列模式中, 属于行为模式的是( b )

A.工厂模式 B观察者 C适配器 以上都是

象尽可能少的了解

6、构造者的的退化模式是通过合并( c )角色完成退化的。

A.抽象产品 B产品 C创建者 D使用者

7、对象适配器模式是( a )原则的典型应用。

A.合成聚合复用原则 B.里式代换原则

C.依赖倒转原则 D.迪米特法则

8、静态工厂的核心角色是(a )

A.抽象产品 B.具体产品 C.静态工厂 D.消费者

9、下列关于静态工厂与工厂方法表述错误的是:( a )

A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时

候会修改源代码

B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点

在工厂方法中

C.不能形成静态工厂的继承结构

D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过

相应等级结构的工厂创建的。

10. 对象组合的有点表述不当的是( d )

A. 容器类仅能通过被包含对象的接口来对其进行访问。 B. “黑盒”复用,封装

性好,因为被包含对象的内部细节对外是不可见。

C. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象

的)组合

D.造成极其严重的依赖关系。

11. 对于依赖倒转的表述错误的是( e )

A.依赖于抽象而不依赖于具体,也就是针对接口编程。

B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调

用时,所知道的方法集合。

C.从选项B 的角度论述,一个对象可以有多个接口。

D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知

道所示用的对象是那个实现类的实例。

E.此题没有正确答案。

12、软件危机的原因不包括(D ):

A 、 用户需求不明确 B 、缺乏正确的理论指导

C 、软件规模越来越大 D 、软件复杂度越来越低

13、下列选项中,哪个不是重用组织框构中的主要组成成员: (C)

A . 协调组 B . 构件应用组 C . 构件需求组 D . 构件开发组

14、常用的软件体系结构评估的方法不包括:(C)

A 体系结构权衡分析法 B. 软件体系结构分析法

C 系统体系结构分析法 D 中间设计的积极评审

15、下列选项中,不是软件危机的原因的是:(C )

A 、 用户需求不明确 B 、 缺乏正确的理论指导

C 、 软件规模越来越小 D 、 软件的复杂度越来越高

16、不属于软件体系结构的核心模型的最基本的元素是 (D )

A 构件 B 连接件 C 配置 D 角色

17、选项中部不属于“4+1”试图模型的是:(C )

A 逻辑视图 B 物理视图 C 连接视图 D 开发视图

18、Kruchten 在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中

“4”不包括的视图是(D )

A 逻辑视图 B 开发视图 C 物理视图 D 场景视图

19、下列哪个不是黑板系统的组成部分?(D )

A. 知识源 B.黑板数据结构 C. 控制 D.内存

20、对动态软件体系结构的形式化描述通常可以采用的方法?(D )

A 、图形化方法 B、代数进程方法 C、逻辑方法 D、以上皆是

21、Rapide 是一种可执行ADL, 其目的在于通过定义并模拟基于事件的行为对分布式并发

系统建模。Rapide 是由5种子语言构成。以下选项中的语言均为Rapide 语言的是(A )

A . 类型语言、模式语言、约束语言、可执行语言

B . 状态语言、模式语言、约束语言、体系结构语言

C . 类型语言、结构语言、约束语言、可执行语言

D . 状态语言、结构语言、约束语言、体系结构语言

22、Unicon 提供了一组预先定义的构件和连接件类型,体系结构的开发者可以从中选择合

适的构件或连接件,这是为了达到(A )

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

B . 区分不同类型的构件和连接件,以便对体系结构配置进行检查

C . 支持不同表达方式和不同开发人员的分析工具

D . 支持现有构件的使用

23、下列选项中关于ADL 与其他语言的比较说法中错误的是(B )

A . ADL 与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中

B . ADL 与建模语言的区别在于后者对部分的关注要大于对整体的关注

C . ADL 与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同

D . ADL 集中在构件的表示上。

24、下列选项中,哪个不是重用组织框构中的主要组成成员:(C)

A . 协调组 B. 构件应用组 C . 构件需求组 D . 构件开发组

25、下面哪个不属于设计模式方法分类(D )

A Coad的面向对象模式 B 代码模式 C 框架应用模式 D 遗传算法

26、下列选项中,不是软件危机的原因的是:(C)

A 、 用户需求不明确 B 、 缺乏正确的理论指导

C 、 软件规模越来越小 D 、 软件的复杂度越来越高

27、一般来说,模式有以下四个基本成分: ( A )、问题、解决方案、效果 。

A .模式名称 B. 时间 C. 地点 D. 思想

28、以下不属于传统的软件测试和基于体系结构的软件测试都需要研究的对象是?(D )

A 、测试内容 B 、测试准则

C 、测试用例 D 、测试语言

29、下列哪个不是黑板系统的组成部分?(D )

A. 知识源 B.黑板数据结构 C. 控制 D.内存

30、对动态软件体系结构的形式化描述通常可以采用的方法?(D )

A 、图形化方法 B、代数进程方法 C、逻辑方法 D、以上皆是

31、Rapide 是一种可执行ADL, 其目的在于通过定义并模拟基于事件的行为对分布式并发

系统建模。Rapide 是由5种子语言构成。以下选项中的语言均为Rapide 语言的是(A )

A . 类型语言、模式语言、约束语言、可执行语言

B . 状态语言、模式语言、约束语言、体系结构语言

C . 类型语言、结构语言、约束语言、可执行语言

D . 状态语言、结构语言、约束语言、体系结构语言

二、填空题

填空题:

1.软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述 活动 ,也

不描述 系统怎样开发 ,它只描述系统的 组成元素及其相互的 交互协作 。

2.一个UML 模型只描述了一个系统 要做什么,它并没告诉我们系统是怎么做。

3.当一个类的对象可以充当多种角色时, 自身 关联就可能发生。

4.最通常的依赖关系是一个类操作的 形构 中用到了另一个类的定义。

5.组成是 强类型 的聚集,因为聚集中的每个部分体只能属于一个整体。

6.实现的符号和继承的符号有相似之处,两者的唯一差别是实现关系用虚线 表示,继承关系用(实线)表示。

7.UML 背后的两个重量级概念是 用例 和 面向对象。

8.状态图和类图、顺序图不同之处在于,后两种图能够对 多个对象

建立模型,而状态图只是对1个对象建立模型。

9.当逻辑发生分支时,在顺序图中用生命线发生的分支表示,在协作图中用 嵌套的序号

表示。

10.顺序图强调的是交互的 时间顺序 ,协作图强调的是交互的 空间关系 和参与

交互的对象的上下文环境。

11、SAAM 评估方法可以对许多_质量属性____以及_系统功能_____进行快速评估。

12、软件重用是为了解决 _软件危机____

13、__软件体系结构______的开发是大型软件系统开发的关键环节。

14、计的主要目的是满足对软件的__质量需求___。

15、每一个设计模式都集中于一个特定的 设计问题 ,描述了 相互通信的对象或者

类 以及 解决方案 和 解决效果 。

16、面向对象系统中功能复用的两种最常用技术是 对象组合 和 类继承 。

17、设计模式中应优先使用而不是 。

18、软件元素包括 程序代码 、 测试用例 、 设计文档 、 设计过

程 、 需求分析文档 甚至领域知识。

19软件工程包括3个要素: 方法 、 工具 和 过程 。

20、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为: 系统结

构层 、 通用类构件层 、 业务构件层 、 表现层 。

21、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构件开发组_____、构件

应用组、协调组 三组成员组成。

22、软件体系结构应建立于传统的软件开发过程的需求分析和__软件设计___阶段之间。

23、C/S体系结构服务器主要负责有效的管理系统的资源主要负责数据库安全性的要求、数

据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则和__数据库的备

份与恢复____。

24、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统

描述语言和 软件体系结构描述语言 。

25、ADL 是一种在底层语义模拟支持下的形式化语言。基于底层语义的工具为体系结构

的表示、分析、 演化 、细化、设计过程等提供支持。

26、典型的ADL 在充分继承和吸收传统程序设计语言的 精确性 和严格性特点的同时,还

应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。 组合 能力

指的是ADL 使得其描述的每一个系统元素都有其自己的局部结构。

27、体系结构的动态性主要分为几类:交互式动态性,结构化动态性、_体系结构化动态性_。

28、一个完整的Web 服务包括3种逻辑构件:服务提供、服务代理、_服务请求 _。

29、Web 服务开发生命周期分为:构建、部署、运行、__管理______四个阶段。

30、设计模式的基本成分包括_模式名称____、问题、解决方案、效果。

31、_软件体系结构___的开发是大型软件系统开发的关键环节。

三、判断题

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的

开发质量与效率,降低开发成本的目的。 (√)

2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。

( √ )

3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。(√)

4、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间

和实现的属性。(√)

5、构件可以由其他复合构建和原子构件通过连接而成。 (√)

6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色(√)

7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、

连接件和配置是最基本的元素(√)

8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务 (X )

9、HMB 风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。(X )

10、正交软件体系结构由组织层和线索的构件构成。(√)

11、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。(X )

12、ATAM 评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获并进行分析。 (X )

13、评估方法质量属性中安全性不包括完整性。(X )

五、简答题

1、如何理解基于体系结构的软件测试的?

软件体系结构测试与程序测试不同,它是检查软件设计的适用性,这种测试不考虑软件的实现代码。与传统的软件测试一样,基于体系的软件测试也需要研究测试内容、测试准则、测试用例、测试充分性及测试方法。在传统测试方法中,测试准则是基于实现和规约得到的,基于实现的测试准则是结构化的,它是利用软件的内部结构来定义测试数据以覆盖系统。实现完整测试的典型方法是利用测试准则定义测试需求,进而生成测试用例。

2、系统的可靠性可以通过哪些步骤来模型化?

①通过系统的详细说明书,确定系统所采用的体系结构风格。

②把每一个体系结构风格转换成状态图,并计算状态视图中每一个状态的可靠性及其相应的迁移概率。③通过整个系统的体系结构视图,把所有的状态视图集成为一个整体状态视图。④通过整体状态视图构造系统的迁移矩阵,并计算系统的可靠性。

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

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

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

(1)描述ATAM 方法 (2)描述业务动机(3)描述体系结构(4)确定体系结构方法

(5)生成质量属性效用树(6)分析体系结构方法(7)讨论和分级场景

(8)分析体系结构方法(9)描述评估结果

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

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

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

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

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

6、简述双生命周期中的领域工程阶段的主要任务及内容。

答:(1)领域分析。利用现有的系统设计、体系结构和需求建立领域模型。

(2)领域设计。用领域模型确定领域/产品线的共性和可变性,为产品线设计体系结构。

(3) 领域实现。基于领域体系结构开发领域可重用资源(构件、文档、代码生成器)。

7、框架技术的基本特征有哪些?

答案:1、反向控制 2、可重用性 3、扩展性

1、模块化或结构化:框架有固定的、稳定的接口和封装的热点

8、软件产品线的划分依据有?

1、该组织是用演化方式还是革命方式引入产品线开发过程的。

2、是基于现有产品还是开发全新的产品线。

9、软件产品线的过程模型有哪些?

答案:1、双周期模型 2、SEI 模型 3、三生命周期模型

10、试说明软件体系结构的风险分析方法主要步骤?

1. 采用体系结构描述语言对体系结构进行建模; 2.通过模拟方法进行复杂性分析;

3. 通过FMEA 和模拟运行进行严重性分析;4. 为构建和连接件开发其启发式风险因子;

5. 建立用于风险评估的CDG ;6. 通过图论中的算法进行风险评估和分析;

11、什么是设计模式?它与风格、框架有什么区别与联系?

设计模式是对通用设计问题的重复解决方案。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。软件框架是整个或部分系统的可重用设计。

区别:模式比框架更加抽象;框架是模式的特例化;

联系:设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟;利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用;通常成熟的框架包含了多种设计模式;一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式; 设计模式与风格两者为近义词,通常情况下可以互相通用;风格主要是指大的,宏观的设计。模式既可宏观,又可微观。

12、什么是软件危机,软件危机的具体表现有哪些?

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

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

软件体系结构试题

一 、选择题

1、设计模式一般用来解决什么样的问题( a)

A.同一问题的不同表相 B不同问题的同一表相

C.不同问题的不同表相 D.以上都不是

2、下列属于面向对象基本原则的是( c )

A.继承 B.封装 C.里氏代换 D都不是

3、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程, 是( d )

的表述

A.开-闭原则

B.接口隔离原则

C.里氏代换原则

D.依赖倒转原则

4、依据设计模式思想, 程序开发中应优先使用的是( a )关系实现复用。

A, 委派 B.继承 C创建 D.以上都不对

复用方式:继承和组合聚合(组合委派)

5、下列模式中, 属于行为模式的是( b )

A.工厂模式 B观察者 C适配器 以上都是

象尽可能少的了解

6、构造者的的退化模式是通过合并( c )角色完成退化的。

A.抽象产品 B产品 C创建者 D使用者

7、对象适配器模式是( a )原则的典型应用。

A.合成聚合复用原则 B.里式代换原则

C.依赖倒转原则 D.迪米特法则

8、静态工厂的核心角色是(a )

A.抽象产品 B.具体产品 C.静态工厂 D.消费者

9、下列关于静态工厂与工厂方法表述错误的是:( a )

A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时

候会修改源代码

B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点

在工厂方法中

C.不能形成静态工厂的继承结构

D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过

相应等级结构的工厂创建的。

10. 对象组合的有点表述不当的是( d )

A. 容器类仅能通过被包含对象的接口来对其进行访问。 B. “黑盒”复用,封装

性好,因为被包含对象的内部细节对外是不可见。

C. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象

的)组合

D.造成极其严重的依赖关系。

11. 对于依赖倒转的表述错误的是( e )

A.依赖于抽象而不依赖于具体,也就是针对接口编程。

B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调

用时,所知道的方法集合。

C.从选项B 的角度论述,一个对象可以有多个接口。

D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知

道所示用的对象是那个实现类的实例。

E.此题没有正确答案。

12、软件危机的原因不包括(D ):

A 、 用户需求不明确 B 、缺乏正确的理论指导

C 、软件规模越来越大 D 、软件复杂度越来越低

13、下列选项中,哪个不是重用组织框构中的主要组成成员: (C)

A . 协调组 B . 构件应用组 C . 构件需求组 D . 构件开发组

14、常用的软件体系结构评估的方法不包括:(C)

A 体系结构权衡分析法 B. 软件体系结构分析法

C 系统体系结构分析法 D 中间设计的积极评审

15、下列选项中,不是软件危机的原因的是:(C )

A 、 用户需求不明确 B 、 缺乏正确的理论指导

C 、 软件规模越来越小 D 、 软件的复杂度越来越高

16、不属于软件体系结构的核心模型的最基本的元素是 (D )

A 构件 B 连接件 C 配置 D 角色

17、选项中部不属于“4+1”试图模型的是:(C )

A 逻辑视图 B 物理视图 C 连接视图 D 开发视图

18、Kruchten 在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中

“4”不包括的视图是(D )

A 逻辑视图 B 开发视图 C 物理视图 D 场景视图

19、下列哪个不是黑板系统的组成部分?(D )

A. 知识源 B.黑板数据结构 C. 控制 D.内存

20、对动态软件体系结构的形式化描述通常可以采用的方法?(D )

A 、图形化方法 B、代数进程方法 C、逻辑方法 D、以上皆是

21、Rapide 是一种可执行ADL, 其目的在于通过定义并模拟基于事件的行为对分布式并发

系统建模。Rapide 是由5种子语言构成。以下选项中的语言均为Rapide 语言的是(A )

A . 类型语言、模式语言、约束语言、可执行语言

B . 状态语言、模式语言、约束语言、体系结构语言

C . 类型语言、结构语言、约束语言、可执行语言

D . 状态语言、结构语言、约束语言、体系结构语言

22、Unicon 提供了一组预先定义的构件和连接件类型,体系结构的开发者可以从中选择合

适的构件或连接件,这是为了达到(A )

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

B . 区分不同类型的构件和连接件,以便对体系结构配置进行检查

C . 支持不同表达方式和不同开发人员的分析工具

D . 支持现有构件的使用

23、下列选项中关于ADL 与其他语言的比较说法中错误的是(B )

A . ADL 与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中

B . ADL 与建模语言的区别在于后者对部分的关注要大于对整体的关注

C . ADL 与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同

D . ADL 集中在构件的表示上。

24、下列选项中,哪个不是重用组织框构中的主要组成成员:(C)

A . 协调组 B. 构件应用组 C . 构件需求组 D . 构件开发组

25、下面哪个不属于设计模式方法分类(D )

A Coad的面向对象模式 B 代码模式 C 框架应用模式 D 遗传算法

26、下列选项中,不是软件危机的原因的是:(C)

A 、 用户需求不明确 B 、 缺乏正确的理论指导

C 、 软件规模越来越小 D 、 软件的复杂度越来越高

27、一般来说,模式有以下四个基本成分: ( A )、问题、解决方案、效果 。

A .模式名称 B. 时间 C. 地点 D. 思想

28、以下不属于传统的软件测试和基于体系结构的软件测试都需要研究的对象是?(D )

A 、测试内容 B 、测试准则

C 、测试用例 D 、测试语言

29、下列哪个不是黑板系统的组成部分?(D )

A. 知识源 B.黑板数据结构 C. 控制 D.内存

30、对动态软件体系结构的形式化描述通常可以采用的方法?(D )

A 、图形化方法 B、代数进程方法 C、逻辑方法 D、以上皆是

31、Rapide 是一种可执行ADL, 其目的在于通过定义并模拟基于事件的行为对分布式并发

系统建模。Rapide 是由5种子语言构成。以下选项中的语言均为Rapide 语言的是(A )

A . 类型语言、模式语言、约束语言、可执行语言

B . 状态语言、模式语言、约束语言、体系结构语言

C . 类型语言、结构语言、约束语言、可执行语言

D . 状态语言、结构语言、约束语言、体系结构语言

二、填空题

填空题:

1.软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述 活动 ,也

不描述 系统怎样开发 ,它只描述系统的 组成元素及其相互的 交互协作 。

2.一个UML 模型只描述了一个系统 要做什么,它并没告诉我们系统是怎么做。

3.当一个类的对象可以充当多种角色时, 自身 关联就可能发生。

4.最通常的依赖关系是一个类操作的 形构 中用到了另一个类的定义。

5.组成是 强类型 的聚集,因为聚集中的每个部分体只能属于一个整体。

6.实现的符号和继承的符号有相似之处,两者的唯一差别是实现关系用虚线 表示,继承关系用(实线)表示。

7.UML 背后的两个重量级概念是 用例 和 面向对象。

8.状态图和类图、顺序图不同之处在于,后两种图能够对 多个对象

建立模型,而状态图只是对1个对象建立模型。

9.当逻辑发生分支时,在顺序图中用生命线发生的分支表示,在协作图中用 嵌套的序号

表示。

10.顺序图强调的是交互的 时间顺序 ,协作图强调的是交互的 空间关系 和参与

交互的对象的上下文环境。

11、SAAM 评估方法可以对许多_质量属性____以及_系统功能_____进行快速评估。

12、软件重用是为了解决 _软件危机____

13、__软件体系结构______的开发是大型软件系统开发的关键环节。

14、计的主要目的是满足对软件的__质量需求___。

15、每一个设计模式都集中于一个特定的 设计问题 ,描述了 相互通信的对象或者

类 以及 解决方案 和 解决效果 。

16、面向对象系统中功能复用的两种最常用技术是 对象组合 和 类继承 。

17、设计模式中应优先使用而不是 。

18、软件元素包括 程序代码 、 测试用例 、 设计文档 、 设计过

程 、 需求分析文档 甚至领域知识。

19软件工程包括3个要素: 方法 、 工具 和 过程 。

20、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为: 系统结

构层 、 通用类构件层 、 业务构件层 、 表现层 。

21、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构件开发组_____、构件

应用组、协调组 三组成员组成。

22、软件体系结构应建立于传统的软件开发过程的需求分析和__软件设计___阶段之间。

23、C/S体系结构服务器主要负责有效的管理系统的资源主要负责数据库安全性的要求、数

据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则和__数据库的备

份与恢复____。

24、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统

描述语言和 软件体系结构描述语言 。

25、ADL 是一种在底层语义模拟支持下的形式化语言。基于底层语义的工具为体系结构

的表示、分析、 演化 、细化、设计过程等提供支持。

26、典型的ADL 在充分继承和吸收传统程序设计语言的 精确性 和严格性特点的同时,还

应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。 组合 能力

指的是ADL 使得其描述的每一个系统元素都有其自己的局部结构。

27、体系结构的动态性主要分为几类:交互式动态性,结构化动态性、_体系结构化动态性_。

28、一个完整的Web 服务包括3种逻辑构件:服务提供、服务代理、_服务请求 _。

29、Web 服务开发生命周期分为:构建、部署、运行、__管理______四个阶段。

30、设计模式的基本成分包括_模式名称____、问题、解决方案、效果。

31、_软件体系结构___的开发是大型软件系统开发的关键环节。

三、判断题

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的

开发质量与效率,降低开发成本的目的。 (√)

2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。

( √ )

3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。(√)

4、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间

和实现的属性。(√)

5、构件可以由其他复合构建和原子构件通过连接而成。 (√)

6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色(√)

7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、

连接件和配置是最基本的元素(√)

8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务 (X )

9、HMB 风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。(X )

10、正交软件体系结构由组织层和线索的构件构成。(√)

11、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。(X )

12、ATAM 评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获并进行分析。 (X )

13、评估方法质量属性中安全性不包括完整性。(X )

五、简答题

1、如何理解基于体系结构的软件测试的?

软件体系结构测试与程序测试不同,它是检查软件设计的适用性,这种测试不考虑软件的实现代码。与传统的软件测试一样,基于体系的软件测试也需要研究测试内容、测试准则、测试用例、测试充分性及测试方法。在传统测试方法中,测试准则是基于实现和规约得到的,基于实现的测试准则是结构化的,它是利用软件的内部结构来定义测试数据以覆盖系统。实现完整测试的典型方法是利用测试准则定义测试需求,进而生成测试用例。

2、系统的可靠性可以通过哪些步骤来模型化?

①通过系统的详细说明书,确定系统所采用的体系结构风格。

②把每一个体系结构风格转换成状态图,并计算状态视图中每一个状态的可靠性及其相应的迁移概率。③通过整个系统的体系结构视图,把所有的状态视图集成为一个整体状态视图。④通过整体状态视图构造系统的迁移矩阵,并计算系统的可靠性。

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

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

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

(1)描述ATAM 方法 (2)描述业务动机(3)描述体系结构(4)确定体系结构方法

(5)生成质量属性效用树(6)分析体系结构方法(7)讨论和分级场景

(8)分析体系结构方法(9)描述评估结果

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

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

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

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

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

6、简述双生命周期中的领域工程阶段的主要任务及内容。

答:(1)领域分析。利用现有的系统设计、体系结构和需求建立领域模型。

(2)领域设计。用领域模型确定领域/产品线的共性和可变性,为产品线设计体系结构。

(3) 领域实现。基于领域体系结构开发领域可重用资源(构件、文档、代码生成器)。

7、框架技术的基本特征有哪些?

答案:1、反向控制 2、可重用性 3、扩展性

1、模块化或结构化:框架有固定的、稳定的接口和封装的热点

8、软件产品线的划分依据有?

1、该组织是用演化方式还是革命方式引入产品线开发过程的。

2、是基于现有产品还是开发全新的产品线。

9、软件产品线的过程模型有哪些?

答案:1、双周期模型 2、SEI 模型 3、三生命周期模型

10、试说明软件体系结构的风险分析方法主要步骤?

1. 采用体系结构描述语言对体系结构进行建模; 2.通过模拟方法进行复杂性分析;

3. 通过FMEA 和模拟运行进行严重性分析;4. 为构建和连接件开发其启发式风险因子;

5. 建立用于风险评估的CDG ;6. 通过图论中的算法进行风险评估和分析;

11、什么是设计模式?它与风格、框架有什么区别与联系?

设计模式是对通用设计问题的重复解决方案。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。软件框架是整个或部分系统的可重用设计。

区别:模式比框架更加抽象;框架是模式的特例化;

联系:设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟;利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用;通常成熟的框架包含了多种设计模式;一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式; 设计模式与风格两者为近义词,通常情况下可以互相通用;风格主要是指大的,宏观的设计。模式既可宏观,又可微观。

12、什么是软件危机,软件危机的具体表现有哪些?

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

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


相关内容

  • 浅谈软件体系结构评估技术
  • 浅谈软件体系结构评估技术 摘要: 作为在软件生命周期早期保障软件质量的重要手段之一,软件体系结构评估技术是软件体系结构研究中的一个重要组成部分.现有的软件体系结构评估方法可以划分为3类:基于场景的评估方法.基于度量和预测的评估方法以及特定软件体系结构描述语言的评估方法.按照团建体系结构评估技术的评价 ...

  • 软件工程基础知识点整理免费版
  • 软件工程基础知识点整理 一. 软件工程基本概念: 1. 软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序.数据以及相关文档的完整集合. (1)程序是软件开发人员根据用户需求开发的.用程序设计语言描述的.适合计算机执行的指令(语句)序列. (2)数据是使程序能够正常操作信息的数据结构. ( ...

  • [软件设计与体系结构]教学大纲
  • <软件设计与体系结构>课程教学大纲 课程名称 课程编码 课程性质 学分数 学时数 课外学时 执笔者 制订单位 软件设计与体系结构/Software Design and Architecture 0603025 课程类型 专业选修课 专业主干课 适用范围 软件工程专业 2 先修课程 面向 ...

  • 软件体系结构论文:一种面向方面软件体系结构模型
  • 软件体系结构论文:一种面向方面软件体系结构模型 摘 要: 为了分离软件系统中的核心关注点和横切关注点,通过引入面向方面软件开发的思想设计了一种面向方面软件体系结构模型,并详细分析了该模型的三个基本构成单元,即构件.连接件和方面构件.最后通过一个网上支付实例验证了该模型具有一定的理论意义和实用价值. ...

  • 软件工程发展趋势
  • 软 件 工 程 发 展 趋 势 姓名: 班级: - 1 - 2011年12月4日 目录 1. 内容摘要﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 2. 论文关键词﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 3. 引言﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 4. 软件工程发展趋 ...

  • 软件工程基本概念
  • 软件工程基本概念 考点1 软件的定义与软件特点 1软件的组成 软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序.数据和相关的文档. 软件由两部分组成: (1)机器可执行的程序和数据: (2)与软件开发.运行.维护及使用等有关的文档. 2软件的特点 软件具有如下特点: (1)软件是逻辑产品,而 ...

  • 软件开发方法改变
  • 李向楠 ZS11170051 基于云计算平台的软件开发方法 摘要 随着云计算技术的兴起和发展,分布式计算.并行计算等给软件开发带来了许多新的问题和挑战.云计算使软件技术.架构.软件开发的环境.工作模式发生变化,与此同时,软件产品的最终表现形式则更为丰富多样,本文在简要概括云计算的相关概念的基础上,浅 ...

  • 软件工程导论试题(打印)
  • 软件工程导论试题(老师给的) 一.选择 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义.可行性研究.软件需求分析. 系统总体设计.详细设计.编码.测试和运行.维护.八个阶段又可归纳为三个大的阶段: 计划阶段.开发阶段和 ( ). A.详细计划 B.可行性分析 C.运行阶段 D.测试与排错 2. ...

  • 第八章软件工程环境与工具
  • 本文由01小景01贡献 ppt1. 21世纪高职高专计算机专业教材 21世纪高职高专计算机专业教材 软件工程 主讲教师:宫明明 主讲教师: 13854278403 gongmm@qtc.edu.cn 1 现代建筑业中,为了提高生产率.改进建 提高生产率. 现代建筑业中,为了提高生产率 筑质量,会不断 ...