学习总结 - 架构师训练营 - 第一周
架构师是份工作,不是职位。做了架构师的事儿,就是架构师。
软件架构={元素,形式,关系/约束}
4+1 视图模型(面向不同的相关方,从不同的角度看):
逻辑视图:设计的对象模型 -- 面向领导、用户;整体功能模块、子系统
过程视图:捕捉设计的并发和同步特征 -- 面向性能优化和开发人员;系统线程、进程,消息传递、处理
物理视图:描述了软件到硬件的映射,反映了部署特征 -- 面向系统集成、系统运维;逻辑组件到物理节点的映射,节点间物理配置
开发视图:描述了开发环境中软件的静态组织结构 -- 面向开发、测试;系统层次、分区、框架
场景视图:描述用例场景 -- 面向用户、设计、开发;满足实际的、典型的用户应用场景
另:架构五视图:逻辑架构、开发架构、运行架构、物理架构、数据架构。
领域问题(场景) - 概念模型(用户需求?) - 需求(开发需求?) - 解决方案(设计和软件)
架构工具-UML图
静态图:用例图、对象图、类图、组件图、包图、部署图
用例图:典型用例分析、框、执行者、基本功能
动态图:状态图、活动图、时序图、合作图
状态图:状态转换
时序图:对象(不同粒度)间动态交互过程
活动图:重点说明单个系统、对象内部的活动顺序,重点不在交互
关系:泛化/继承(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)
各种关系的强弱顺序:泛化/继承 = 实现 > 组合 > 聚合 > 关联 > 依赖
架构从部署图开始
评论