写点什么

架构师如何做架构 - 开篇

用户头像
铁血杰克
关注
发布于: 2020 年 06 月 10 日

架构师定义:

架构师是做架构设计的,是对系统负责的那个人,

架构师是一顶帽子,而不是一把椅子,架构师是一个角色而不是一个职位。

做架构要要先有深度,再有广度。因为世界上的事务有相通之处,吃透了一门技术或一个领域,思维方式或经验是触类旁通的。



架构师主要职责:

  1. 编写架构设计文档,设计系统架构

  2. 开发编程框架

  3. 重构软件代码

  4. 解决技术使用中存在问题,包括开发阶段和线上阶段

  5. 系统安全和高可用保障

  6. 系统性能优化

  7. 技术创新

  8. 沟通协调,包括老板,内部员工和跨部门合作

  9. 产品规划和战略等等



架构师核心能力:

出色的程序员,有技术深度和广度,有丰富的项目经验,具备抽象思维能力,灵活运用各种架构模式来解决现实问题;能跟IT项目涉及的各种角色做有效的沟通协调、资源调度;能在效率和成本之间做出权衡取舍,完成项目以达到公司的战略目标。



架构的本质:

架构师需要将自己对于现实问题理解抽象出模型,模型映射到系统以达到对现实问题的求解。所以说架构师是介于领域问题与系统之间的桥梁,既要熟悉业务,也要熟悉系统。

架构的本质就是对系统进行有序化重构,不断减少系统的 “熵”,使系统不断进化。



架构师常用的建模语言就是UML统一建模语言,UML图分为两大类,分别为静态图(用例图、类图、组件图、部署图等)和动态图(序列图、活动图、状态图等),主要掌握这七种就足以应付工作中的问题。在软件开发的三个阶段中需要的UML图如下所示:

需求分析:用例图、状态图、时序图、活动图

概要设计:部署图、系统级时序图、系统级活动图、组件图、组件时序图、组件活动图

详细设计:类图、类时序图、状态图、方法活动图

注意:

用例图可以做不同层次的拆分;

组件图是最重要的设计图,要考虑计划的优先级、团队合作的因素等;

时序图可以较直观地表达动态关系,如系统间关系、服务器之间关系、各组件之间关系等。

总之,架构文档的输出产物中,有各种UML图,还包括公司的业务背景及战略目标,包括功能性和非功能的需求。



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

铁血杰克

关注

还未添加个人签名 2017.12.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师如何做架构-开篇