软件体系结构期末复习

软件体系结构期末复习

标签(空格分隔): 未分类


回顾课本和TTP课件

内容总概

软件体系结构期末复习_第1张图片

章节回顾

第1章、软件体系结构概论

0.软件体系结构的发展过程经历了四个阶段:

(1)无体系结构阶段、(2)萌芽阶段、(3)初期阶段、(4)高级阶段

1.软件重用

  1. 软件重用:也称为软件复用,就是利用已开发的且对应用有贡献的软件元素来构建新软件系统。
  2. 软件重用的基本过程:软件对象的开发、软件对象的理解和软件对象的重用。
  3. 软件重用的过程可归纳为:抽象、选取、实例化和集成。
  4. 广义的三个层次:知识重用、方法和标准重用、软件成分重用。
  5. 软件成分的重用:
  6. 源代码的重用;
    1. 目标代码级重用(以函数库方式体现);
    2. 设计和分析结果重用(易于移植);
    3. 类的重用;
    4. 构件重用

2.构件

  1. 软件构件是将大而复杂的应用软件分解为一系列可先行实现、易于开发、理解、重用和调整的软件单元。
  2. 构件的分类方式:
    信息科学方法主要包括:枚举、层次、关键词、属性值、刻面(Facet)和本体等。
  3. 构件根据功能用途可分为系统构件支撑构件领域构件
  4. 识别技术包括领域分析法、聚类分析法、CRUD分析法、基于稳定性方法等。
  5. 构件获取的主要四种方式
    1. 构件库中,按照适合新系统的原则选取,并作适应性修改以获得可重用的构件。
    2. 根据新功能模块进行自行开发,以获取新构件。
    3. 遗留系统进行功能分析,将具有潜在应用价值的模块提取出来,使其接口进行标准化以获得可重用性构件。
    4. 通过商业方式购买合适的构件,利用互联网资源进行共享或免费获取。
  6. 构建模型
    软件体系结构期末复习_第2张图片

3.习题

  1. ( 软件危机 )主要包含两方面的问题:如何开发软件以满足对软件日益增长的需求;如何维护数量不断高速增长的已有软件。

  2. 软件体系结构的核心模型主要包括:(构件、连接件、配置约束)。

  3. (软件重用技术)有助于提高软件开发的生产率,提高软件系统的可靠性,减少软件维护的负担。

  4. (软件构件技术)是软件重用的核心与基础。

  5. 基于构件的软件开发的基本思想是?
    将用户需求分解为一系列的子功能构件,在开发过程中不必重新设计这些基本功能模块,只需从现有构件库中寻找合适的构件来组装应用系统。

第2章 、软件体系结构建模

1.建模概述

软件体系结构应该以模型的形式具体化。

2.建模语言

  1. 实践派风格:使用通用的建模符号,强调实践可行性。

    1. 图形表示方法。
    2. 模块内连接语言。
    3. 基于构件的系统描述语言。
    4. UML描述方法。
  2. 学院派风格:使用了体系结构描述语言(ADL),侧重于软件体系结构形式化理论的研究。

    1. ADL集中描述了整个系统的高层结构。
    2. 有无工具的支持是ADL是否可用的重要标志。
    3. 软件体系结构模型的三个基本组成成分:构件连接件配置关系
      1. 构件描述规范:(1)接口。(2)类型。(3)语义。(4)约束。(5)演化。(6)非功能特性。
      2. 连接件描述规范:考虑的内容与构件相似
      3. 配置关系描述规范:可理解性。组合能力。对异构的支持。可伸缩能力。进化能力。动态支持。
  3. 体系结构描述语言有

    1. ACME的基本特征:
      1. 提供了基本的体系结构元素来描述系统的体系结构,并提供了相应的扩展机制
      2. 提供了灵活的注解机制来描述系统的非结构性信息。
      3. 提供了可对软件体系结构风格进行重用的模板机制
      4. 提供了一种开放的语义框架,可以对体系结构描述进行形式化推理。
    2. Rapide 的五种子语言:
      1. 类型(Types)语言——定义接口类型和函数类型,支持通过继承已有的接口来构造新的接口类型;
      2. 模式(Pattern)语言——定义具有因果、独立和时序等关系的事件所构成的事件模式;
      3. 可执行(Executable)语言——包含描述构件行为的控制结构;
      4. 体系结构(Architecture)语言——通过定义同步和通信连接来描述构件之间的事件流;
      5. 约束(Constraint)语言——定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式。
    3. Unicon的设计紧紧围绕着构件和连接件这两个基本概念。
    4. Wright的主要思想是把连接件定义为明确的、用协议的集合来表示语义实体,协议代表了交互的各个参与角色及其相互作用。
    5. Darwin使用接口来定义构件类型。
    6. Aesop的目标是建立一个工具包,为特定领域的体系结构快速构建提供设计支持环境。
    7. SADL语言提供了软件体系结构的文本化表示方法,同时保留了直观的线框图模型。
    8. MetaH主要支持实时、容错、安全、多处理和嵌入式软件系统的分析、验证以及开发。
  4. UML与ADL之间的关系

    1. 体系结构描述语言ADL是一种描述体系结构模型的形式化工具。
    2. ADL是研究软件体系结构规范的出发点。
    3. 统一建模语言(Unified Modeling Language,UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。
  5. 基于UML的软件体系结构描述

    1. UML应用于用例驱动的、以体系结构为中心的、迭代的和渐增式的开发过程。

    2. Kruchten提出了“4+1”视图模型“。

      1. 逻辑视图,也称概念视图。主要支持系统功能需求的抽象描述。
      2. 开发视图,也称模块视图。主要侧重于描述系统的组织。
      3. 过程视图。主要侧重于描述系统的动态属性。
      4. 物理视图。主要描述如何把软件映射到硬件上。
      5. 场景视图。场景是用户需求和系统功能实例的抽象。
        软件体系结构期末复习_第3张图片

      逻辑视图定义了系统的目标;开发视图和过程视图提供了详细的系统设计实现方案;物理视图解决了系统的拓扑结构、安装和通信问题;场景反映了完成上述任务的组织结构。

    3. UML视图和图

    主要的域 视图 主要概念
    结构 静态视图 类图 类、关联、泛化、依赖关系、实现、接口
    用例视图 用例图 用例、参与者、关联、扩展、包括、用例泛化
    实现视图 构件图 构件、接口、依赖关系、实现
    部署视图 部署图 节点、构件、依赖关系、位置
    动态 状态视图 状态图 状态、事件、转换、动作、
    活动视图 活动图 状态、活动、完成转换、分叉、结合
    交互视图 顺序图 交互、对象、消息、激活
    协作图 协作、交互、协作角色、消息
    模型管理 模型管理视图 类图 报、子系统、模型
    可扩展性 所有 所有 约束、构造型、标记值

3.基于UML体系结构描述方式的案例分析

图书管理系统实验

4.软件体系结构的生命周期

具体的软件体系结构的设计包括非形式化描述、规范描述、求精及验证、实施、改革或扩展、评估和度量以及终结等七个阶段
软件体系结构期末复习_第4张图片

5.基于体系结构的软件开发过程

6.习题

  1. 软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是(A)。
    A. 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程
    B. 软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等
    C. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动
    D.软件架构能够指导设计人员和实现人员的工作
  2. 下面哪种视图不属于软件体系结构中定义的“4+1”视图?(B)
    A) 物理视图
    B) 设计视图
    C) 场景视图
    D) 开发视图
  3. 在RUP (Rational Unified Process,统一软件开发过程)中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于(C),系统工程师侧重于(D)。
    A. 实现视图
    B. 进程视图
    C. 逻辑视图
    D. 部署视图
  4. 在基于构件的软件开发中,( A)描述系统设计蓝图以保证系统提供适当的功能;(B )用来了解系统的性能、吞吐率等非功能性属性。
    A. 逻辑构件模型
    B. 物理构件模型
    C. 组件接口模型
    D. 系统交互模型

第3章 、软件体系结构风格

1.软件体系结构风格概述

  1. 软件体系结构的核心模型:(构件、连接件、配置约束
  2. 软件框架设计的核心问题是:能否达到成型的体系结构方案级别的重用。(架构级别的重用)

2.常用的软件体系结构风格

  1. 软件体系结构风格的定义:由组织规则及结构构成,是描述领域中系统组织方式的惯用模式。是对某一特定领域中系统所共有的结构和语义特性的反映。

  2. 体系结构风格的分类:

    1. 数据流风格:

      1. 批处理序列
      2. 管道/过滤器(传统的编译器)
        1. 包括过滤器和管道两种元素。基本单元如图:软件体系结构期末复习_第5张图片
        2. 管道/过滤器风格的系统架构图如下图所示:软件体系结构期末复习_第6张图片
        3. 优点:
          1. 设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。
          2. 任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接。
          3. 整个系统易于维护和升级
          4. 支持并发执行。
        4. 缺点:
          1. 通常导致进程成为批处理的结构;
          2. 不适合处理交互的应用;
          3. 每个过滤器都增加了解析和合成数据的工作,导致系统功能下降
          4. 其固有结构,决定了很难制定错误处理的一般性策略。
        5. 传统的编译器
          1. 编译器由词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成组成,如图:软件体系结构期末复习_第7张图片
    2. 调用/返回风格:

      1. 主程序/子程序

      2. 面向对象风格

        软件体系结构期末复习_第8张图片

        1. 将系统组织为多个独立的对象,每个对象封装其内部的数据,并基于数据对外提供服务。不同对象之间通过协作机制共同完成系统任务。面向对象体系结构如图所示:
        2. 重要设计决策及约束:
          1. 依照对数据的使用情况,用信息内聚的标准,为系统建立对象部件。每个对象部件基于内部数据提供对外服务接口,并隐藏内部数据的表示。
          2. 基于方法调用(Method Invocation)机制建立连接件,将对象部件连接起来
          3. 每个对象负责维护其自身数据的一致性与完整性,并以此为基础对外提供“正确”的服务。
          4. 每个对象都是一个自治单位,不同对象之间是平级的,没有主次、从属、层次、分解等关系。
        3. 优点:
          一个对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象;
          对象将数据和操作封装在一起,提高了系统内聚性,减小了模块之间的耦合程度,使系统更容易分解为既相互作用又相互独立的对象集合;
          继承和封装方法为对象重用提供了技术支持。
        4. 缺点:
          如果一个对象要调用另一个对象,必须知道 它的标识和名称。
      3. 层次结构

        1. 层次风格组织成一个层次结构,通过分解,能够将复杂系统划分为多个独立的层次,每一层都具有高度的内聚性,并要求每一层为上层服务,并作为下层的客户,较高层面向特定应用问题,较低层则更具有一般性。如图:

          软件体系结构期末复习_第9张图片

        2. 优点:

          1. 支持基于抽象程度递增的系统设计。
          2. 支持功能增强。
          3. 支持重用。
          4. 提高了系统的可变性、可维护性、可靠性和可重用性。
        3. 典例:OSI指定的分层通信协议,计算机网络的TCP/IP协议、操作系统和数据库系统。

    3. 虚拟机构格:

      1. 解释器
        1. 解释器系统由四个部分组成:被解释的程序、执行引擎、被解释程序的当前状态和执行引擎的当前状态。解释器的框架如图所示:
          软件体系结构期末复习_第10张图片
        2. 例子(手机浏览器)如图所示:
          软件体系结构期末复习_第11张图片
        3. 优点:
          1. 能够提高应用程序的移植能力和编程语言的跨平台移植能力。
          2. 实际测试工作可能非常复杂,测试代价及其昂贵,具有一定的风险型。但可以利用解释器对未实现的硬件进行仿真。
        4. 缺点:
          1. 由于使用了特定语言和自定义操作规则,增加了系统运行的开销。
          2. 解释器系统难以设计和测试。
      2. 基于规则的系统
    4. C/S体系结构风格

      1. 客户机/服务器(C/S)就是Client/Server模式,针对资源不对等问题而提出的一种共享策略。C/S结构通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,充分利用两端硬件环境的优势。

      2. C/S主要包括三个部分:数据库服务器、客户机和网络。

      3. 对于数据库应用程序,DBMS可以为应用程序提供针对底层结构的管理。应用的服务器部分是运行在远程主机上的数据库引擎。而该应用的客户部分则是运行在本地计算机上的数据库查询程序,它们之间的通信是借助于DBMS提供的网络协议实现的。如下图所示:

        软件体系结构期末复习_第12张图片

      4. 两层C/S体系结构的处理流程如下图:

        软件体系结构期末复习_第13张图片

      5. C/S暴露出的不足:

        1. 开发成本较高。
        2. 在开发C/S结构系统时,大部分工作都集中在客户机程序的设计上,增加了设计的复杂度。
        3. 信息内容和形式单一。
        4. 如果对C/S体系结构的系统进行升级,开发人员需要到现场来更新客户机程序,同时需要对运行环境进行重新配置,增加了维护费用;
        5. 两层C/S结构采用了单一的服务器,同时以局域网为中心,因此难以扩展到Intranet和Internet;
        6. 数据安全性不高。
      6. 三层C/S体系结构:将客户机和服务器中的部分业务逻辑抽取出来,形成功能层,放在应用服务器上。

        1. 三层C/S结构同样包括客户机、应用服务器和数据库服务器三个部分。三层C/S体系结构如图所示:

          软件体系结构期末复习_第14张图片

        2. 三层C/S结构体系结构的处理流程如下图所示:

          软件体系结构期末复习_第15张图片

        3. 中间件是客户从服务器获得服务的粘合剂。它的引入使原来较为简单的两层分布模型(客户-服务器)被更加精确的三层模型(客户-中间件-服务器)所替代。如图:

    5. B/S体系结构风格

      1. 浏览器/服务器结构(Browser/Server)B/S体系结构如图所示:

        软件体系结构期末复习_第16张图片

      2. 在B/S结构模式中,数据库是存储数据的主要场所。B/S结构模式如下图所示:

        软件体系结构期末复习_第17张图片

      3. B/S结构的一个典型的例子是教务在线管理平台的系统架构,如下图所示:

        软件体系结构期末复习_第18张图片

      4. 优点:

        1. 系统开发、维护和升级方便且经济。
        2. 具有很强的开放性。
        3. 具有易扩展性。
        4. 用户界面的一致性。
        5. 具有更强的信息系统集成性。
        6. 提供灵活的信息交流和信息发布服务。
      5. C/S 与 B/S 区别

        1. 硬件环境不同: B/S 建立在广域网之上的, 不必是专门的网络硬件环境,而C/S 一般建立在专用的网络上,局域网之间再通过专门服务器提供连接和数据交换服务。
        2. 对安全要求不同:C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。 B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。
        3. 用户接口不同 :C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。 B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。
    6. 独立构件风格:

      1. 进程通迅

      2. 事件驱动体系结构风格

        1. 事件驱动架构是由一系列的系统组件构成的,组件之间共同作用完成系统的功能。如图所示,这些组件之间的联接是管道化的和多模块化的,通过形成并发的事件流对企业业务事件进行处理。

          软件体系结构期末复习_第19张图片

        2. 事件驱动架构的组成如图所示:

          软件体系结构期末复习_第20张图片

        3. 将这些不同的组件细分为五类:

          1. 事件元数据:用来实现事件定义和事件处理规则预定义。
          2. 事件处理:包括事件处理引擎和事件处理对象实例两部分。事件处理引擎按照所处理的事件类型分为简单事件处理和复杂事件处理两种。
          3. 事件工具:由事件开发工具和事件管理工具两种组成。
          4. 企业系统集成:事件驱动架构中为了实现架构与现有系统的融合与事件的提取传递,必须有一个联接枢纽,这就是企业系统集成。
          5. 事件资源:事件驱动架构是在现存的企业资源的基础上建立的,包括企业已有的各种资源、如业务数据、数据仓库、服务、现有系统等。这是企业事件的来源和基础,为事件驱动的后续动作提供基础事件数据。
        4. 优点:

          1. 事件声明者不需要知道哪些构件会响应事件,因此,不能确定构件处理的先后顺序,甚至不能确定事件会引发哪些过程调用。
          2. 提高了软件重用能力。只要在系统事件中注册构件,就可以将该构件集成到系统中。
          3. 便于系统升级。只要构件名和事件中所注册的过程名保持不变,原有构件就可以被新构件所替代。
        5. 缺点:

    7. 数据共享体系结构风格(仓库风格)
      仓库风格有两类部件:一类是中心数据结构部件,又可称作“数据仓库”(Repository),表示系统的当前状态;另一类是一组相对独立的部件集,它们可以以不同方式与数据仓库进行交互,这也就是数据共享体系结构的技术实现基础。
      在这里插入图片描述

      1. 数据库系统

      2. 超文本系统

      3. 黑板系统
        黑板系统反映了信息共享,即:有一定数量的对象对统一中央数据结构进行操作,从而实现中央数据结构的持续更新。黑板体系结构如图:

        软件体系结构期末复习_第21张图片

      4. 优点

        1. 便于多客户共享大量数据,而不必关心数据是何时产生的、由谁提供的以及通过何种途径来提供。
        2. 便于将构件作为知识源添加到系统中来。
      5. 现代编译器就是黑板体系结构的风格,如图:
        软件体系结构期末复习_第22张图片

    8. C2体系结构风格

      1. C2风格用来设计具有用户界面的应用程序,用户界面软件常常可以看作由大量应用软件片段所组成,是基于构件和消息的架构风格。架构风格如图:
        软件体系结构期末复习_第23张图片
      2. 构件连接:一个构件的“顶部”或“底部”可以连接到一个连接件的“底部”或“顶部”;对于一个连接件,和其相连的构件或连接件的数量没有限制,但是构件和构件之间不能直接相连。消息类型是向上发送的请求信息和向下发送的通知消息两种。
    9. MVC体系结构风格

      1. MVC模式属于结构型设计模式,即将应用类和对象组合获得比较复杂的结构。它是第一个将表示逻辑和业务逻辑分开的设计模式。MVC设计模式的出现使得模型层、视图层和控制层各层层次分明,各个模块之间相互独立,提高了灵活性。
      2. MVC:
        1. 视图(View):代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但也有可能为XHTML、XML和Applet。
        2. 模型(Model):就是业务流程状态的处理以及业务规则的制定。
        3. 控制器(Controller):可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
      3. MVC模式的目的就是实现Web系统的职能分工。
    10. 反馈控制环体系结构风格

      1. 从过程控制的角度来分析和解释构件之间的交互,同时,应用这种交互来改善系统性能。如图:
        软件体系结构期末复习_第24张图片
      2. 反馈控制环结构能够处理复杂的自适应问题,如机器学习。机器学习模型如图所示:
        在这里插入图片描述
    11. 公共对象请求代理体系结构风格

      1. CORBA:公共对象请求代理(CORBA)是由对象管理组织(OMG)提出来的,是一套完整的对象技术规范,其核心包括标准语言、接口和协议。在异构分布式环境下,可以利用CORBA来实现应用程序之间的交互操作,同时,CORBA也提供了独立于开发平台和编程语言的对象重用方法。
      2. 对象管理组织由5个部分组成:对象请求代理(ORB)、对象服务、通用设施、域接口和应用接口。最核心的部分是对象请求代理实现客户和服务对象之间的通信交互
      3. CORBA系统的体系结构图:
        软件体系结构期末复习_第25张图片
      4. CORBA体系结构风格具有以下优点:
        1. 实现了客户端程序与服务器程序的分离。
        2. 将分布式计算模式与面向对象技术结合起来,提高了软件重用效率。
        3. 提供了软件总线机制,软件总线是指一组定义完整的接口规范。
        4. CORBA能够支持不同的编程语言和操作系统,在更大的范围内,开发人员能够相互利用已有的开发成果。
  3. Garlan和Show对体系结构的分类图:
    软件体系结构期末复习_第26张图片

3.新型体系结构风格

  1. 正交软件体系结构风格

    1. 正交软件体系结构由组织层和线索的构件构成。
    2. 特征:
      1. 由完成不同功能的n(n>1)个线索(子系统)组成;
      2. 系统具有m(m>1)个不同抽象级别的层;
      3. 线索之间是相互独立的(正交的);
      4. 系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。
    3. 构件:构件是一个计算单元或数据存储。也就是说,构件是计算与状态存在的场所。
    4. 线索:线索是子系统的特例,它是由完成不同层次功能的构件组成(通过连接件来关联)。
    5. 正交软件体系结构的核心模型如图:
      软件体系结构期末复习_第27张图片
  2. RIA(Rich Internet Application) 体系风格

    1. RIA 将桌面型计算机软件应用的最佳用户界面功能性与Web应用程序的普遍采纳和低成本部署以及互动多媒体通信的长处集于一体,可以提供更直观、响应更快和更有效的用户体验,简化并改进了Web应用程序的用户交互。它不仅具备了桌面型系统的长处,包括在确认和格式编排方面提供互动用户界面、在无刷新页面之下提供快捷的界面响应时间、提供通用的用户界面特性,而且保留了Web的优点,并且支持双向互动声音和图像。
    2. RIA应用程序的层次模型如图:
      软件体系结构期末复习_第28张图片
    3. 优点:
      1. 强交互性。RIA支持丰富的UI组件。
      2. 直接管理。局部的数据更新,通过客户端计算可直接实现对用户请求的响应。
      3. 多步骤处理。所有内容在一个界面中添加转换效果,使应用程序的状态在各步骤中轻松移动。
      4. 文本独立性。RIA集成XML特性,简化异质系统的通信,方便数据的存取。
      5. 平台无关性。应用层次对所有RIA客户端都是一致的。
    4. 典例:Ext/ExtJS
  3. REST软件体系结构风格

    1. 表述性状态转移(REST)是Roy Fielding在他的博士论文中发明的一个新名词,是对Web体系结构设计原则的一种描述。如图:
      软件体系结构期末复习_第29张图片
    2. 设计准则:
      1. 网络上的所有事物都被抽象为资源;
      2. 每个资源对应一个唯一的资源标识符;
      3. 通过通用的连接器接口对资源进行操作;
      4. 对资源的各种操作不会改变资源标识符;
      5. 所有的操作都是无状态的;
      6. REST强调中间媒介的作用。
    3. 优点:
      1. 统一接口,简化了对资源的操作;
      2. REST的无状态性提高了系统的伸缩性(无状态性使得服务器端可以很容易的释放资源,
      3. 为服务器端不必在多个Request中保存状态)和可靠性(无状态性减少了服务器从局部错误中恢复的任务量);
      4. 基于缓存机制,提高了系统的处理性能和负载量;
    4. RESTfulWeb 服务是符合REST风格的轻量级Web服务架构,它以完成业务为目标,将一切与业务相关的事物抽象为资源,并为每个资源赋予一个URI标识,用户在提交请求时,将作用域信息置于URI中,并且使用不同的HTTP方法提交请求,即可对该URI代表的资源执行相关操作,其中常见的HTTP方法为POST、GET、PUT 和DELETE,对应资源的创建、读取、更新和删除操作,简称CRUD 操作。如图:
      软件体系结构期末复习_第30张图片
  4. 插件体系结构风格以

    1. 插件风格结构如图
      软件体系结构期末复习_第31张图片
    2. 优点:
      1. 实现真正意义上的软件部件的“即插即用”;
      2. 在二进制级上集成软件,避免重新编译内核功能,方便功能扩展和升级;
      3. 能够很好实现软件模块的分工和分期开发;
  5. 面向服务(Service Oriented Architecture,SOA)软件体系结构风格

    1. 服务是一种粗粒度、可发现、松耦合、自治的分布式组件。
    2. SOA是通过一定的原则来组合一系列可以相互交互的服务进行软件应用开发的一种架构解决方案。SOA本身不是一种具体的技术,而是一个组件模型,一种架构风格。

4.习题

  1. 下列哪个选项是描述系统的静态结构( A)
    A.逻辑视图和开发视图
    B.进程视图和物理视图
    C.开发视图和物理视图
    D.开发视图和进程视图

  2. Unicon提供了一组预先定义的构件和连接件,这是为了达到( A)
    A:提供对大量构件和连接件的统一访问;
    B:区分不同类型的构件和连接件,以便对体系结构配置进行检查;
    C:支持不同表达方式和不同开发人员的分析工具;
    D:支持有构件的使用。

  3. 下列选项中关于ADL与其他语言的比较说法中错误的是( B)
    A:ADL与需求语言的区别在于后者描述的问题空间,而前者则扎根与解空间中;
    B: ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注;
    C:ADL与传统的程序设计语言的构成元素由许多相同和相似之处,又各自有着很大的不同;
    D:ADL集中在构件的表示上。

  4. 软件架构模式描述了如何将各个模块和子系统有效地组织成一个完整的系统。诸如Word和Excel这类图形界面应用软件所采用的架构模式是(D )。
    A.分层模式
    B.知识库模式
    C.面向对象模式
    D.事件驱动模式

  5. 为了解决C/S模式中客户机负荷过重的问题,软件架构发展形成了(C )模式。
    A. 三层C/S B. 分层
    C.B/S D. 知识库

  6. 与基于C/S架构的信息系统相比,基于B/S架构的信息系统(C )。
    A.具备更强的事务处理能力,易于实现复杂的业务流程
    B.人机界面友好,具备更加快速的用户响应速度
    C.更加容易部署和升级维护
    D.具备更高的安全性

  7. 软件重用长期以来一直是软件工程界不断追求的目标。(√)

  8. 软件体系结构的核心由5种元素组成:构件、连接件、配置、端口和角色。其中,构件、连接件和配置是最基本的元素(√)

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

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

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

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

  13. SOA模型具有松散耦合、细粒度服务、标准化接口等特征。(×)(粗粒度,SOA是一个组件模型)

  14. 层次系统最广泛的应用是分层通信协议。(√)

  15. MVC模式的中的M,V,C分别对应Model,View,Controller三种单词。

  16. 黑板系统主要由知识源黑板控制组件 组成。

  17. 什么是软件体系结构风格?答:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。

  18. 请设计一个具体B/S结构登录模块的体系结构,并说明每层的作用:
    答:该模块的B/S结构可分为三层:

    第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层。

    第一层只有浏览器,通过访问第二层的网页实现用户界面,即接受用户的名称、密码的输入,并向第二层传送用户名和密码,最后将登录结果显示出来;

    第二层接受第一层的用户名和密码,并通过访问第三层判断用户合法性,最后将登录结果以网页形式返回给第一层;

    第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。

第4章 、特定领域的软件体系结构

1特定领域软件体系结构概述

  1. 特定领域软件体系结构(DSSA)的设计是系统级软件重用的主要研究内容之一

2 DSSA的定义及组成

  1. DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件框架。
  2. DSSA的定义:
    1. DSSA是软件构件的集合,以标准结构组合而成,对于一种特殊类型的任务具有通用性,可以有效地、成功地用于新应用系统的构建。在该定义中,构件是指一个抽象的具有特征的软件单元,它能为其他单元提供相应的服务。
    2. DSSA是问题元素和解元素的样本,同时给出了问题元素和解元素之间的映射关系。
  3. DSSA的特征
    1. 是对整个领域适度的抽象;
    2. 具有严格定义的问题域或解决方案域;
    3. 具备该领域固有的、典型的在开发过程中可重用元素;
    4. 具有普遍性,即可用于领域中某个特定应用的开发。
  4. 领域模型是DSSA的关键部分,它描述了领域内系统需求上的共性。如图:
    软件体系结构期末复习_第32张图片
  5. DSSA包含两个过程,即领域工程和应用工程。

3 特定领域软件体系结构的领域工程

领域工程有助于解决可重用信息的识别、组织和利用的问题,有助于产生具有较高可重用性的构件,对开发者重用构件提供了有力的支持。

  1. 领域分析(Domain Analysis) 含义是指识别、捕获和组织特定领域中一类相似系统的对象及操作等可重用信息的过程,其目标是支持系统化的软件重用,主要目标是建立领域模型
  2. 领域设计是领域工程的第二个阶段,此阶段的主要目标是针对领域分析阶段获得的对目标领域的问题域系统责任的认识,相应的设计模型的开发,应该紧紧地围绕着领域模型展开领域设计。
  3. 领域实现的主要目标是根据领域模型、DSSA来开发和组织可重用软件元素

4 特定领域软件体系结构的应用工程

应用工程是在领域工程基础上,针对某一具体应用所实施的开发过程。应用工程是对领域模型的实例化过程,可以为单个应用设计提供最佳的解决方案。 应用工程可以划分为应用系统分析、应用系统设计和应用系统实现与测试三个阶段。

5 DSSA的生命周期

  1. 软件开发生命周期,如图:
    软件体系结构期末复习_第33张图片

  2. 特定领域软件体系结构的双生命周期模型,如图:
    软件体系结构期末复习_第34张图片

6 特定领域软件体系结构的建立

DSSA领域分析的过程框架,如图:
软件体系结构期末复习_第35张图片

7 基于特定领域软件体系结构的开发过程

  1. 基于DSSA的应用开发步骤及其相关的支持工具如下图:软件体系结构期末复习_第36张图片

  2. 基于DSSA的应用开发过程分为两个步骤,如图:
    软件体系结构期末复习_第37张图片

  3. DSSA和应用系统架构之间的关系,如图:
    软件体系结构期末复习_第38张图片

  4. 在整个生命周期中,特定领域软件体系结构可重用构件始终是开发过程中的核心内容。基于DSSA的开发过程,如图:
    软件体系结构期末复习_第39张图片

8 特定领域软件体系结构对软件开发的意义

  1. 具有更好的可操作性和可行性。
  2. 基于DSSA的开发方法更高效、更实用。
  3. DSSA开发方法使软件项目投资的成本最小化。
  4. 对领域进行建模,吸纳更多的领域知识,为特定应用的求解提供信息源。
  5. 领域分析过程化,有利于对分析过程进行动态建模,便于DSSA的更新与完善。

第5章、Web Services与SOA

1 Web Services概述

  1. W3C将Web Services定义为:Web Services是为实现跨网络操作而设计的软件系统,目标是消除语言差异、平台差异、协议差异和数据结构差异,成为不同构件模型和异构系统之间的集成技术

2 Web Services技术

  1. 优点
    1. 良好的封装性、开放性、维护性和伸缩性。
    2. 高度的集成性、跨平台和语言独立性。
    3. 自描述和发现性以及协议通用性。
    4. 协约的规范性。
    5. 松散的耦合性。
  2. Web Services体系结构模型描述了三种角色,包括服务提供者、服务注册中心和服务请求者,定义了三种操作,即查找服务、发布服务和绑定服务,同时给出了服务和服务描述两种操作对象。 如图:
    软件体系结构期末复习_第40张图片
    1. 发布服务:服务提供者定义了Web Service描述,在服务注册中心上发布这些服务描述信息。
    2. 查找服务:服务请求者使用查找服务操作从本地或服务注册中心搜索符合条件的Web Service描述,可以通过用户界面提交,也可以由其他Web Service发起。
    3. 绑定服务:一旦服务请求者发现合适的Web Service,将根据服务描述中的相关信息调用相关的服务。
  3. Web Services的执行过程,如图:
    软件体系结构期末复习_第41张图片
  4. Web Services协议栈体系结构图,如图:
    软件体系结构期末复习_第42张图片
  5. Web Services工作机制 :
    1. Web Services主要采用可扩展标记语言XML、简单对象访问协议SOAP、Web Services描述语言WSDL、统一描述、查找和集成协议UDDI、Web Services流程语言WSFL以及业务流程执行语言BPEL等核心技术。
    2. XML是Web Services进行数据交换时所采用的标准,同时也是Web Services技术的全部规范和技术基础。
    3. SOAP是以XML为基础,独立于编程语言和操作平台,交换结构化信息的轻量级协议。
    4. 一个WSDL文档将服务定义为一个网络端点或端口的集合。
    5. UDDI 是一套Web服务信息注册标准规范,信息注册中心通过实现这套规范开放各个Web Services的注册和查询服务。

3 SOA

  1. SOA的实质就是将系统模型与系统实现分离,SOA覆盖了软件开发的整个生命周期,包括软件建模、开发、整合、部署、运行等环节。工作原理如图:
    软件体系结构期末复习_第43张图片
    1. SOA是一种软件系统架构,而不是一种计算机语言,也不是一种具体的技术,更不是一种产品。
    2. 服务是SOA实现的核心,SOA的基本元素是服务。
  2. SOA的三个抽象级别
    1. 操作:代表单个逻辑工作单元(LUW)的事务。执行操作通常会导致读、写、或修改一个或多个持久性数据。
    2. 服务 :代表操作的逻辑分组。服务可以分层,以降低耦合度和复杂性。一个服务粒度的大小和系统的性能息息相关。
    3. 业务流程:业务流程是为了实现特定的业务目标而执行的一组长期运行的动作或者活动。在SOA中,业务流程包括依据一组业务规则按照有序序列执行的一系列操作。
  3. SOA的优点
    1. 具有良好的平台无关性、可适应性和可扩展性。
    2. 技术与业务对齐,更好的集成效果、更好的定价和销售模式。
    3. 减少系统耦合,提高系统的复用粒度,降低开发成本。
    4. 使企业的信息化建设真正以业务为核心,业务人员根据需求编排服务,而不必考虑技术细节。
  4. SOA的缺点与问题
    1. 降低了系统的性能。
    2. 服务的划分和编排困难。
    3. 如果选择的接口标准有问题,会带来系统的额外开销,并因此而最终导致整个系统不稳定性的增加。
    4. 对IT硬件资源并没有重用。
    5. 目前主流实现方式接口很多,从而比较松散、脆弱。
    6. 目前主流实现方式只局限于不带界面的服务共享。从业务角度思考,能共享的应该不仅仅局限在服务层面。
  5. SOA和Web Services的关系
    1. SOA不是Web Services,Web服务是技术规范,而SOA是设计原则;
    2. SOA本质上是一种将软件组织在一起的抽象概念,依赖于XML和Web Services等更加具体的实现技术;
    3. Web Services是SOA的一个特定实现。
    4. Web Services是实现SOA的最好方式,但SOA的实现并不仅仅局限于Web Services。

4 网格服务体系结构

网格技术的权威Ian Foster将网格体系结构定义为“划分系统基本组件,指定系统组件的目的与功能,说明组件之间如何相互作用的技术”。

  1. 五层沙漏结构
    1. 五层沙漏体系结构由构造层、连接层、资源层、汇聚层和应用层等五层组成。
    2. 资源层和连接层共同组成瓶颈部分,形成核心层,促进资源共享。
  2. 开放网格服务体系结构(Open Grid Service Architecture,OGSA)
  3. Web服务资源框架(Web Service Resource Framework,WSRF)

5 Web Services实现技术

  1. Web Services不仅提供了基于http协议的组件服务,作为分布式应用程序的发展趋势,它已经成为一种标准。
  2. Web Services表现出了比较好的平台无关性,很多语计算机语言都针对Web Services开发提供了具体的实现方法。
  3. .net实现(开发环境:Visual Studio)
  4. JavaEE实现(开发环境:Eclipse+Apache CXF框架)

6 习题

软件体系结构期末复习_第44张图片

【问题1】

  1. 开发人员不需要重新设计业务模式,是需要在原有系统的界面和中间层添加Web Services,可以继承原有系统的所有业务。

  2. 节约了开发的时间和工作量,将系统升级。

  3. 可以不修改原有的Web服务和中间层,可以直接扩展新的服务。

【问题2】

  1. WSDL:是Web Services的描述语言,描述Web Services的服务,接口绑定等信息,为用户提供详细的接口说明书;

  2. SOAP:是通信协议,以服务的方式发布有用的程序模块。

  3. UDDI:提供统一的发布、查找、定位WebServices的方法。

【问题3】

​ 在Web Service模型的解决方案中,服务提供者定义并实现Web Service,使用服务描述语言(WSDL)描述Web Service,然后将服务描述发布到服务请求或者服务注册中心;服务请求这使用查找操作从本地或者服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Service.服务注册中心是整个模型中的可选角色,它是连接服务提供者和服务请求者的纽带

# 第6章、软件演化技术

# 第7章、软件产品线

第8章、软件体系结构评估

1 软件体系结构评估

软件体系结构评估,是对系统的某些值得关心的属性(性能、可修改性、可靠性等)进行评价和判断。
评估的目的是为了识别体系结构设计中的潜在风险

2 评估技术

  1. 询问技术。用于生成一个体系结构将要问到的质量问题,可适用于任何质量属性,并可用于对开发中任何状态的任何部分进行调查。
    询问技术包括场景、调查表、检查列表。
  2. 度量技术。采用某种工具对体系结构进行度量。
    限于特定的体系结构。另外,度量技术还要求所评估的软件体系结构已经有了设计或实现的产品。

3 基于场景的软件体系结构评估方式

三种软件体系结构评估方式

  1. 基于问卷调查或检查表的软件体系结构评估方式

  2. 基于场景的软件体系结构评估方式

    基于场景的方式由SEI首先提出并应用在SAAMATAM

  3. 基于度量和预测的软件体系结构评估方式
    软件体系结构期末复习_第45张图片

4 基于场景的软件体系结构评估方法

  1. SAAM
    1. SAAM (Scenario-based Architecture Analysis Method)主要分析体系结构的可修改性;也可以对系统属性及系统功能进行快速评估。
    2. SAAM评估步骤
      软件体系结构期末复习_第46张图片
    3. SAAM 的评估包括六个活动:
      1. 场景形成。通过集体讨论, 风险承担者提出反映自己需求的场景。
      2. SA 描述。SAAM 定义了功能性、结构和分配三个视角来描述SA。
      3. 场景的分类。在分析过程中需要确定一个场景是否需要修改该体系结构。不需要修改的场景称为直接场景, 需要修改的场景则称为间接场景。另一方面需要对场景设置优先级,以保证在评估的有限时间内考虑最重要的场景。
      4. 单个场景的评估。主要针对间接场景, 列出为支持该场景所需要对体系结构做出的修改, 并估计出这些修改的代价。而对于直接场景只需弄清体系结构是如何实现这些场景的。
      5. 场景交互的评估。两个或多个间接场景要求更改体系结构的同一个组件就称为场景交互。对场景交互的评估, 能够暴露设计中的功能分配。
      6. 总体评估。按照相对重要性为每个场景及场景交互设置一个权值, 根据权值得出总体评价。
  2. ATAM
    1. 体系结构权衡分析法ATAM (Architecture Trade of Analysis Method) 方法是SEI于2000年在SAAM方法基础上提出的,它考虑了可修改性、性能、可靠性和安全性等多种质量属性,并能确定这些相互制约属性之间的折中点
    2. ATAM 评估方法包括4个部分,分为9个步骤:
      1. 表述,分三个步骤:
        1. ATAM方法表述
        2. 商业动机表述
        3. 软件体系结构表述
      2. 调查分析,包括三个步骤
        1. 确定软件架构的方法
        2. 生成质量效用树
        3. 分析软件架构方法
      3. 测试,包括两个步骤
        1. 集体讨论并确定场景的优先级
        2. 分析软件体系结构方法
      4. 形成报告
    3. 质量效用树
      软件体系结构期末复习_第47张图片

5 习题

  1. 特定领域软件架构(DSSA)是在一个特定应用领域为一组应用提供组织结构参考的标准软件架构。实施DSSA的过程包括一系列基本活动,其中(C)活动的主要目的是为了获得DSSA。该活动参加人员中,(A)的主要任务是提供关于领域系统的需求规约和实现的知识。
    ① A.领域需求 B.领域分析 C.领域设计 D.领域实现
    ② A.领域专家 B.领域分析者 C.领域设计者D.领域实现者

  2. 某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态”和“对系统进行二次开发时总要超过半年时间”两个问题,上述问题依次与质量属性中的(D )相关。
    A.可用性和性能 B.性能和修改性
    C.性能和可测试性 D.可用性和可修改性

  3. 计算机系统的可用性可从多个方面来评测,但不包括( C )。
    A.故障率 B.健壮性 C.可移植性 D.可恢复性

  4. 以下关于系统性能的叙述中,不正确的是( A )
    A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试
    B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量
    C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统
    D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈

  5. “系统在提供服务给合法用户的同时抵制未授权使用的能力”这是哪种质量属性关心的问题:(D)
    A)性能
    B)可测试性
    C)可移植性
    D)安全性

  6. 某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
    正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;
    信用卡支付必须保证99.999%的安全性;
    对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
    网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;
    需要在20人月内为系统添加一个新的CORBA中间件;
    交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;
    更改加密的级别将对安全性和性能产生影响;
    主站点断电后,需要在3秒内将访问请求重定向到备用站点;
    假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;
    用户信息数据库授权必须保证99.999%可用;
    目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;
    更改Web界面接口必须在4人周内完成;
    系统需要提供远程调试接口,并支持系统的远程调试。
    在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中a、b空白处;并选择题干描述的1~13,填入c~f空白处,完成该系统的效用树。
软件体系结构期末复习_第48张图片

答案:a:可修改性、b:可用性、c:6、d:12、e:8、f:2

【问题2】

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请给出系统架构风险、敏感点和权衡点的定义,并从题干1-13中各选出1各对系统架构风险、敏感点和权衡点最恰当的描述。

答案:系统架构风险:是指架构设计中潜在的、存在问题的架构决策所带来的隐患;11描述的是架构风险

敏感点:是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性;3描述的是敏感点

权衡点:是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性;7描述的是权衡点。

第10章 、云计算

1 云计算服务的分类

软件体系结构期末复习_第49张图片

  1. 将基础设施作为服务(Infrastructure as a Service,IaaS)
  2. 将云计算软件开发平台作为服务(Platform as a Service,PaaS)
  3. 将软件作为服务(Software as a Service,SaaS)

2 云计算的体系结构

软件体系结构期末复习_第50张图片

  1. 服务管理中间件层和虚拟化资源层是云计算技术的核心部分 。
  2. 云计算核心技术
    1. Google云计算核心技术
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93nPeBmK-1577684204748)(C:\Users\dsl\AppData\Roaming\Typora\typora-user-images\image-20191230130652352.png)]
    2. 分布式海量数据存储技术
    3. 分布式海量数据编程模型
    4. 分布式海量数据的锁服务
    5. 分布式海量数据管理技术

3 习题

  1. 云计算的计算模式为( D ).

    A W/S B C/S C B/S D B/C

  2. ( B )是公有云计算基础架构的基石。

    A 虚拟化 B 分布式 C 并行 D 集中式

  3. ( A )是私有云计算基础架构的基石。

    A 虚拟化 B 分布式 C 并行 D 集中式

  4. 网格计算是利用( B )技术,把分散在不同地理位置的计算机组成一台虚拟超级计算机。

    A 对等网 B 因特网 C 广域 D 无线网

  5. 云计算就是把计算资源都放到( B )

A 对等网 B 因特网 C 广域 D 无线网

  1. 用户可通过( A )从列表中选择所需的服务,其请求通过管理系统调度相应的资源,并通过部署工具分发请求、配置Web应用。

    A 云用户端 B 服务目录

    C 管理系统和部署工具D 监控端

  2. SaaS是( 软件即服务 )的简称。

    PAAS是( 平台即服务 )的简称

    IaaS是( 基础设施即服务 )的简称。

    A 软件即服务 B 平台即服务

    C 基础设施即服务D 硬件即服务

  3. 云计算是对分布式处理(DistributedComputing)、并行处理(Parallel Computing)和网格计算(Grid Computing)及分布式数据库的改进处理。( √ )

  4. 利用并行计算解决大型问题的网格计算和将计算资源作为可计量的服务提供的公用计算,在互联网宽带技术和虚拟化技术高速发展后萌生出云计算。( √ )

  5. 云计算的基本原理为:利用非本地或远程服务器(集群)的分布式计算机为互联网用户提供服务(计算、存储、软硬件等服务)。( √ )

  6. 云计算可以把普通的服务器或者PC连接起来以获得超级计算机的计算和存储等功能,但是成本偏高。 ( × )

  7. 云计算真正实现了按需计算,从而有效地提高了对软硬件资源的利用效率。 ( √ )

  8. 云计算模式中用户不需要了解服务器在哪里,不用关心内部如何运作,通过高速互联网就可以透明地使用各种资源。( √ )

  9. Amazon EC2在基础设施云中使用公共服务器池。 ( √ )

  10. 所谓“云”计算就是一种计算平台或者应用模式。( × )

总习题

  1. 软件重用是为了解决 _____ 软件危机_。

  2. 综合各种不同软件体系结构定义,认为软件体系结构主要包括_____构件、连接件和配置约束_ 3个部分。

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

  4. 体系结构评估中,一般采用刺激环境,和响应三方面来对场景进行描述。

  5. UML是一种通用的面向对象的建模语言,在很大程度上独立于建模过程,在实际的应用中,建模人员往往把UML应用于__用例__ 驱动的、以__体系结构__ 为中心的, 迭代的__和__渐增式 的开发过程。

  6. Kruchten提出了“4+1”视图模型,从5个不同的视角来描述软件体系结构,这5个视角包括逻辑视图、开发视图、过程视图、物理视图、场景视图

  7. 黑板系统主要由知识源黑板控制组件组成。

  8. 三层C/S结构风格是由表示层功能层数据层构成的。

  9. 领域工程阶段的主要任务有领域分析领域设计领域实现三个阶段。

  10. XML是Web Services进行数据交换时所采用的标准,同时也是Web Services技术的全部规范和技术基础。SOAP、WSDL、UDDI都是使用它进行描述的。

  11. 理解SOA和Web Service关系上, SOA所表示的是一个概念模型,Web Service是SOA的一个特定实现。

  12. SAAM评估方法可以对许多__质量属性__以及__系统功能__进行快速评估。

  13. 体系结构评估中一般采用___刺激__ 、环境和__响应___三方面来对场景进行描述。

考试题型

  1. 填空(20分)
  2. 选择(30分)
  3. 判断(20分)
  4. 简答题(10分)
  5. 问答题(10分)
  6. 分析题(10分)

考点

  1. 第1章 软件体系结构概论
    1. 软件体系结构产生背景
    2. 软件重用的定义
    3. 了解软件重用类型及软件成分重用的形式
    4. 主流的核心模型(本书定义的)
    5. 软件构件的定义
    6. 基于构件的软件开发思想
  2. 第2章 软件体系结构建模
    1. 了解什么是ADL,广泛使用的ADL有哪些?(ACME)
    2. 描述体系结构的两种方法:实践派、学院派;
    3. 了解ACME的基本特征;
    4. 简单了解UML与ADL的关系;
    5. 掌握Kruchten提出了**“4+1”视图模型**,包括组成要素和各要素的特点
    6. 简单了解基于体系结构的软件开发过程
  3. 第3章 软件体系结构风格
    1. 软件体系结构风格的定义
    2. 各种风格的优缺点和应用场合(课堂上讲过的)
  4. 第4章 特定领域软件体系结构
    1. 理解DSSA定义
    2. 了解DSSA具有的特征;
    3. 了解DSSA包含的两个过程:领域工程与应用工程,并了解两个过程之间的关系;
    4. 了解领域工程的三个阶段,及每个阶段的目标;
  5. 第5章 Web Service 与SOA
    1. Web Service定义
    2. 了解Web Service的目标;
    3. 了解Web Service的优点;
    4. Web Service体系结构模型
    5. 了解Web Services工作机制;
    6. 了解SOA定义
    7. 了解SOA优缺点
    8. 理解Web Service与SOA关系
  6. 第8章 软件体系结构评估
    1. 了解评估的定义和目的;
    2. 评估技术两种:询问和度量
    3. 评估中场景的描述
    4. 评估方法三种
    5. 了解SAAM和ATAM的不同之处。
  7. 第10章 云计算
    1. 理解云计算、公共云、私有云、混合云
    2. 云服务类型
    3. 了解云计算的体系结构及核心技术

你可能感兴趣的:(大学课程复习)