02-软件架构intro

Charlie
  • 软件的四个本质难题
    1. 复杂度
    2. 一致性
    3. 可变性
    4. 不可见性:没有几何结构

image.png

架构来源

  • Architecture:

    1. Component interfaces
    2. Component communications and dependencies
    3. Component responibilities
      1. 性能,可用……
  • communication

    1. Data passing
    2. Control flow

NFR

  • 架构强调非功能需求NFR:how well a system works
  • 包括
    1. 技术限制
    2. 商业限制
    3. 质量属性

architecture views

有多个视图
解决不可见

4+1 view model

Logical view :架构的重要元素和他们之间的关系
Process view :
Physical view
Development view

Architecture use cases: 四个视图是关于某个场景的

generic design strategies

  1. Decomposition
  2. Abstraction
  3. Stepwise: Divid and Conquer
  4. Generate and Test,先生成一个设计,再对它测试
  5. Iteration: Incremental Refinement
  6. Reuseable elements,重用现有的设计

what does a software architect do?

  1. Liaison
    1. 调和用户、市场、开发等
  2. software engineering
  3. technology knowledge
  4. risk management

架构设计过程

  1. 识别和架构相关的重要需求
  2. 架构设计
  3. 文档化,以视图为中心
  4. 架构评估
  • 标题: 02-软件架构intro
  • 作者: Charlie
  • 创建于 : 2024-04-16 14:04:00
  • 更新于 : 2024-07-05 12:55:04
  • 链接: https://chillcharlie357.github.io/posts/46b5218b/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论