VUCA时代:软件架构解决复杂性之道

VUCA时代:软件架构解决复杂性之道本文来自、方法学专家张刚老师的分享。本文生动形象地从五大方面介绍了VUCA时代下的软件架构设计,小编认认真真听了一下午,还是只能窥探零点一二。“到底什么是VUCA?”“架构是神马?”01、软件架构的核心目标1)系统在某种环境下的一组最基本的概念和属性,包括了元素、关系以及设计和演化的原则——ISO/IEC45010Kructen4+1视…_张刚v模型i模型

按:VUCA是指组织将处于”不稳定”(Volatile)、”不确定”(Uncertain)、”复杂”(Complex)、和”模糊”(Ambiguous)状态之中。
VUCA的概念最早是美军在20世纪90年代,引用来描述冷战结束后的越发不稳定的、不确定的、复杂、模棱两可和多边的世界。在2001年9月11日恐怖袭击发生之后,这一概念和首字母缩写才真正被确定。随后,“VUCA”被战略性商业领袖用来描述已成为“新常态”的、混乱的和快速变化的商业环境。当今业务技术所有的挑战背后,都可以归结为VUCA这一个根本性的挑战。软件架构如何应对这些复杂特性?这是值得思入深考的地方。

本文来自、方法学专家张刚老师的分享。本文生动形象地从五大方面介绍了VUCA时代下的软件架构设计,小编认认真真听了一下午,还是只能窥探零点一二。

 到底什么是VUCA?

VUCA时代:软件架构解决复杂性之道

 

 架构是神马?

VUCA时代:软件架构解决复杂性之道

 

01、软件架构的核心目标

1)系统在某种环境下的一组最基本的概念和属性,包括了元素、关系以及设计 和演化的原则——ISO/IEC 45010

VUCA时代:软件架构解决复杂性之道
Kructen4+1视图体现的结构化方法

“结构模型、功能模型和行为模型是理解任何架构的基本视角”

 

2)架构形成一个系统的重要设计决策,重要程度可以由变化的成本度量—— Grady Booch

“架构的本质是决策。为哪些做决策,不为哪些做决策,取决于变化的成本。”

“决策越多,以后的约束就越多。改进技术基础设施有助于减少变化成本和前期决策。”

 

3)非功能性属性决定架构,而非功能性属性之间经常冲突 -SEI

VUCA时代:软件架构解决复杂性之道

“架构模式(例如冗余)和大量针对特定架构的讨论(例如缓存机制),都是非功能性需求平衡的结果。优秀的架构师应该见多识广,熟悉各种设计范本,才能游刃有余。

 

4) 用场景验证架构 – SAAM和ATAM方法

“场景一直都是好东西,比如现在流行的敏捷方法SBE(实例化需求)也是。”

 

5) 有效沟通

VUCA时代:软件架构解决复杂性之道

“停在纸面上的架构往往都不靠谱。有效沟通才能落地”

“敏捷时代,实际操作可以变得更加灵活和更加高效,但是掌握基本的结构化思维模型,仍然是优秀架构师的基本功”

 

02、从确定性到不确定性

1)业务环境的VUCA

业务边界模糊,外部不确定性增强,业务复杂性上升,黑天鹅成为大概率事件

VUCA时代:软件架构解决复杂性之道
架构本来就需要面对不确定环境


​​​​

“剧烈变化的环境是好事,让我们不能再忽略那些过去经常忽略的架构要素”

 

2)领域模型——用不变来应万变

反脆弱-增强自身的适应性,领域能力是核心能力,基础架构和组织结构支持领域为中心的设计。

VUCA时代:软件架构解决复杂性之道

 

 

03、以领域为中心的设计——DDD简述

1)领域驱动设计的价值

增强了对业务的适应性,消除了领域专家和软件设计的隔阂,带来了更好的架构;

VUCA时代:软件架构解决复杂性之道
“业务人员看得懂代码——是可能的”

 

2)领域驱动设计

  •  战略模式和战术模式

  • 子域和限界上下文

  • 知识丰富的设计

  • 低表示差距

基于BC进行微服务的划分,“微服务的本质是业务能力的复用”。

 

3)四层架构和六边形架构

领域模型为中心,更快的探索和发现。六边形架构:以领域为中心,快速构建服务”。

VUCA时代:软件架构解决复杂性之道

 

04、接口和契约式设计

1)良好的接口是架构设计的重要构成部分

  • 易于理解

  • 接口稳定、一致

  • 灵活,自由装配

  • 适应性,持续演进

 

2)基于领域模型进行接口设计

VUCA时代:软件架构解决复杂性之道

“这涉及几个子域?几个接口?粗粒度还是细粒度?”

3) 定义清晰的接口契约

VUCA时代:软件架构解决复杂性之道

CDC=DBC+测试先行(in 客户/供应商模式)

 

05、架构看护和持续演进

熵增原理:软件架构也会天然走向腐化

1)使用解耦度进行架构看护

  • 横向质量评价

  • 纵向演进监控

2)使用架构坏味发现重构热点

  • 不稳定的接口

  • 繁忙道口

  • 模块违约

 


=>更多文章请参考:《中国互联网业务研发体系架构指南》

=>更多TOP权威案例及行业标准资料请关注微信公众号:

 

公众号:关注更多实时动态
更多内容关注公众号:软件真理与光

今天的文章VUCA时代:软件架构解决复杂性之道分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/40172.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注