揭秘IBM架构设计方法论 —— Solution Design II
接上篇:揭秘IBM架构设计方法论 —— Solution Design I
2. 设计解决方案
2.1 开发架构概览
架构概览是解决方案要构建系统的高阶抽象,开发架构概览的主要目的是和项目的干系人沟通系统的主要结构和重要特征,因为不同的干系人的关注点有所差异,系统的架构概览也有不同的展现形式,但其描述的重点都是目标系统。
第一张示例展现的是企业视角,常用于和项目发起人的业务团队沟通,其展现了系统包括哪些大的功能模块,有哪些用户通过哪些渠道使用系统,以及系统需要哪些资源的支撑。
第二张示例是展现的是分层架构视角,常用在SOA架构方案的设计中:
第三张示例展现了从IT视角绘制的架构概览图:
2.2 调研候选资产
在此步骤中,架构师应当调研可以利用的资产,资产包括套装软件、开源软件、之前项目开发的可复用构件等,分析这些资产和项目需求的切合程度及差距。调研完成后,调研的结果编制成候选资产列表(Candidate Asset List)。候选资产列表举例如下:
2.3 定义关键服务
在设计SOA架构方案时,定义项目相关的服务是一个重要环节,这些服务可以是已有的,也可以是需要新建的。在定义关键服务时,要评估服务如何满足重要的功能需求和非功能需求。
2.4 开发高阶组件模型
组件(Component)也称为构件。组件模型用于宏观地描述系统结构,描述组件的职责、关系边界和交互。如下图所示,常见的组件模型包括组件关系图和组件交互图。如下图,组件关系图展示了组件或子系统间的静态依赖关系。
组件交互图则展示了组件之间如何协作以实现一个场景,同时也展现了组件间的调用流程:
2.5 开发高阶运维模型
运维模型描述了组件将部署在哪些地理位置,在哪种类型和配置的硬件上,以及这些硬件间如何连接。和组件模型相比,组件模型更关注于系统如何实现功能需求,而运维模型对于系统实现非功能性需求至关重要。下图是一个典型的运维模型:
2.6 完善可行性评估
可行性评估是一个在解决方案开发过程中多次进行的活动,在方案设计接近尾声时,应当再次完善可行性评估。此时,要谨慎评估方案在计划的人员、费用、时间,预知的风险和现有技术水平下可能实现;要重新协商不切实际或者有重大挑战的需求;评估方案的对业务和组织的冲击是否可承受。
2.7 评估整体方案
在向客户宣讲解决方案前,要正式的审阅整个技术方案,评估方案是否满足了客户的成功条件,客户是否可能接受这个方案。
3. 宣讲解决方案
参考资料
1. CCRA 4.0 Overview_20140918_non_conf
2. [印]蒂拉克·米特拉. 实用软件架构:从系统环境到软件部署. 机械工业出版社, 2017
3. https://wenku.baidu.com/view/4c21d7b1ee06eff9aff80768.html
4. https://files.ifi.uzh.ch/rerg/amadeus/teaching/courses/it_architekturen_hs10/
5. https://wenku.baidu.com/view/d77dcd32cf84b9d528ea7adb.html
6. http://walderson.com/IBM/Practices/ScalingAgile
揭秘IBM架构设计方法论 —— Solution Design II相关推荐
- 揭秘IBM架构设计方法论 —— Solution Design I
Solution Design概述 Solution Design是IBM历史上一个知名的方法论,其设计的初衷始于售前的解决方案设计,因其对庞大复杂的UMF框架做了精选,相对简单又不失完整,在项目实施 ...
- 架构师之路二-架构设计方法论
概念解析 在文章开始之前需要先理解几个概念: 什么是方法论? 我们拿到一个输入,然后根据这个输入预期一个输出,把中间这个过程描述出来就是方法论.所以我们本篇讲的架构师方法论就是架构师先拿到经过需求分析 ...
- 系统架构设计方法论——Zachman框架模型
驾驭复杂系统的整体设计 整个体系的架构设计和价值 事物背后的思考 Zachman proposes a logical structure for classifying and organizing ...
- 大数据中台架构之道:揭秘 PaaS + DaaS +DA 全域中台架构设计!
你被大数据杀过熟吗?当今企业对数据的重视度越来越高,在大数据系统架构设计层面,大数据架构师需要完成技术决策.技术选型,还需要根据不同时期的业务场景,不断优化和演进软件架构,最终攻克技术难点.化解技术风 ...
- IBM架构解决方案设计
IBM内部有一套自成体系的架构设计方法论,且是和TOGAF所互相承认效力的.相比较而言,IBM的架构设计理论,在实际上的可操作性会更强,也可以说是功利性更强些.当然,也会更容易落地使用. 该理论包括5 ...
- 大数据的架构设计与未来
大数据的架构与设计 从IT时代到DT(Data technology)时代 在即将到来的智能时代--->需要需要变得更加智能--->依靠海量数据---->对海量数据进行采集.分析.挖 ...
- 架构设计复杂度的6个来源
谈到架构设计,相信每个技术人员都耳熟能详.我总结了三个架构设计相关的特性: 架构设计的思维和程序设计的思维差异很大. 架构设计没有体系化的培训和训练机制. 程序员对架构设计的理解存在很多误区. 所以, ...
- 《程序员》2014年11月刊:电商峰值系统架构设计
双11来临之际,<程序员>以"电商峰值系统架构设计"为主题,力邀京东.当当.小米.1号店.海尔商城.唯品会.蘑菇街.麦包包等电商企业,及商派.基调网络等服务公司,分享电 ...
- 企业业务架构设计方法论及实践(二)
前言 前面提到了业务架构作为企业战略与技术实现的桥梁,那本文具体讲讲企业战略如何与技术实现进行互通. 一 业务架构决定技术架构 优秀的架构师需要具备体系化的架构设计思维能力,加以架构设计方法论的沉淀和 ...
- 阿里P9:做了6年架构设计,这次聊聊微服务与分布式事务细节
微服务因其高内聚.低耦合.高扩展.敏捷开发为很多企业所用,当然,没有任何一项技术是完美的.系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现. 毫不夸张地说,分布式事务已 ...
最新文章
- U-Boot常用命令
- 实施SAP:资源和进度
- phpcms 指定id范围 调用_phpcms v9使用GET调用指定id文章内容、页面数据方法
- 前端学习之JavaScript第二天学习
- css 竖行进度图_前端学习--汇集了大量 CSS 的使用和学习的示例代码
- C语言-字符串处理函数strcmp
- Quartus13.1全编译出现引脚错误(神级bug)
- es6数组初始化_说一下自己常用的es6的功能
- oracle 卸载asm,卸载oracleasm实验模拟
- Mysql 之 缓存更新策略
- 焦虑的时候听一听,分享我喜欢的一段话,心就安静很多
- 树莓派用root登陆_树莓派开启root用户权限
- oracle 采购模块表信息,EBS采购(PO)模块常用表
- 用request获取请求地址Ip
- 名帖196 米芾 行书《诉衷情》
- UUI Make StartUp Disk
- 从 OKR 工作法到 OKRs-E,落地OKR不能错过的转变
- 3.JAVA NIO通道
- AI高效学习路径总结
- 软件工程(三)——结构化需求分析 (重点)
热门文章
- 特斯拉model3中控屏怎么关_特斯拉Model 3为什么取消仪表盘? - 全文
- oracle追加imp,imp倒入的数据是追加,而不是替换,需要什么参数?
- 创建数据库表提示Working outside of application context.
- ansible(一)自动化运维工具
- 【360校招笔试】第一题:计算表面积
- 关于聊天室文字聊天(ListView 显示数据变化后滚动到最底部 )
- 浅谈iOS进阶路线,让自己人生不迷茫!
- Python爬虫爬取滚动新闻
- Java项目(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
- Vue2项目引入mars3d