Zander's blog

Welcome To Zander's Blog

0%

软件体系结构

[TOC]

1
2
- 选择10题,20分;填空15空,15分;判断5题,10分;
- 简答8题,40分;设计1题15分(UML的设计,类图和部署图的使用)。

- 1、常用的软件体系结构评估的方法?

  • page 189
  • 详细内容
  • SAAM软件体系结构分析方法
  • ATAM体系结构权衡分析方法

- 2、软件体系结构的核心模型的最基本的元素包括哪些?

- 3、“4+1”视图模型包括那些视图模型,每部分的功能是什么?

  • page 110
  • 详细内容
  • 逻辑视图
    • 构建对象模型,用以确立逻辑分层、模块划分、模块功能、模块间依赖关系等。
  • 开发视图
    • 描述软件在开发环境下的静态组织结构。
  • 过程视图
    • 描述系统的并发和同步设计。旨在解决进程、线程、并发、同步、通信等方面的问题;
  • 物理视图
    • 描述软件到硬件之间的映射关系,反映系统在分布方面的设计。
  • 场景视图
    • 负责从用户角度,识别业务需求,描述业务场景,是架构设计的起点和终点。

- 4、软件体系结构描述方法有哪些?各有什么特点?

  • page 99
  • 详细内容
  • 图形表达工具
    • 采用由矩形框和有向线段组合而成的图形表达工具
  • 模块内连接语言
    • 通过一种或几种程序设计语言的模块进行连接
  • 基于软构件的系统描述语言
    • 基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统
  • 软件体系结构描述语言
    • ADL寻求增加软件体系结构设计的可理解性和重用性

- 5、体系结构描述语言与其他语言相比有何特点?

  • page 118
  • 详细内容
  • 形式化方法的特点
    • 形式化方法可以用户系统描述,而且可以在不同层次上进行描述
    • 通过提供系统结构抽象级别上的精确定义,系统的形式化模型可以对系统关键属性提供严谨的分析。
  • 构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;
  • 抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;
  • 重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;
  • 组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;
  • 异构能力:ADL允许多个不同的体系结构描述关联存在;
  • 分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。

- 6、体系结构评估中的可修改性关注哪些方面的属性?

  • page 184
  • 详细内容
  • 可维护性
  • 可扩展性
  • 结构重组
  • 可移植性

- 7、体系结构评估中场景一般抽象成哪6个部分,分别是何含义?

  • page 186
  • 详细内容
  • 刺激源
    • 这是某个生成该刺激的实体(人、计算机系统或任何其他可以起到刺激作用的实体)。
  • 刺激
    • 由刺激源发出的对制品产生的交互行为
  • 环境
    • 该刺激在某些条件内发生。
    • 当刺激发生时,系统可能处于过载,或者正在运行,也可能是其他情况。
  • 制品
    • 接收刺激的实体。
    • 可能是整个系统,也可能是系统的一部分。
  • 响应
    • 是在刺激到达后所采取的行动。
  • 响应度量
    • 当响应发生时,应该能够以某种方式对其进行度量,以对需求进行测试来确定其是否能被满足。

- 8、什么是软件产品线?

  • 产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求

- 9、软件危机的原因有哪些?

  • page 3
  • 详细内容
  • 用户需求不明确
  • 缺乏正确的理论指导
  • 软件规模越来越大
  • 软件复杂度越来越高

- 10、“4+1”视图模型中每种类型视图有何侧重?

  • 逻辑视图主要支持系统的功能需求。
  • 开发视图侧重于软件模块的组织和管理。
  • 过程视图侧重于系统的运行特性。
  • 物理视图主要考虑如何把软件映射到硬件上。
  • 【系统工程师先从物理视图,然后从过程视图靠近体系结构。
  • 最终使用者、客户、数据专家从逻辑视图看体系结构;
  • 项目经理、软件配置人员从开发视图看体系结构。 】

- 11、根据mary shaw的分析,软件体系结构的模型分为哪4种类型?

  • 详细内容

    • 结构模型
    • 框架模型
    • 动态模型
    • 过程模型

- 12、MVC模型包含哪3个组成部分?

- 13、软件体系结构设计的主要目的是什么?

  • 满足对软件的质量需求。

- 14、软件工程包括哪几个要素?

  • 详细内容
  • 方法、工具和过程
  • 软件工程方法学包含3个要素: 方法、工具和过程。 方法:是完成软件开发的各项任务的技术方法,回答“怎样做”的问题; 工具:是为运用方法而提供的自动的或半自动的软件工程支撑环境; 过程:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

- 15、什么是软件重用?

  • 软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

- 16、软件体系结构模型5要素分别是什么?

- 17、软件体系结构评估对参与评估的体系结构数量是否有限制?

  • 没有限制
  • 体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。

- 18 、软件体系结构风格中分层系统的优缺点有哪些?管道过滤器风格的优缺点是什么?

  • 详细内容
  • 分层风格
    • page 46
    • 优点
      • 分层风格支持系统设计过程中的逐级抽象
      • 基于分层风格的系统具有较好的可扩展性
      • 分层风格支持软件复用
    • 缺点
      • 并不是所有的系统都适合用分层风格来描述的
      • 对于抽象出来的功能具体应该放在哪个层次上也是设计者头疼的一个问题
  • 管道-过滤器风格
    • page 26
    • 优点
      • 设计者可以将整个系统的输入、输出特性简单的理解为各个过滤器功能的合成
      • 支持功能模块的复用
      • 系统具有较强的可维护性和可扩展性
      • 支持一些特定的分析
      • 具有并发性
    • 缺点
      • 交互式处理能力弱
      • 导致系统处理过程的成批操作

- 19、什么是DSSA?有何特点?

  • <https://zlogs.net/learn-software-architecture/page/1013.html#  5.特定领域的体系结构框架)

    • 特定领域软件架构可以看作开发产品线的一个方法或理论,它的目标就是支持在一个特定领域中有多个应用的生成。
    • 特点
      • (1)一个严格定义的问题域和问题解域。
      • (2)具有普遍性。使其可以用于领域中某个特定应用的开发。
      • (3)对整个领域的构件组织模型的恰当抽象。
      • (4)具备该领域固定的、典型的在开发过程中可重用元素。

- 20、什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?

  • 详细内容
  • page 118
  • ADL是一门用于描述的语言,它可以在指定的抽象层次上描述软件体系结构。它通常拥有形式化的语法、语义以及严格定义的表述符号,或者是简单易懂的直观抽象表达。
  • ADL与需求语言:需求语言描述问题空间,ADL根植于解空间;
  • ADL与建模语言:建模语言对整体行为的关注要大于对部分的关注,ADL关注的是构件的表示;
  • ADL与传统程序设计语言:存同求异。

- 21、软件体系结构评估主要有哪几种类型?

  • 详细内容
  • page 186
  • 基于调查问卷或检查表的方式
  • 基于场景的方式
  • 基于度量的方式

- 22、MTTF,MTBF,MTTR是何含义,它们有什么关系

  • 详细内容
  • MTTF(Mean Time To Failure):平均失效等待时间
  • MTBF(Mean Time Between Failure):平均失效间隔时间
  • MTTR(Mean Time To Repair):平均修复时间
  • MTBF = MTTF + MTTR

- 23、ATAM方法实现的过程分为哪几步。

  • page 198
  • 详细内容
  • 准备阶段
  • 核心评估
    • 介绍、研究和分析、测试、报告
  • 收尾过程

- 24、软件体系结构技术的发展过程,经历了哪四个阶段?

  • 详细内容
  • “无体系结构”设计阶段
  • 萌芽阶段
  • 初级阶段
  • 高级阶段

- 25、UML中类图和部署图的使用,B/S结构的分析。

  • 详细内容

  • 类图

    img

  • 部署图

    img

  • 分析

    • 服务器端的Web服务器接收网页(静态的HTML或服务器页)的请求,根据请求,Web服务器可能启动某个服务器端的处理(例如向数据库服务器发出SQL查询,然后将查询结果返回),再将得到的信息以网页(如HTML格式的网页)的形式返回,在客户端的浏览器中显示出来。
    • 在B/S体系结构中,有各种构件和连接件。构件分为形成客户浏览器和服务器端的构件,服务器端构件包括Web服务器端和数据库服务器构件。
    • 构件在这里可以看做是进行一定运算或其他操作的体系结构的实体,而连接件是用于提供构件间交互的体系结构实体。通过构件和连接件加上由构件之间形成的交互,就形成了一个完整的体系结构。其中,构件间的信息交互有同步和异步两种;而内部构件的通信分为同步、异步、代理和组通信等。连接件不但表示一个简单的交互操作(例如过程调用、共享变量的使用),而且还表示复杂的交互(例如TCP/IP协议、数据库使用协议、异步事件列表、网络安全协议等)。
    • 用UML的静态建模机制与扩展机制的构造型对构件间交互进行静态建模,如图4-42所示,其中<<构件>>、<<资源>>和<<连接件>>是构造型的。

- 26、UML常用的图有哪些?

  • 详细内容
  • 用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图

参考: