架构师训练营 Week 01 学习总结
什么是架构?
软件架构是软件整体与组件的抽象描述。
架构师
架构师就是做软件架构,对系统架构负责的那个人。架构师不是全栈工程师。架构师需要对软件的整体进行设计,但是不一定是去实现每一个组件的人。全栈工程师是能够对软件的前台,后台都能进行自主开发的人。
架构师的核心工作包括:编写架构设计文档,开发编程框架,重构代码,技术选型,优化系统,系统安全,大数据创新,沟通管理等等。现实中,架构师需要面对不同场景和技术做不同的架构,技术选型。没有一个“一招鲜,吃遍天”的架构,任何的决定都需要架构师根据实际进行取舍。架构师是一个角色,不是一个职位。我们在开发中,也需要根据项目的实际情况,选择相应的技术方案。所以人人都可以是架构师。
一个真正的架构师应当是首先是一个资深的程序开发者,他能够在某些领域做到精通。他能够对项目中的核心组件有深入的研究,同时也能有宽阔的技术视野,对整个系统的各个环节都有所涉猎。
架构师需要面对不同的人员,包括了老板,项目经理,开发者等等,他应当有较好的沟通能力,推动整个项目向前发展。
软件建模
为什么要建模?应该可以花较小的代价验证方案是否可行。同时也可以方便沟通交流。
模型是一个系统的完整抽象,人们对于某个领域特定问题的认知和求解,都蕴含在模型中。
常用的建模语言 UML (Unified Modeling Language). 大致上可以分为 2 种:静态图 和 动态图。
静态图:
用例图
对象图
类图
组件图
包图
部署图
动态图:
协作图
序列图
活动图
状态图
架构师在面对不同的人员的时候,应该选择不同的模型图来说明不同的问题。切不可“鸡同鸭讲”。
架构师可以依据模型图来规划时间,任务分配,进度估计等。
版权声明: 本文为 InfoQ 作者【Kun】的原创文章。
原文链接:【http://xie.infoq.cn/article/2f382382c5a10385fd9716026】。未经作者许可,禁止转载。
评论