架构师训练营 Week1 - 学习总结
知识点概要
概念定义
什么是软件架构?
什么是模型?
架构师的职责和能力
4+1架构视图
用UML建模
静态模型 - 静态图(6)
用例建模
动态模型 - 动态图(4)
UML中的消息
实现模型(2)
通用模型元素
概念定义
1. 什么是软件架构?
是有关软件整体结构与组件的抽象描述, 用于指导大型软件系统各个方面的设计
包含架构元素, 和架构元素之间的关系
通过架构文档来满足和展现各个相关方的需求
架构文档中会通过不同的架构视图来展示相关方的关注点
软件架构 = {元素,形式,关系/约束}
2. 什么是模型?
是一个系统的完整抽象。 人们对某个领域特定问题的求解及解决方案,对他们的理解和认知都蕴含在模型中。
领域问题 -> 概念模型 -> 系统需求 -> 解决方案
3. 架构师的职责
技术选型
设计
编写架构设计文档
设计系统架构
模块分解与微服务加购重构
保障系统安全与可用性
大数据
编码调试
开发编程框架
重构软件代码
优化系统性能
思维
技术创新
技术管理
3. 架构师的主要能力
知识储备
掌握基础技术
常用技术产品理解和应用
理解常用架构模式和框架
设计建模
设计建模
建模及设计文档方法核能力
业务理解,功能与非功能模块的拆解能力
编码与分析解决问题
编程
性能优化,分析故障
软技能
快速学习
沟通和领导力
4+1架构视图
单一的视图无法完整的表达架构
逻辑视图 (Logical)
终端用户(End-User)的功能(对象模型)
相关方: 客户,用户, 开发组织管理者
主要元素:系统,子系统,功能模块,子功能模块,接口,交互
过程视图 (Process)
捕捉设计的并发和同步特征。 integrators, Performance, Scalability
相关者:性能优化,开发
主要元素:系统进程,线程, 处理队列
开发视图 (Development)
开发环境中的程序的静态组织结构
相关方:开发,测试人员
主要元素:系统分层,分区,包, 类, 接口; 框架;通用服务(系统, 业务)
物理视图 (Physical)
软件到硬件的映射。 系统的拓扑结构图。
相关方:系统集成商,运维
主要元素: 物理节点,节点通信
场景视图 (Scenarios)
软件的用例场景
相关方:用户,设计,开发
主要元素: 角色,用例(操作)
UML (统一建模语言)
静态模型
用例图 (Use Case)
组件图 (Component)
部署图 (Deployment)
包图 (Package)
类图 (Class)
对象图 (Object)
动态模型
时序图 (Sequence)
状态图 (State)
协作图 (Collaboration)
活动图 (Activity) - 泳道图
通用模型元素
UML中的消息
评论