.NET 云原生架构师训练营(RGCA 四步架构法)--学习笔记
RGCA
- Requirement:从利益相关者获取需求
- Goal:将需求转化为目标(功能意图)
- Concept:将目标扩展为完整概念
- Architecture:将概念扩展为架构
目录
- 从利益相关者获取需求
- 将需求转化为目标
- 将目标扩展为完整概念
从利益相关者获取需求
- 有哪些类型的利益相关者
- 利益相关者需求
- 需求分类与排序
- 需求的特征
有哪些类型的利益相关者
| 利益相关方 | 关注系统的事物和对象 | - |
|---|---|---|
| 投资方 | 有助于解决问题的利益相关者 | 投资人微软、微软股东等 |
| 受益者 | 从系统受益的利益相关方 | 客户、程序员 |
| 客户 | 订购系统或购卖系统的利益相关方 | 使用 ASP .NET Core 开发应该的组织 |
| 用户 | 直接操作使用系统的利益相关方 | C# 程序员 |
| 供应商 | 开发、支持和管理系统或商品的利益相关方 |
利益相关者需求
| 利益相关方 | 投资人微软、微软股东等 | - |
|---|---|---|
| 受益者 | 投资人 | 通过框架吸引 C# 开发者,为开发工具 VisualStudio 和 Azure 云带去收入 |
| 客户 | 使用 ASP .NET Core 开发应用的组织 | 低成本,开发高质量、可靠的产品产生收入;可以快速开发 WEB 应用程序 |
| 用户 | C# 程序员 | 提供尽可能多的基础功能支持(日志功能、配置功能、安全方功能);提供尽可能好的性能支持;支持通过容器部署 |
| 供应商 | - | 集成 EF Core |
需求分类与排序
| 分类 | - |
|---|---|
| 总体的意愿 | 通过框架吸引 C# 开发者,为开发工具 VisualStudio 和 Azure 云带去收入 |
| 总体的意愿 | 通过框架提升开发人员效率、降低成本、开发高质量、可靠的产品产生收入 |
| 必需品 | 可以快速开发 WEB 应用程序 |
| 对缺失物品表现出的欲望 | 提供尽可能多的基础功能支持(日志功能、配置功能、安全方功能) |
| 提供尽可能多的性能支持 | |
| 支持在不同的操作系统平台上运行 | |
| 支持通过容器部署 |
需求的特征
| 分类 | - | 受益强度 | 危害 | 重视程度 | 耦合度 | 选择能力 | KANO分类 |
|---|---|---|---|---|---|---|---|
| 总体的意愿 | 通过框架吸引 C# 开发者,为开发工具 VisualStudio 和 Azure 云带去收入 | ||||||
| 总体的意愿 | 通过框架提升开发人员效率、降低成本、开发高质量、可靠的产品产生收入 | ||||||
| 必需品 | 可以快速开发 WEB 应用程序 | ||||||
| 对缺失物品表现出的欲望 | 提供尽可能多的基础功能支持(日志功能、配置功能、安全方功能) | ||||||
| 提供尽可能多的性能支持 | |||||||
| 支持在不同的操作系统平台上运行 | |||||||
| 支持通过容器部署 |
KANO分类:基本型;期望型;兴奋型;无差异型;反向型
将需求转化为目标
To...By...Using
为了...通过...使用
ASP .NET Core:为了能够简单方便地输出响应信息给请求,通过写一段代码创建响应内容,使用 ASP .NET Core
目标陈述
| - | ASP .NET Core |
|---|---|
| 与解决方案无关操作对象 | 网络请求 |
| 与利益相关属性 | 响应体 |
| 解决方案无关过程 | 改变 |
| 过程的属性 | 简易性 |

将目标扩展为完整概念
- 扩充概念之特化
- 扩充概念之向下放大
- 扩充概念之向上整合
扩充概念之特化
| - | ASP .NET Core |
|---|---|
| 与解决方案无关操作对象 | 网络请求 |
| 与利益相关属性 | 响应体 |
| 解决方案无关过程 | 改变 |
| 过程的属性 | 简易性 |
| 解决方案相关的操作对象 | HTTP 请求;WebSocket 请求;Grpc 请求 |

扩充概念之向下放大
| 概念 | 概念描述 | 无关操作对象 | 利益相关属性 | 无关过程 |
|---|---|---|---|---|
| 监听 | 为了长时间接收网络请求,通过在服务端持续监听端口,在有请求进入时可以对其进行处理。使用网络监听器 | 原始网络请求 | 状态 | 建立连接 |
| 解析 | 为了让程序员写的代码能够简单访问网络请求中的信息,通过对原始网络请求进行协议格式转换,使用协议解析器 | 原始网络请求 | 格式 | 转换 |
| 处理 | - | 请求响应体 | 内容 | 写入 |
| 返回 | - | 原始网络请求 | 格式 | 转换 |

扩充概念之向上整合

作业
尝试在我们已经找到的1级4个子过程基础之上,挑一个过程进行向下推演直到类级别
课程链接
https://appsqsyiqlk5791.h5.xiaoeknow.com/v1/course/video/v_5f39bdb8e4b01187873136cf?type=2

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
.NET 云原生架构师训练营(RGCA 四步架构法)--学习笔记的更多相关文章
- .NET 云原生架构师训练营(建立系统观)--学习笔记
目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...
- .NET 云原生架构师训练营(对象过程建模)--学习笔记
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展. ...
- .NET 云原生架构师训练营(设计原则&&设计模式)--学习笔记
目录 设计原则 设计模式 设计原则 DRY (Don't repeat yourself 不要重复) KISS (Keep it stupid simple 简单到傻子都能看懂) YAGNI (You ...
- .NET 云原生架构师训练营(责任链模式)--学习笔记
目录 责任链模式 源码 责任链模式 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无需关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了 何时使用:在处理 ...
- .NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
目录 什么是软件架构 软件架构的基本思路 单体向分布式演进.云原生.技术中台 1.1 什么是软件架构 1.1.1 什么是架构? Software architecture = {Elements, F ...
- .NET 云原生架构师训练营(权限系统 RGCA 架构设计)--学习笔记
目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增.删除.字段级读写控制管理 与 Identity ...
- App架构师实践指南四之性能优化一
App架构师实践指南四之性能优化一 1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...
- 看阿里P9架构师如何向你定义架构及架构师
架构的定义 先来看看软件架构的普遍定义吧. 一个程序和计算系统软件体系结构是指系统的一个或多个结构.结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系. 体系结构并非可运行软件.确切的说, ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- .NET 云原生架构师训练营(系统架构)--学习笔记
目录 对外展现的功能 内部功能 功能交互与价值通路 系统架构 目标 认识系统的价值通路 认识功能架构,通过把功能结构与形式结构结合来描述系统架构 受益原则 好的架构必须使人受益,要想把架构做好,就要专 ...
随机推荐
- df -h与df -i的区别
一. df命令详解: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息 -a 全部文件系统列表 -h ...
- [转帖]Web技术(七):如何使用并实现MQTT 消息订阅-发布模型?
文章目录 一.什么是发布-订阅消息模型? 二.订阅-发布消息模型有哪些应用? 2.1 应用于IP 物联网络中的消息传递 2.2 应用于操作系统进程间的消息传递 2.3 应用于MESH 自组网中的消息传 ...
- [转帖]Sysbench - 一种系统性能benchmark
SysBench是一款开源的.跨平台的.模块化的.多线程的性能测试工具,通过高负载地运行在数据库上,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.用于评估操作系统的性能参数. 1 sysb ...
- [转帖]VMware Converter (P2V迁移)问题汇总
https://www.dinghui.org/vmware-converter-p2v.html VMware vCenter Converter Standalone,是一种用于将虚拟机和物理机转 ...
- Oracle 查看所有表大小的SQL
Oracle 查看所有表大小的SQL 比较坑的是 lob 字段和 表的大小不在一个地方 为了出结果 我这边使用了 union all 慢的一逼... SELECT sum( tablesize ), ...
- 查看dmesg 里面部分内容的精确时间
for i in `dmesg |grep "stuck for" |awk '{print $1}' |awk -F "." '{print $1}' |aw ...
- 解决跨域问题的8种方法,含网关、Nginx和SpringBoot~
跨域问题是浏览器为了保护用户的信息安全,实施了同源策略(Same-Origin Policy),即只允许页面请求同源(相同协议.域名和端口)的资源,当 JavaScript 发起的请求跨越了同源策略, ...
- 【计算几何,数学】7.14 T3 @ xdfz
Problem Link 给定 \(n\) 个球和一个点 \(P\),求点 \(P\) 到这些球的交内一点的距离的最小值.保证有解.\(n\le 10^6\). 和最小圆覆盖一个套路.考虑维护一个当前 ...
- 【计数,DP】ABC306Ex Balance Scale
Problem Link 现在有 \(n\) 个球,每个球有一个重量,重量未知.接下来会进行 \(m\) 次称重,每次给定 \(a_i\) 和 \(b_i\),比较这两个球的重量,结果可能是 \(&g ...
- 【DS】【AtCoder】Pakencamp 2022 Day2 H
2023.6.30 Problem Link 有 \(n\) 个帮派在打架,每个帮派有一个大小 \(a_i\),每相邻两个帮派有一个仇恨度 \(b_i\).现在有 \(Q\) 次单点修改 \(a_i\ ...