微服务架构设计实践系列之三:软件架构设计思想

微服务架构设计实践 
目    次 1 序言 2 微服务 3 软件架构设计思想 4 微服务架构设计实践 4.1 项目概述 4.2 架构准备阶段 4.3 概念架构阶段 4.4 细化架构阶段 4.4.1 业务架构 4.4.2 数据架构 4.4.3 应用架构 4.4.4 技术架构 4.4.5 物理架构 4.4.6 开发架构

3  软件架构设计思想

3.1  软件架构定义

        对于软件架构的定义,仁者见仁,智者见智。目前,业界比较流行的两大流派是组成派和决策派,这两派的概念相辅相成,具体如下:

        组成派:软件架构 = 组件 + 交互。

        决策派:软件架构 = 重要决策集。

        上述两大流派的描述过于抽象,不利于理解,本人更喜欢下述关于软件架构的描述,通俗易懂,即:

        软件架构是软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构描述的对象是直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

        软件架构是一个用于指导系统实现的草图,这个草图越详细对于系统实现的指导意义越重大,贯穿于软件的整个生命周期。

3.2  软件架构本质

        架构的本质就是对系统进行有序化重构,不断减少系统无序的程度,使系统不断进化。

        架构从无序到有序的基本实现手段是分和合,即先把系统打散,然后重新组合。

        分的过程是把系统拆分为各个子系统、模块、组件。拆分的时候,首先要解决每个组件的定位问题,然后才能划分彼此的边界,实现合理的拆分。合的过程就是根据最终要求,把各个分离的组件有机整合在一起。

        分的结果使开发人员能够做到业务聚焦、技能聚焦,实现开发敏捷;

        合的结果使系统变得柔性,可以因需而变,实现业务敏捷。

        相对来说,第一步的拆分更难。

3.3  软件架构过程

        在此次软件架构设计过程中,采用了温昱老师在《软件架构设计》一书中提及的ADMEMS方法体系。

        ADMEMS方法通过3个阶段和一个贯穿环节,来覆盖“需求进,架构出”的完整架构设计过程。

         

微服务架构设计实践系列之三:软件架构设计思想

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8632 人正在系统学习中

来源:任性之闲来无事

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年3月6日
下一篇 2018年3月6日

相关推荐