【架构课笔记 - 第一周】一般方法与设计文档
1. 架构师的主要能力
能力基础:
编程
掌握基础技术原理
常用技术产品的理解与应用
架构技能:
常用架构模式和框架的理解与应用
建模以及设计文档编写
业务理解与功能模块及非功能模块拆解
其他软技能:
快速学习
沟通领导
2. 什么是软件架构
软件架构是有关整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
软件架构 = {元素,形式,关系/约束}
重点在于“抽象描述”,要对元素(组件)的特征、形式与关系的要点,进行分层和概括描述。
3. 4+1 视图方法
3.1 什么是 4+1 视图
软件架构涉及到抽象、分解和组合。可以由多个视图或视角组成的模型来描述它,常见的有 4+1 视图:
逻辑视图
开发视图 + 场景视图
物理视图
过程视图
3.2 架构视图重点的关注
给什么人看
如何达到设计意图
3.3 参考:
4. 建立模型
4.1 什么是模型:
即系统的完整抽象,重点是抽象。
对架构师的要求正是抽象能力和抽象表达能力。
从领域问题(现实问题)出发,获得概念模型,提取系统需求,设计解决方案。
4.2 为什么建模
目的是沟通
4.3 何时画图
讨论交流时
产出最终设计文档
4.4 何处画图
白板
Visio ……
draw.io
5. UML
统一建模语言
5.1 UML 图分类
5.1.1 静态图
用例图
对象图
类图
组件图
包图
部署图
5.1.2 动态图
协作图
序列图
活动图
状态图
5.2 UML 图的组成
5.2.1 模型元素
类、对象、状态、用例、节点、包和组件
5.2.2 静态关系
依赖
关联
继承
实现
聚合
组合
5.3 具体 UML 图
5.3.1 用例建模
通常需求分析阶段用
5.3.2 类图
详细设计阶段用;
类名、成员变量、方法;
+public、-private
5.3.3 时序图
各阶段都可使用;
表达动态关系;
对象、生命线、激活、消息;对象层面方法就是消息
消息
简单消息
同步消息
异步消息
注:对象间的消息(方法调用)是同步消息;
5.3.4 活动图
各阶段都可使用;例如泳道
5.3.5 状态图
需求分析、详细设计阶段可用
5.3.6 协作图
用时序图可以生成,丢掉时序关系即可生成
5.3.7 组件图
5.3.8 部署图
建议架构师做架构设计时做的第一张图
5.4 参考书
评论