架构师训练营 - 第 1 课总结 -202006- 架构设计

用户头像
👑👑merlan
关注
发布于: 2020 年 06 月 08 日

1.架构简介

一切皆可架构.

领悟问题的真谛并决定用什么的方式面对问题.

构建一张动态网,问题作为输入,解决方案作为输出.

悟性很重要

2.软件架构简介

深度解读以下图,并烙在脑海里.

每个系统都有一个架构.

架构由许多架构元素组成,并由元素之间的静态动态关系形成.

所有这些设计都会在架构文档里阐明.

架构文档将会包含不同层级和方向的架构视图及文字说明.

这些架构文档,都将以系统/项目的相关方及关注点为导向.

否则将只会是一堆没有价值的信息.



架构设计不在于使用厉害的技术,而在于是否适用特定的场景需求(业务,现在资源)

3.成为架构师

那个做架构事情的人就是架构师

已有的成熟系统不需要新的架构师

然而在工作中可以抓住一切机会主动做架构的事情



以PPT为学习框架

在课程中互动思考

面向简历学习

面向面试学习

但学习不会获得经验

重新思考以往项目经验

最终使得知识立体化

知识先有精度才能有广度,否则瓶颈很快到来.毕竟所有系统,追根到底都相似,一通百通.

4.架构师职责

然而现实生活中,大规模的系统架构设计的工作机会几乎没有.更多的是系统维护,业务架构变更升级以及中小系统的架构设计.

5.如何画架构图

4+1视图模型 : 逻辑+开发+流程+物理视图围绕着场景视图来设计.

架构是立体的,所有一个系统应该有不同维度层面关注点的架构视图.

为工作而工作,事情做的是对的按规则行事,但永远不尽人如意.因为本质上工作是为人而做.

所以图画成怎样,取决于具体使用的人.

模型就是一个系统的完整抽象.

主流建模工具- UML.







系统部署图举例





各个阶段均需抽象



6. UML建模

关键: 使用哪种图在什么场合下能达到设计意图的展示.

为什么是统一建模语言?不只是一个画图工具.而是可以用来沟通交流思考

7种主要UML建模图形.

图里的每条线,每个点,每个符号,都不应是多余的.

图里的元素数量应该适量.(推荐<=20个).

依赖是更强的关联.

聚合元素可以不在同一生命周期,组合是一种强的聚合,必须在同一生命周期(汽车与配件,人与手).



需求设计阶段/文档: 核心用例图,活动图,状态图,时序图

概要设计阶段/文档: 部署图,系统时序图,系统活动图,组件图,组件时序图

详细设计阶段/文档: 核心类图,类时序图,状态图,方法活动图

(1 个组件可以由一个开发人员负责)



UML 静态图



UML 动态图



通用模型元素



通用关系



类之间的调用只有同步消息



需求阶段使用的用例图,不同层次的图展示不同的细节粒度



任何对象之间的动态调用时间顺序,可以在任意阶段使用的时序图



关注流程的活动图,可以在任意阶段使用,展示不同的细节粒度



应该是简单的,描述对像状态变化的图,一个例子



比较少用的协作图,可以由时序图转化,一个例 子



架构设计最重要的图-组件图.组件时序图也就是动态的组件图,一个例 子



物理架构的部署图,架构师的第一张图,一个例子



7.画图工具

https://app.diagrams.net/

Astah

Star UML

Plantuml

Draw.io

ProcessOn

8.练习



发布于: 2020 年 06 月 08 日 阅读数: 71
用户头像

👑👑merlan

关注

还未添加个人签名 2018.12.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营-第1课总结-202006-架构设计