《一线架构师实践指南》------小谈

  

谈到软件体系架构,不同的人又不同的理解。之前看过王概凯先生的《架构漫谈》博客。这可是非常有独特的理解,对于我这样的小白来讲,也是受益匪浅。最近看了些温昱老师的《一线架构师实践指南》,对架构进行了详细的讲解,现在谈下我简单的感悟。

本书讲解问题直接了当,一来几句话就引出本书讲解的问题所在------架构师的困惑。这个简单的问题直接引出了怎么划分架构,架构的核心,怎么设计架构等,后面并对其一一讲解。

本文主要介绍了ADMEMS架构体系,在资料辅助下了解(ADMEMSArchitecture Design Method has been Extended to Method System的简称,是由CSAI顾问团架构设计专家组于200911月在第六届中国软件大会上公开发布的一个软件架构设计方法)架构是常常需要的就是质疑,质量属性;运用场景等只要对软件进行质疑,对软件的架构就会一步一步推进。并且推翻了用例驱动架构的观点,其缺点在书中也是简单的概括,最简单一点就是需求=功能+质量+约束。这样简单公式就可以看出用例不能囊括所有方面。

对于ADMEMS架构体系本文通过“3个阶段,1个贯穿”预备阶段;概念架构;细化架构;贯穿:对非功能的考虑。

预备阶段(PA阶段):简单概括是全面理解需求,把握需求特点,进而确定架构设计驱动力。其更加具体理解就是创建二维矩阵,该矩阵囊括功能,质量,约束。业务需求;用户需求;开发需求。这样划分可以将运行期质量,开发期质量,业务需求等都能一一体现,各个角色的分工及设计功能一目了然。

概念架构(CA阶段):这个阶段必须考虑功能;质量;约束在内的所有方面的需求。这几个方面各司其职,相辅相成。首先针对关键功能进行软件初步设计,综合初步设计进行高层分割,根据业务需求及关键质量对非功能需求进行设计,有了设计还能进行划分。最后完善其功能。

细化架构(RA阶段):细化架构更加针对实现。主要有5个方面,面向对象或结构化;面向控制流;面向Table或文件;面向节点;面向文件。这几个方面的细化更是针对底层架构以及实现。分别包括逻辑架构;运行架构;数据架构;物理架构;开发架构。这样更加深层次的架构设计让整个软件功能更加具体完善。

非功能需求(目标-场景-决策):这样一个表对于软件功能进行更加深度的发现及分析,目标引出场景,根据场景引出决策。这样非功能需求的实现更加完善,不论是界面,客户端,程序都能一一映射出来。至此也算是比较完善的一个软件了。

这里简单了解了ADMEMS架构体系,但是还是没有提及到如何结构问题,怎么在实际中运用这个架构体系方法解决实际问题。后文对其进行详细的介绍。

通过以上讲解我也是深受感悟,对于一个软件而言可以看出架构的重要性,他需要预知这个软件,从需求到功能到开发,这都是基于架构的功劳啊。

posted @ 2020-04-10 11:06  birdmmxx  阅读(182)  评论(0编辑  收藏  举报