写点什么

来自荷兰格罗宁根大学的架构决策捕捉工具 RGT

  • 2013-01-24
  • 本文字数:2036 字

    阅读完需:约 7 分钟

格罗宁根大学的 Dan Tofan 向软件架构师提供了开源软件工具 RGT (Repertory Grid Tool),这种工具用于捕获和评估他们的架构决策。这个工具可以帮助架构师更好的文档化他们的决策及对决策进行回顾。

构建复杂软件系统通常需要作出许多重要的决策。在这些决策中,架构师们处理满足利益相关者关于各种功能和非功能需求的各种关注点,以便满足商业和技术目标。另外,架构师们需要他们回顾决策过程的质量,比如“我是否考虑了决策的所有可行的方案?”

为了帮助架构师,格罗宁根大学的软件工程研究者为架构决策提供了这个工具。关于这个开源工具的细节可以通过这个链接了解 https://github.com/danrg/RGT-tool/wiki .

InfoQ:Dan, 能否用最少的词描述下你自己和你的研究?

我是一名软件开发者,在业界工作六年后成为研究员。我研究方向主要是改进软件架构的决策。

InfoQ:你为什么要创造 RGT?以及它和你现在做的研究工作有什么联系呢?

我认为决策技能是架构师必备的技能,不只是为了设计软件,也为了向其他利益相关者说明基本原理。所以如果你把决策作为一种技能,比如游泳或者烹饪,那么下一步你就会理性的问:怎么才能改进自己的架构决策能力?

决策和获取架构决策知识是同时的。对获取的决策知识有效追踪。所以,使用 RGT 获得架构决策有两个主要优点:储备用于架构决策的知识,改进架构师的决策能力。

InfoQ:能否描述下 RGT?

RGT 通常有这些步骤。首先,我们有一个要决策的问题。第二步,找出问题的各种可选方案。第三步,我让你找出两个你觉得相似但又和另外一个不同的方案。第四步,你描述为什么这两个是相似的,和第三个又为什么是不同的。这样就产生了关注点(用 RGT 的术语叫“观点”)。Java 和 C#是类似的,因为他们都是由大厂商维护支持的,而 Ruby 只是社区维护支持的。然后产生更多的关注点,下一步是对各种可选方案按照关注点进行评分(通常从 1 到 5)。然后,各种可选方案会产生一个矩阵(或者叫网格),分析这些关注点以及评分,比如使用层序聚类分析,根据可选方案与关注点的相似性进行分组。最后,架构师可以通过更新可选方案,关注点,评分,精简这个网格。这个最终的网格可以反映这个决策的思维模型。总的来说,这个网格提供了这个决策的精炼文档。相对于一般的文字描述,这个文档更精炼地描述了决策。

InfoQ:RGT 的典型应用场景有哪些?

典型应用场景是从 4 到 9 种可选方案获得架构的决策。对太少的可选方案,RGT 可能误判。

对更多的替代方案,RGT 则可能会花费太长的时间。

InfoQ:RGT 对使用者提供了那些好处?

RGT 提供了获取决策的一种系统方法。同时,它也帮助产生关于决策的新的灵感。RGT 使架构师可以回顾他们的决策。最后,RGT 交付一个关于决策的文档。

当日,RGT 也有缺点。主要是 RGT 是花费时间的。因此,我觉得 RGT 更适用于那些需要周密考虑的重要决策,这也是软件架构师经常碰到的事情。当使用 RGT 讨论软件架构时,他们经常抱怨缺乏好的工具支撑。所以我们就创造了这个软件来解决。

InfoQ:这个工具有哪些主要特性?

首先,该工具帮助架构师网格化他们所有独立决策。第二,这个工具支持从现有的网格进行协同决策。办法是通过多轮的表格填写, 澄清各种利益者之间的各种分歧,最终达到一致。

最后,这个工具是开源 ( https://github.com/danrg/RGT-tool ) 的,并且部署在 http://repertorygridtool.com .

InfoQ:你希望从 RGT 用户那里获得什么样的反馈?

通常研究成果需要花费很长时间才会被工业界采用,有人说甚至要 10 到 15 年。获得用户的反馈对减少这个时间是非常有必要的。我期望两种类型的反馈:关于 RGT 和关于工具本身的。

所以,我希望听到 RGT 如何帮助架构师进行他们的决策。

因为这个工具是开源的。对这个工具的建议,Bug 的报告,以及贡献代码都是我关心的。我想围绕这个工具构建一个小的社区。

InfoQ:Grad Booch 曾经说过“傻瓜即使拥有工具还是傻瓜”。你如何确保架构师正确而有效率的方式使用 RGT?

关于更好的利用这个工具有三点。首先,确保你在正确的时间正确的地方使用 RGT:RGT 是一种利基(niche, 指范围狭窄)方法,不可能用于一切场景。第二,花一些时间学习 RGT。第三,从一些以前的架构决策开始,然后逐步在当前的决策和集体决策中使用。最后,分享你的经验,我很愿意提供帮助。

InfoQ:关于 RGT 和你的方法,你下一步有什么打算?

下一步打算增加一些基于关注点评估可选方案的实用功能,这会使评估比现在简单打分的方式更加精确。另外,我想实现关于风险管理的特性。其他的还有实现复合决策,这种决策的各种可选方案又由多种原子决策选择组合而成。复合决策可以对设计空间进行更彻底的探索,以确保那些有效的组合不会被忽略。

查看英文原文: University of Groningen Offers Repertory Grid Tool for Capturing Architecture Decisions


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-24 01:191904

评论

发布
暂无评论
发现更多内容

从技术到人文,找打理想团队,互联网众包平台祝您软件开发无忧虑

知者如C

arm64 还是 x86-64:Amazon EC2 实例该如何选择?

魏临

国内首批!华为云云原生中间件DCS&DMS获软件可信“卓越级”认证

华为云PaaS服务小智

云计算 软件开发 华为云

Sermant框架下的服务治理插件快速开发及使用指南

华为云开源

开源 云原生 微服务治理 sermant

昇腾CANN 7.0 黑科技:大模型推理部署技术解密

华为云开发者联盟

人工智能 华为云 昇腾CANN 华为云开发者联盟 LLM模型

继电器的工作原理与应用案例

华秋电子

继电器

Device Partner平台合作伙伴认证和数据安全保护

HarmonyOS开发者

Sound Control for Mac(mac应用音量控制软件)激活版

iMac小白

sound control下载 sound control mac sound control激活版

使用LLama和ChatGPT为多聊天后端构建微服务

互联网工科生

微服务 ChatGPT

WorkPlus定制化的沟通协作平台,助您实现企业级完全掌控

BeeWorks

iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤

雪奈椰子

Flink 替换 Logstash 解决日志收集丢失问题

字节跳动云原生计算

大数据 flink 云原生 Logstash

矩阵起源加入 OpenCloudOS 操作系统开源社区,完成技术兼容互认证

MatrixOrigin

数据库 分布式 云原生 MatrixOrigin MatrixOne

合约交易所开发之永续合约交易所系统开发规则

V\TG【ch3nguang】

文心一言 VS 讯飞星火 VS chatgpt (132)-- 算法导论11.2 4题

福大大架构师每日一题

福大大架构师每日一题

SideFX Houdini for mac(3D物理模拟和视觉特效软件) v18.5.696永久激活版

mac

苹果mac Windows软件 SideFX Houdini 视觉特效软件

平安人寿基于 Apache Doris 统一 OLAP 技术栈实践

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

百家国企走进云投集团,探索世界500强数智化转型之路

用友BIP

企业数智化

SATA硬件驱动器接口的可制造性问题详解

华秋电子

SATA

Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍

不在线第一只蜗牛

Go 接口 编程语言

ios安全加固 ios 加固方案

OpenHarmony创新赛|赋能直播第五期

OpenHarmony开发者

OpenHarmony

服务器删除文件后磁盘空间没有立刻释放问题

javaNice

Java Linux

百度搜索深度学习模型业务及优化实践

百度Geek说

人工智能 深度学习 架构 企业号11月PK榜

解读 Swagger enum:完整示例教程

Liam

前端 swagger Enum API 文档 #程序员

AntDB-M高性能设计之hash索引动态rehash

亚信AntDB数据库

数据库 AntDB 亚信科技AIDB数据库 AntDB数据库

币币合约交易系统搭建(秒合约交易平台开发规则解析)

V\TG【ch3nguang】

干货!Why TPM——食品饮料行业知名品牌CIO、CTO访谈会实录

赛博威科技

营销费用管理 赛博威 食品饮料行业数字化转型

Media Encoder 2024 for mac(ame媒体转码器) v24.0.2中文激活版

mac

苹果mac Windows软件 媒体转码软件 Media Encoder 2024 ME2024

来自荷兰格罗宁根大学的架构决策捕捉工具RGT_架构_Michael Stal_InfoQ精选文章