写点什么

成为架构师(训练营 week1)

用户头像
Feng
关注
发布于: 2020 年 06 月 10 日
成为架构师(训练营week1)

知识总结

什么是软件架构?

软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

 

关于软件架构的架构图: 



每一个系统都有一个架构,架构由架构元素(子系统、服务器、模块、组件、类)、元素间关系(动态、静态)组成。一个架构关联一个架构文档,架构文档由架构视图(多个视图立体呈现)组成。



不同的系统相关方(老板、需求方、工程师、测试、运维),对系统有不同的关注点。不同的关注点关联不同的架构视图,最终呈现的架构文档也不相同。

 

什么是架构师?

架构师是做架构设计、对系统架构负责的人。不是架构师也可以做架构设计。 



软件建模与架构设计文档

4+1视图模型

逻辑视图、开发视图、物理视图、过程视图+场景视图(不同的关注点,不同维度立体呈现软件设计)

 

软件建模

什么是模型?

一个系统的完整的抽象。深入理解业务问题,抽象出业务模型。模型可以验证系统是否可行,可以作为有效沟通的工具。

UML

以图形的方式描述软件的概念,一种统一的沟通方式。

  • 用例图(需求分析)

  • 类图(核心类及调用关系,详细设计)

  • 时序图(某个场景下子系统、服务器、组件、类之间消息传递,需求分析、概要设计、详细设计)

  • 活动图(流程处理、泳道,需求分析、概要设计、详细设计)

  • 状态图(状态动态变化,需求分析、详细设计)

  • 组件图(模块的边界、关系,概要设计)

  • 部署图(物理节点部署关系,概要设计)

 

荐书:《UML精粹》

 

悟性感知

从不懂到懂的经历,如何get到那个点,如何捅破那层窗户纸。

理解架构师与架构

架构师是一个角色,而不是一个职位。任何一个系统、软件、项目都需要架构。不是架构师也可以做架构设计。职位不重要,“做架构”这件事本身更重要。

 

如果你公司的一个系统没有架构师去做架构设计,你去做了,把架构方案、设计文档做出来给其他人看,别人或批评、或认可了,你就是架构师了。

 

不要把工作只当做工作,想一下工作是给谁做。相关人的关注点是什么。怎么把工作做好让相关人看的懂,接收你的工作成果。架构师需要从不同角色的不同维度、立体的去思考问题。

 

理解知识的深度与广度

没有深度就没有广度。沉下心来钻研深度,曾经做过高手,才能触类旁通。架构的广度是建立在技术的深度之上的。

 

另外,怎么获取知识比知识本身更重要,挖掘底层的思维逻辑。

 

用户头像

Feng

关注

有意愿有能力主动选择才算活着。 2017.10.28 加入

十年学会编程。

评论

发布
暂无评论
成为架构师(训练营week1)