软件体系结构

关键点串联

第一章 软件体系结构概论

  1. 软件危机
    1. 概念:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
    2. 表现:
      1. 软件成本日益增长
      2. 开发进度难以控制
      3. 软件质量差
      4. 软件维护困难
    3. 原因:
      1. 用户需求不明确
      2. 缺乏正确的理论指导
      3. 软件的规模越来越大
      4. 软件复杂度越来越高
    4. 软件工程三要素:方法、工具和过程
  2. 构件与软件重用
    1. 概念:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程
    2. 软件元素:程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识
    3. 构建模型三个主要流派:OMG,CORBA,DCOM
    4. 构建获取:
      1. 从现有构建中获得
      2. 遗留工程
      3. 从市场上购买
      4. 开发新的
    5. 构建分类:关键字分类法,刻面分类法,超文本组织法。
    6. 构件库五类用户:注册用户,公共用户,构建提交者,一般系统管理员,超级系统管理员
    7. 构建组装:基于功能、数据、面向对象的组装技术
    8. 系统构建模型四层次:系统构件层,通用类构件层,业务构件层,表现层
    9. 组织结构的重用:构件开发组,构件应用组,协调组
  3. 软件体系结构的兴起和发展
    1. 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述,这些元素的相互作用,指导元素集成的模型记忆这些模式的约束组成。
    2. 软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求的构成系统的元素之间的对应关系,提供了一些设计决策的基本原理
    3. 软件体系结构技术的四个阶段:
      1. 无体系结构设计阶段
      2. 萌芽阶段
      3. 初期阶段
      4. 高级阶段

第二章 软件体系结构建模 !!

五种软件体系结构模型:结构模型,框架模型,动态模型,过程模型和功能模型

  1. “4+1”视图模型 !!
    1. 逻辑视图:最终用户:功能需求
    2. 开发视图:编程人员:软件管理
    3. 进程视图:系统集成人员:性能可扩展性,吞吐量
    4. 物理视图:系统工程人员:系统拓扑、安装、通信
    5. 场景视图:场景可以看做那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。
  2. 软件体系结构的核心模型
    1. 组成元素:构件、连接件、配置、端口和角色
  3. 软件体系结构的生命周期模型
    1. 建立软件体系结构阶段
    2. 软件体系结构的生命周期

第三章 软件体系结构风格 !!

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式

体系结构风格反映了领域中总舵系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

  1. 经典软件体系结构风格
    1. 数据流风格
    2. 调用/返回风格
    3. 独立构件风格
    4. 虚拟机风格
    5. 仓库风格
    6. 仓库系统及知识库
  2. 客户/服务器风格
    1. 服务器的主要任务
    2. 客户端的主要任务
    3. 服务器负责数据管理,客户机完成与用户的交互任务
    4. 缺点和优点
  3. 三层C/S风格
    1. 应该功能分为三个层:表示层,功能层和数据层
    2. 优点
  4. 浏览/服务器风格
    1. B/S风格是将三层应用结构的一种实现方式
    2. 与C/S相比B/S的不足
  5. 异构结构风格
    1. “内外有别”模型
    2. “查改有别”模型

第四章 软件体系结构描述

  1. 软件体系结构描述方法
    1. 文字表达工具
    2. 数学表达工具
    3. 图形表达工具
  2. 体系结构描述语言
    1. ADL(Architecture Description Language)是这样一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体的语法和概念框架
    2. ADL基本元素:构件,连接件,体系结构配置
    3. ADL能力:构造能力,抽象能力,重用能力,组合能力,异构能力,分析和推理能力
    4. 构成要素:构件,连接件,体系结构配置

第六章 可扩展标记语言

  1. XML概述
    1. 定义:XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对不见加以标识
    2. 特点:简洁有效,易学易用,开放的国际化标准,高些且可扩充
  2. 解析XML
    1. 和HTML的区别:XML是元标记语言可以用于定义其他标记语言。XML是“纯”数据。
    2. XSL是专门用于XML文档的样式单语言

第八章 基于服务的体系结构 !!

  1. SOA概述
    1. SOA(Service-Oriented Architecture)面向服务的体系结构
    2. SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法
    3. 特征:松散耦合,粗颗粒度服务,标准化接口
  2. 面向服务的分析与设计
    1. 三个抽象级别:操作,服务和业务流程
  3. SOA关键技术 !!
    1. 发现服务层
    2. 描述服务层
    3. 消息格式层
    4. 编码格式层
    5. 传输协议层
  4. SOA的实现方法
    1. SOA是用本地计算模型来实现一个分布式的计算应用
    2. Web Service模型中的操作包括发布,查找和绑定,这些操作可以单次或者反复出现。
  5. 服务描述语言
    1. WSDL(Web Services Description Language)是对服务进行描述的语言,它有一套基于XML的语法定义
    2. WSDL子元素:types,message,operation,portType,binding,port,service
  6. 统一描述、发现和集成协议
    1. UDDI(Universal Description Discovery and Integration*)是一种用户描述,发现,集成Web服务的技术,他是Web服务协议栈的一个重要部分。
    2. 数据结构:businessEntity,businessService,bindingTemplate,tModel
  7. 消息封装协议
    1. SOAP(Simple Object Access Protocol)以XML形式提供一个简单,轻量的用于在分散或分布环境中交换结构化和类型信息的机制
    2. 主要包括4个部分:SOAP封装结构,SOAP编码规则,SOAP RPC表示,SOAP绑定

第九章 富互联网体系结构

  1. RIA的概念
    1. RIA(Rich Internet Application)富互联网应用体系结构
    2. 富:丰富的数据模型和丰富的用户界面