20分

1、软件架构为软件系统提供一个结构、行为、属性的高级抽象。由构建的描述、构建的相互作用(连接件)、指导架构集成的模式、模式的约束。

2、软甲架构设计的最终目的是  架构层级的复用

3、大多数原子构件永远不会被单独部署,尽管可以单独部署;大部分原子构件都属于一个构件家族,一次部署往往涉及整个家族。

4、构件:

  独立部署的资源

  第三方组装单元

  没有外部可见状态

  可以包含多个类元素,但一个类元素只能属于一个构件

5、对象:

  一个实例单元

  外部可见状态

  封装了自己的状态和行为。

6、软件架构风格:描述某一特定应用领域中系统组织方式的惯用模式。定义了一个架构定义、一个词汇表(包含一些架构和连接类型)、一组约束(指出了系统是如何将这些构件和连接件组合起来)。

        反应了领域中众多系统所共有的结构和语义特性。

7、风格:

  数据流风格:传统编译器

    批处理:一批作为一组同时执行完后才能下一批。

    管道-过滤器:前一个输出是后一个输入。

  调用/返回风格

    主程序/子程序:

    面向对象:通过函数和过程的调用来交互

    层次结构:下层对上层服务

  独立构件风格

    进程通信:进程间消息传递:点对点、异步或同步、远程调用(RPC)

    事件驱动(隐式调用):事件触发时响应

  虚拟机风格

    解释器:解释引擎、包含被解释代码的存储区、一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的数据结构。

    基于规则的系统:人工智能领域、决策支持

  仓库风格:数据为中心

    数据库系统:

    超文本系统:互联网领域

    黑板系统:知识源、黑板、控制:语音识别、知识推理。

  闭环控制

    反馈循环机制

  C2

    通过连接件绑定在一起的按照一组规则运作的并行构件网络;都有一个顶部和一个底部;构件与构件间必须通过连接件连接

            image

 8、层次架构风格

  C/S架构:

    两层--胖架构

    三层--瘦架构

  B/S架构:

    三层

  MVC:视图->控制器->模型->视图

    控制器:处理用户交互

    模型:处理应用程序数据逻辑部分

    视图:数据显示、客户交互

  MVP:controller换成presenter(呈现)

      image

  MVVM: presenter换成ViewModel

      image

9、面向服务的架构风格SOA

  协议:

     image

     UDDI:服务注册/查找

    WSDL:服务描述:服务能做什么、怎么访问服务、服务位于哪个协议的哪个地址

    SOAP:服务连接,基于XML协议,包括:封装、编码规则、SOAP/RPC、绑定;简单、可扩展

  WEB Service:服务提供者、服务注册中心、服务请求者。

  服务注册表:服务注册、服务位置、服务绑定。

  ESB:企业服务总线:消息的转发、解释、路由

10、架构复用

  机会复用/系统复用

  获取/构造可以复用的软件资产、管理资产、针对特定需求选择可复用部分

10、DSSA 特定领域软件架构

  专用于一类特定类型的任务,软件构件集合。

  垂直域、水平域

  三个基本活动:领域分析(获取领域模型、领域需求)、领域设计(获取DSSA)、领域实现。

  四种角色:领域专家、领域分析人员、领域设计人员、领域实现人员。

  五个过程:定义领域范围、定义领域特定元素、定义设计和约束、定于模型和架构、产生搜集可复用的产品单元。

  三层次模型:领域开发环境、领域特定的应用开发环境、应用执行环境。

11、ABSD:架构驱动

  视角和视图来描述软件架构、采用用例和质量属性场景来描述需求

  自顶向下

  六个过程:

    架构需求:(系统质量目标、系统商业目标、系统开发人员商业目标),生成初始逻辑模型

    [

    架构设计:标识构件映射成构件,分析构件间的相互作用,产生体系结构,设计评审

    架构文档化:架构规格说明书、测试架构需求的质量设计说明书

    架构复审:外部人员复审

    ]

    架构实现:用实体显示出架构,实现构件,构件组装成系统。

    架构演化:对架构进行改变,按需求增删构件,使架构可复用。

12、质量属性

  性能:系统响应能力,5s内返回结果;响应时间、吞吐量;增加计算资源、减少计算开销、资源调度、并发。

  可靠性:基本上同可用性。发生错误时正常运行。心跳、冗余、选举、ping/echo

  可用性:重要。系统能够正常运行的时间比例。两次故障之间的时间长度。出现故障时恢复正常的速度。

  安全性:给合法用户提供服务,阻止非法用户服务。入侵检测、追踪审计、用户认证、用户授权

  可修改性:以较高性价比快速修改。抽象、信息隐藏、接口-实现分类

  功能性:系统所能完成所期望的工作的能力。

  可变性:架构的可扩展性。

  互操作性:与其他系统进行交互,接口。

13、质量属性场景:面向特定质量属性的需求

  刺激源、【刺激】、  【环境】、  制品、      【响应】、    相应度量。

  用户  操作  生产环境 操作对象(系统) 操作完成  操作的评估

14、架构评估

  敏感点:实现某种特定的质量属性、一个或多个构件所具有的特性。一个质量属性

  权衡点:两个及两个质量属性的特性。多个质量属性的敏感点。

  风险点:可能出现问题的操作。

15、SAAM:基于场景的架构分析方法

  image

16、ATAM:架构权衡分析法

  活动领域:场景和需求收集、体系结构视图和场景实现、属性模型构造和分析、折中。以属性为核心,主要针对:性能、可用性、安全性、可修改性。

  效用树:树根-质量属性-质量分类-质量属性场景(叶子节点)。

  image

 

 

 

 

 

 

 

 

 

 

  

posted on 2025-09-24 16:41  程序员丁先生  阅读(22)  评论(0)    收藏  举报