architecture - 我是否也应该记录当前的上下文和范围
问题描述
我目前正在为一个应用程序编写一个 arc42 规范文档,该应用程序应该替换几个复杂的手动过程。
在我注意到的文档和示例中,“上下文和范围”通常只包括要开发的应用程序的上下文和范围。
我还应该包括当前流程的图表吗?我个人认为,显示应用程序的“之前”和“之后”状态之间的差异将有助于包括在内。
解决方案
arc42 将有助于沟通和记录软件架构 - 因此可能包括支持理解的所有内容。
“范围和上下文”显示系统及其直接邻居,包含所有外部接口。我建议使用图表和表格 - 正如 arc42-section-3 文档中所建议的那样
在 arc42 中,您通常可以选择在何处(以及如何)传达信息,因此我们为其创建了一个相当广泛的docs.arc42.org 和faq.arc42.org站点。
根据您选择的工具和现有信息的种类,我看到了一些选项或方面:
1. 使用当前的手动流程作为新系统的动力
您提到的“手动流程”可能是创建新系统的强大动力。因此,您可能会在第 1.2 节(简介/动机)中描述这些手动步骤的一些缺点或问题。
2.在“Prior”和“New”中拆分第3节(上下文)
如果这些“手动流程”与外部接口相关,您可以创建一个 3.1 节来描述当前情况及其缺点)
在 3.2 中,您可以提出或指定具有改进或自动化流程的新系统。
3.“手动流程”可以显示在“6.运行时视图”下
“流程”由一系列步骤或活动组成 - 因此可以成为arc42 运行时视图的一部分。
4. 将“手动流程”委托给另一种类型的文档
您可以创建一个“当前情况回顾”文档,用“手动流程”描述当前情况以及相关的问题和风险。
在这种情况下,您可以避免使用与新系统的设计、构建和实施没有直接关系的信息来使您的 arc42 架构文档变得臃肿。
推荐阅读
- python - 你能在 Python 上使用 SimPy 做一个闭环系统吗?
- node.js - [SequelizeDatabaseError]:Sequelize 中的列名“userId”重复?
- python - 如何从 yahoo.finance 中提取 beta 数据?
- python - Django Paginator 在第一页后不起作用
- flutter - flutter params 数组在 api 请求中被字符串化
- python - Python lambda 列表:函数中列表理解、for 和 for 的不同行为
- html - Visual Studio Code 实时服务器
- php - CORS Ajax 请求:Set-Cookie 失败
- r - 如何使用插入符号函数来实现与此 for 循环相同的结果?分类随机森林插入符号
- jenkins - 如何处理 Jenkins 管道进程工作目录 '/var/lib/jenkins/workspace/ 中的错误
不存在