[笔记]-软件体系结构与设计模式复(yu)习

软件体系结构

1绪论

  • 软件体系结构是 具有一定形式的结构化元素
  • 元素包括: 处理元素数据元素连接元素
  • 软件架构: 组件连接件约束

2数据流体系结构风格

  • 软件体系结构风格-定义 描述特定领域中软件系统家族的组织方式的惯用模式 (idiomatic paradigm),反映了领域中众多系统所共有 的结构和语义特性,并指导如何将各个模块和子系统有效 地组织成一个完整的系统。
  • 数据流体系结构风格: 数据到达即被激活, 无数据时不工作
  • 还有管道-过滤器和批处理等等

3软件体系结构 —调用/返回风格

  • 调用/返回风格: 主程序/子程序风格、面向对象/抽象数据类型、层次结构
  • 层次风格特点:
    • 1)每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的 层、适当时候(必不得已的时候),可以允许一定的越层操作
    • 大的问题分解为若干个渐进的小问题,逐步解决,隐藏了很多复杂度
    • 修改一层,最多影响两层,而通常只能影响上层。接口稳固,则谁都 不影响
    • 上层必须知道下层的身份,不能调整层次之间的顺序
    • 层层相调,影响性能
  • 客户端/服务器风格:两层C/S结构、三层C/S结构、B/S结构

4数据为中心的体系结构风格

数据为中心的体系结构风格

  • 注册表(Windows Registry):存放系统的所有硬件和软件配置信息,影响或控制系统/应用 软件的行为
  • 最初的各硬件程序的配置信息保存在各自的配置文件.ini中,难以维护,引入注册表的思想,将所有.ini文件集中起来,形成共享仓库,为系统运行 起到了集中的资源配置管理和控制调度的作用。
  • 剪贴板 (Clipboard):一个用来进行短时间的数据存储并在 文档/应用之间进行数据传递和交换的软件程序

仓库体系结构风格

  • 仓库是存储和维护数据的中心场所
  • 仓库的两个组件: 中心数据 结构,表示当前数据的状态、一组对中心数据进行操作的独立构件
  • 连接件:仓库与独立构件之间的交互;
  • 两种交互机制:
    • 数据库方式:输入流中的事务类型 触发需要执行的过程、
    • 黑板结构: 中心数据结构的当前状态触发并选择需要执行的过程
  • 典型应用场合:数据库、编译器中的符号表语法树等

黑板体系结构风格

  • 黑板结构:中心数据结构的当前状态触发并选择需要执行的过程

  • 黑板数据结构:
    • 全局数据库,用来存储数据、传递信息,包含解域的全部状态
    • 解决问题过程中的状态数据,以层次形式 组织起来
    • 知识源对黑 板进行修改,逐渐找到问题的解
    • 各知识源 之间的通讯和交互只通过黑板进行

5软件体系结构 —虚拟机风格

  • 虚拟机风格+解释器风格+规则引擎

6软件体系结构 —事件系统

  • 事件系统-隐式调用的主要特点:
    • 事件的触发者并不知道哪些构件会被这些事件影响,相互保持独立。
    • 不能假定构件的处理顺序
    • 各个构件之间彼此之间无连接关系,各自独立存在,通过对事件的发布和注 册实现关联。
  • 事件系统-基本构件:1)过程或函数,充当事 件源或事件处理器的角色;2)事件

7软件体系结构建模与文档化

  • 软件体系结构由一定形式的结构化元素组成,即是构件的集合。包括处理构件、数据构件和连接构件。处理构件负责加工数据,数据构件代表被加工的信息,连接构件则负责组合连接不同的构件
  • 视图–由系统相关者编写和读取的一组连贯的 架构元素的表示
  • 视图的类型: 分解视图、使用视图、分层视图、类/泛化视图、进程视图、并发视图、 共享数据(存储库)视图、客户端-服务器视图、部署视图、实施视图、工作分配视图
  • 4+1视图: 逻辑视图、进程视图、物理视图、开发视图和场景视图

8可用性

  • 质量属性QA属于非功能性需求,并不被功能所决定
  • 质量属性之间可能互相抑制
  • 必须结合设计、实现、部署3方面才能满足
  • 常见的质量属性: ➢可用性(Availability) ➢可修改性(Modifiability) ➢性能(Performance) ➢安全性(Security) ➢可测试性(Testability) ➢易用性(Usability)
  • 体系结构评估中,一般采用刺激,环境,和__响应__三方面来对场景进行描述。

9可修改性

  • 提升可修改性的策略
    • 限制修改范围 :➢模块高内聚、低耦合 ➢考虑到可能会发生的修改➢让模块通用 ➢ 隐藏信息 ➢ 维持接口不变➢ 限制通信路径 ➢ 使用中介 ➢命名服务器(name server) ➢按需创建实例
    • 延迟绑定时间 ➢ 配置文件 ➢ 发布-订阅模式➢ 多态

10性能

  • 提升性能的策略:资源的需求、资源的管理 、资源的仲裁

11安全性

  • 提升安全性的策略: 抵抗攻击、检测攻击、从攻击中恢复

12 软件体系结构评估

ATAM

设计模式

看这,过一遍即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值