书中的核心主张认为,方法体系是软件未来发展的重大趋势之一。而ADMEMS (Architecture Design Method has been Extended to Method System)正是贯穿本书的一套架构设计的方法体系。

ADMEMS方法体系将软件架构的过程分为三个阶段和一个贯穿环节,进而覆盖“需求进,架构出”的架构设计的完整工作内容。基中Pre-Architecture阶段,意在全面理解需求,从而把握需求特点,进而确定架构设计驱动力。而Conceptual Architecture阶段所关注的是如何通过关键功能、关键质量及业务需求和约束来塑造概念架构。Refined Architecture阶段,则主要通过5视图方法进行细化架构的设计。而非功能需求不可能“速战速决”,因此,对于非功能需求的关注会贯穿架构设计的整个过程。下面针对这三个阶段和一个贯穿环节分别谈一下个人的一些理解。

Pre-Architecture,是架构设计的最前期阶段,其工作目标包括:理解需求、建议需求大局观、确认架构设计方向等。其对于整个架构设计的意义在于,着眼于全局把握需求、降低架构失败的风险、尽早地开始架构设计、明确架构设计的驱动力。需要注意的是,不同需求影响架构的不同原理,关键需求决定架构,而其他需求用来来验证架构。ADMEMS将Pre-Architecture阶段分为四个步骤,即需求结构化、分析约束影响、确定关键质量、确定关键功能。

“ADMEMS矩阵”是Pre-Architecture阶段的核心方法。 “ADMEMS矩阵”又称为“需求层次-需求方面矩阵”,帮助架构师告别需求列表的陈旧方式,顺利过渡到二维需求观,借此避免遗漏需求、并进一步理清需求间关系和发现衍生需求。

Conceptual Architecture,即概念架构。概念架构不是理想架构,同样概念架构也不是概念视图,概念架构作为架构设计的一个阶段,必须在细化架构设计阶段之前,针对重大需求、特色需求、高风险需求的要求,给出高层的解决方案,形成稳定的高层架构设计成果。ADMEMS将Conceptual Architecture阶段分为三个步骤,即:

初步设计:基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计;

高层分割:对系统这个黑盒进行高层切分,如切分复杂系统为多个二级系统,或者直接切分系统为具体子系统;实践中最常用的系统切分方式为分层,有Layer(逻辑层)、Tier(物理层)、按通用性分层生技术堆叠等流派。

考虑非功能需求:概念架构并非理想化架构,因此不仅要考虑功能,也必须考虑非功能,通常采用的方法为,目标-场景-决策表。

Refined Architecture是相对于Conceptual Architecture而言的,即细化架构。ADMEMS主要通过5视图法对细化架构阶段进行实践。5视图法的主要思想为:错落有致地将众多技术关注点划分“群落”,“群落”内高聚合,“群落”间松耦合。应用5视图方法,便于架构师设计思维的“有序”展开。不同视图源于不同的思维角度及不同的技术关注点,即:

逻辑架构:关注如何划分子系统、如何定义接口、如何运用质疑驱动的思维套路等;

物理架构:关注硬件选择与物理拓扑、软件到硬件的映射关系、方案优化;

运行架构:关注确定引入哪些控制流、确定每条控制流的任务、处理相关问题、进一步考虑控制流之间的同步关系等;

开发架构:关注将“逻辑职责”映射为“程序单元”、开发技术选型、“程序单元”间的关系等;

数据架构:关键是确定数据分布方案。数据分布的6种策略:独立、集中、分区、复制、子集、重组;

非功能目标的设计环节。非功能目标的设计是以场景技术为核心手段、以目标-场景-决策表为思维工具致力于支撑非功能目标的理性设计过程。经过非功能目标的设计,将使得架构设计更有针对性、可操作性更强、避免过度设计,同时便于系统升级时参考。

目标-场景-决策表方法,可以帮助架构师快速建议非功能目标的设计思维,更理性地应对架构师普遍感到棘手的非功能支持问题,提升自己的核心竞争力。

转载于:https://www.cnblogs.com/linmeng/p/3145344.html

一线架构师实践指南阅读体会_ADMEMS方法体系理解相关推荐

  1. 《一线架构师实践指南》—— 读后总结

    之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样.前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱.这里读完这本书,大体上对架构的工作有所了解,也稍微摸清了些门道. 我理 ...

  2. 《App架构师实践指南》:移动开发的进阶指南

    文章主要内容: 什么是 app 架构师 这本书主要内容 读完感受 什么是 App 架构师 成为"架构师"是许多程序员的梦想,当然也包括我,在工作的几年里,我见过很多架构师,他们在设 ...

  3. 读了本号称“App架构师实践指南”的书

    大家好我是张拭心,最近读了本书,书名比较厉害<App架构师实践指南>,读完还是有一定收获的,记录分享给大家. 什么是 app 架构师 这本书主要内容 读完感受 什么是 App 架构师 成为 ...

  4. App架构师实践指南四之性能优化一

    1.性能维度 常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存(平均/最大/最小).帧率(平均/最高/最 ...

  5. Android屏幕适配很难嘛其实也就那么回事,app架构师实践指南pdf

    程序员的劫 最近,又被程序员年龄的事情刷屏了.37岁被公司优化,找工作几个月都没有很好的归属,所谓的小公司还看不上.等等类似的话题变成了程序员的吐槽固定标题,无论是程序员,还是其他行业人员,都可以就这 ...

  6. 架构师实践日 11.9 南京站报名 | 技术大牛带你剖析大数据平台内部演进中的挑战与实践...

    从互联网时代到物联网时代,数据成为了企业的核心资产,挖掘数据价值成为了企业数据探索.技术应用的重中之重,甚至将影响到企业未来的发展和商业模式.但大数据体量大.多样性.价值密度低.速度快等特征,也给大数 ...

  7. 架构师实践日 · 6.30 杭州站 | 视觉 AI 技术如何助力行业提升?来西子湖畔与业内大咖面对面交流!

    伴随内容形式的变迁(文字 → 图片 → 视频),目前视觉 AI 技术不仅被应用到传统领域的升级革新中,还作为最重要的基础人工智能技术渗透到前沿技术的创新研究中. 七牛架构师实践日第二十九期将以视觉 A ...

  8. 如何构建 FinTech 科学反欺诈体系|架构师实践日

    微众圈 > 微信资讯 > 科技 > 文章 如何构建 FinTech 科学反欺诈体系|架构师实践日 摘自公众号:七牛云发布时间:2017-4-11 21:28:33 FinTech,即 ...

  9. 【架构师实践课】微服务如何拆分?大型微服务项目从何下手?

    继上期[架构师实践课]单体和微服务怎么选?单体到微服务怎么转?之后,万老师为我们带来了微服务系统设计专题的第二个议题:微服务设计痛点. 以下内容根据实践课整理. 微服务如何拆分 首先想和大家分享的,就 ...

  10. 《AcFun 的视频架构演化实践》阅读有感

    <AcFun 的视频架构演化实践>阅读有感 AcFun 弹幕视频网(acfun.tv)是中国最早上线的弹幕视频网站,也是最具影响力的弹幕视频平台."AcFun"原取意于 ...

最新文章

  1. 分布式锁的三种实现方式_基于 redis 的分布式锁实现
  2. 开源 java CMS - FreeCMS2.7 移动端首页静态化
  3. csharp: DataTable export to excel,word,csv etc
  4. svn + apache of linux 安装配置
  5. 添加icon_在zotero中添加百度学术、中国知网的文章检索引擎
  6. 常用算法一(分治算法)
  7. visual studio能统计代码规模吗_描述统计之用——熟悉数据
  8. python基础安装第三方(十三)
  9. el表达式判断不为空_Java学习72天---EL和JSTL表达式学完.
  10. c3p0数据库连接池不能取到连接
  11. 数学知识——高数速查手册
  12. 如何更新一台计算机的驱动程序,怎样更新电脑最新驱动程序? -电脑资料
  13. 华为手机解锁码计算工具_华为最新解bl解锁码计算工具 V2.0.2 免费版
  14. 新浪微博分享链接+图片
  15. 光伏电站运维管理方案
  16. JAVA 根据身份证获取年龄
  17. BZOJ2757 : [SCOI2012]Blinker的仰慕者
  18. 阿里云服务器centos7,git clone速度慢解决方法
  19. 设置Ubuntu 20.04的静态IP地址
  20. ReactNative-通过setState控制组件的更新和变化

热门文章

  1. 深度学习文本分类|模型代码技巧
  2. 重磅!原清华副校长任职南科大校长:他考研三次,读博七年,想做科研人偶像...
  3. 【强化学习】83篇文献-万字总结
  4. 2020年NLP算法秋招“神仙打架”,我该如何应对?
  5. 详解中文维基百科数据处理流程及脚本代码
  6. 小爱同学,生命的意义是什么?
  7. 【每日算法Day 91】求解数组中出现次数超过1/3的那个数
  8. 深度学习2.0-43.AE实战与VAE实战
  9. 移动Web界面样式-CSS3
  10. 《变革中的思索》连载二:依旧有效的四律