架构师训练营学习总结(一)
架构图,向相关方讲述架构设计,面对不同的相关方,设计图也一样,因为需要让对方可理解,且可根据图做自己的事情。
架构师根据需求对系统产生的抽象,为了方便与他人沟通。
工具都是为了表达描述架构意图,核心在于如何跟人表达,让其理解你的意图。
UML
统一建模语言,表达架构意图,与他人沟通。
元素间关系(类之间的关系):
依赖、关联
继承:继承了方法、变量;实现:实现某个接口的声明;
聚合:生成周期独立;组合:生成周期一致
用例图不要包含太多元素(20个为上限),各模块细节再用单独的图展开;
图需要展开到什么细节,得看相关方,目的是对方能理解;
动态关系
简单消息:控制流
同步消息:类间的通信
异步消息:
软件设计三阶段:
需求分析(用例图)、概要设计(功能模型)、详细设计(类图);
时序图、泳道图(活动图)可以用于三个阶段,可生成协作图;
状态图:描述状态转换的条件、过程,用于需求分析、详细设计;
组件图:模块之间的交互、关系,粒度要多大?开发者能承担一个组件;
部署图:机器为元素;
产品经理需求分析:用例图、活动图、状态图、时序图;
架构师承担概要设计、详细设计,先画系统部署图(服务部署在什么机器上,各子系统的交互、关系),再画活动图、时序图分解子系统,再继续分解成组件画组件图,还可以再用时序图描述类的关系;
需要先理清系统要达到什么目标,根据目标实现,不要过度设计;
要先有对事物理解的深度,才能做到架构师的广度。
推荐书:《UML精粹》
评论