架构师训练营 - 第一周学习总结
软件架构师的主要职责
编写架构文档
进行技术选型,设计系统架构,模快分解与微服务重构
性能优化,保障安全与高可用
大数据应用与技术创新
沟通协调
软件架构师的要具备的能力
掌握编程与基础技术
熟悉常用技术产品并应用
常用架构模式与框架的理解应用
理解业务与功能模块及非功能模块的拆解
性能优化与故障排除
建模与设计文档
快速学习
沟通与领导力
软件架构的理解
软件架构是有关软件整体结构与组件的抽象描述,用于指导软件系统的各个方面,并描述了相关架构元素以及他们之间的关系。软件架构输出架构文档,不同用户的关注点不同,由此产生了不同的架构视图,多个架构视图一起构成软件架构文档。
学习目标:关注场景,通过学习例子,训练架构思维,构建知识体系
UML4+1视图
单一视图无法完整的表达架构,需要针对不同用户的多维度视图集。
场景视图:对用户、设计和开发人员概述重要的场景和非功能性需求
逻辑视图:用于对客户、用户讲解系统、子系统及功能模块划分
开发视图:对开发测试人员描述系统分层、框架等,指导系统如何开发实现
过程视图:性能优化时描述系统进程、线程状况
部署视图:对系统集成和运维人员描述物理节点与节点间通信
UML分类
静态图:通过类、对象、数据结构描述他们之间的关系,用于描述软件结构中不变的逻辑结构。
用例图:描述待开发的系统功能,功能间的关系有使用和扩展。
对象图
类图
包图:将许多类集合一起,形成高内聚、低耦合的类的集合,以降低系统复杂性
组件图:组件指只遵从一组接口并提供的实现的物理的、可替换的部分,系统物理建模时重要的构造块。
部署图:描述硬件的物理拓扑图以及在此结构上的软件。
动态图:通过描绘执行流程或实体状态变化的方式,来展示软件实体在执行过程中的变化过程
活动图:描述系统中各种活动的执行顺序。既可描述用例和对象的内部工作过程,也可描述类的行为,一个活动结束立刻进入下一个活动
状态图:描述一个对象的所有状态以及引起状态转移的时间。
时序图:描述对象间动态交互行为,着重体现对象间消息传递的时间顺序。
协作图:描述相互合作的对象间的交互关系和链接关系,侧重于静态链接关系。
评论