第一周 作业二:架构设计学习总结【未陌】
感悟
架构师是什么?
并不是说有一个架构师的Title就是架构师,而是实实在在在做架构师的事情的人,就可以称为架构师;
架构师应该是一个对系统很熟悉,对系统架构很熟悉的人,对系统各个流程及其实现都很熟悉的人;
如果一个系统还没有进行开发,那么架构师就应该对将要开发的系统进行设计;
如果一个系统已经开发完成,在生产上运行,则作为一个架构师,应该了解系统相关组件架构:
系统自身有哪些部件;
系统与外部之间的交互,调用方式;
系统当前有哪些性能上的问题,或者可能存在的性能上的问题;
系统有哪些可以进行扩展的功能点,使用哪种方式可以进行高效扩展,能否进行改进;
架构设计是什么?
如果一个系统还没有进行开发,那么架构师就应该对将要开发的系统进行设计:
完善相关需求文档,确定需要实现哪些基本的功能;
确定整体代码逻辑结构,确定后续的开发规范,方便后续开发扩展;
确定需要采用哪些技术;
需要哪些软硬件设备支持,主要是指要确保系统平稳高效运行,需要哪些服务器资源等;
需要与领导沟通,协调能够获取,需要获取的相关资源,资金等;
综合考虑成本,技术资源,功能实现等因素完成架构设计;
为什么要进行架构设计?
如果一个系统,不先进行架构设计,则负责具体开发的程序员不能按照确定的需求进行开发,导致花费时间开发出来的功能不能满足需求;
不同程序员按照自己的想法进行开发,导致代码各自为政,不方便后续进行扩展,或者后期扩展难度倍增,不得不加班;
不能以文档的形式确定系统的架构设计,需要完成的功能及相关,导致开发到半路时,需求发生变动,导致不能按期进行交付;
如何进行架构设计
架构设计首先是要进行需求的梳理,确定哪些是重要的流程,哪些是边缘的流程,哪些需求已经确定,哪些是还需要讨论;
估算系统并发量,根据相关的功能,选择能够支持系统运行的相关技术;
设计主要流程的模型对象,参数。确定模型与模型之间的关系;
确定是否需要与外围系统进行交互,与外围系统进行交互的方式;
确定系统部署需要的相关资源;
以上都需要按照设计输出相关文档,如果有代码方面的强制规范,则需要完成代码框架;
版权声明: 本文为 InfoQ 作者【a d e】的原创文章。
原文链接:【http://xie.infoq.cn/article/2de7514f73180ad9d33fe9cff】。文章转载请联系作者。
评论