从软件架构说起
一、概念及关系
软件架构是指关于软件整体结构与组件的抽象描述,具体的图例如下:
系统一般都会有一个架构设计
能够称之为系统的需求,都应该要做架构设计,站在不同的角度对架构元素及元素之间的关系进行表述,对相关方的需求进行表征,推演系统的数据走向,找出缺陷和不足点,迭代设计
架构设计包括架构元素及元素之间的关系
架构设计就是对架构元素及其之间的关系进行梳理,推演其科学性、严谨性及其可扩展性,既要满足现有需求,又要具备一定的扩展性,方便以后扩展
架构设计会体现不同相关方(干系人)所关注的架构文档
架构设计需要针对不同的相关方及其关注点设计不同的架构视图,最终形成架构文档
架构文档由一系列的架构视图组成
不同的架构视图是针对不同相关方所设计的,也是相关方所能理解和沟通的视图
架构视图是站在不同相关方的角度看待系统是什么样子,表述相关方的关注点
在这里,架构视图最终应该会与相关方一起进行评审,看理解是否与相关方一致,是否满足相关方的需求
因此,架构设计来源于需求方的业务需求,根据需求组合架构元素,体现出元素之间的相互作用关系,让相关方直观的看到未来设计出来的系统能否满足需求,功能是否适用,并在同一频道进行沟通、交流,并最终达成一致的过程。也为后面的过程定下基调。
二、设计原则
简单原则
架构设计不是越复杂、采用的技术越先进越好,而是需要在满足相关方需求的前提下,尽可能简单。简单意味着可以快速开发,快速上线,开发、维护成本也很低,能更快速的响应需求。在最坏的情况下,如果项目中止也能快速止损,投入也不会很大。
适用原则
适用与简单是相辅相成的,适用就是不要过渡设计、镀金成份太重。一切以满足需求为标准,在后期通过迭代方式堆叠。
一定的扩展原则
在满足前两条原则的前提下,也要考虑系统的扩展性,一个好的系统架构设计是需要考虑后期的扩展性的,这就是一个度的把握和对未来业务发展的思量。
评论