Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions ZH/asciidoc/arc42-template.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// header file for arc42-template,
// including all help texts
//
// ====================================

// configure zh settings for asciidoc
include::src/config.adoc[]

= image:arc42-logo.png[arc42] 模板
:revnumber: {revnumber}
:revdate: {revdate}
:revremark: {revremark}
:toc-title: 目录

//additional style for arc42 help callouts
include::../../common/styles/arc42-help-style.adoc[]



include::src/about-arc42.adoc[]

// horizontal line
***

ifdef::arc42help[]
[role="arc42help"]
****
[NOTE]
====
此模板版本包含一些帮助和说明。它用于熟悉 arc42 以及理解概念。
对于您自己的系统文档,最好使用 _纯文本_ 版本。

====
****
endif::arc42help[]

// numbering from here on
:numbered:

<<<<
// 1. Introduction and Goals
include::src/01_introduction_and_goals.adoc[]

<<<<
// 2. Architecture Constraints
include::src/02_architecture_constraints.adoc[]

<<<<
// 3. Context and Scope
include::src/03_context_and_scope.adoc[]

<<<<
// 4. Solution Strategy
include::src/04_solution_strategy.adoc[]

<<<<
// 5. Building Block View
include::src/05_building_block_view.adoc[]

<<<<
// 6. Runtime View
include::src/06_runtime_view.adoc[]

<<<<
// 7. Deployment View
include::src/07_deployment_view.adoc[]

<<<<
// 8. Concepts
include::src/08_concepts.adoc[]

<<<<
// 9. Architecture Decisions
include::src/09_architecture_decisions.adoc[]

<<<<
// 10. Quality Requirements
include::src/10_quality_requirements.adoc[]

<<<<
// 11. Technical Risks
include::src/11_technical_risks.adoc[]

<<<<
// 12. Glossary
include::src/12_glossary.adoc[]


Binary file added ZH/asciidoc/pdf-theme/fonts/NotoSansSC-Bold.ttf
Binary file not shown.
Binary file added ZH/asciidoc/pdf-theme/fonts/NotoSansSC-Medium.ttf
Binary file not shown.
Binary file not shown.
Binary file not shown.
12 changes: 12 additions & 0 deletions ZH/asciidoc/pdf-theme/zh-theme.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
extends: default
font:
catalog:
merge: true
Noto Sans SC:
normal: NotoSansSC-Regular.ttf
bold: NotoSansSC-Bold.ttf
italic: NotoSansSC-SemiBold.ttf
bold_italic: NotoSansSC-SemiBold.ttf
fallbacks:
- Noto Sans SC
base_font_family: Noto Sans SC
95 changes: 95 additions & 0 deletions ZH/asciidoc/src/01_introduction_and_goals.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-introduction-and-goals]]
== 引言与目标

ifdef::arc42help[]
[role="arc42help"]
****
描述软件架构师和开发团队必须考虑的相关要求和动机,这些包括:

* 潜在的业务目标,
* 关键特性,
* 基本功能需求,
* 架构的质量目标以及相关干系人及其期望
****
endif::arc42help[]

=== 需求概述

ifdef::arc42help[]
[role="arc42help"]
****
.内容
功能需求、动机、需求的摘要(或抽象)的简短描述。
链接到(现有的)需求文档(带有版本号和存放位置)。

.动机
从最终用户的角度来看,创建或修改系统是为了改进对业务活动的支持和/或提高质量。

.形式
简短的文本描述,可能采用表格用例格式。
如果需求文档存在,此概述应引用这些文档。

保持这些摘录尽可能简短。在本文档的可读性与需求文档的潜在冗余之间取得平衡。

.更多信息

参见 arc42 文档中的 https://docs.arc42.org/section-1/[引言与目标].
****
endif::arc42help[]

=== 质量目标

ifdef::arc42help[]
[role="arc42help"]
****
.内容
架构需要满足主要干系人的最重要的前三个(最多五个)质量目标.
我们真正指的是架构的质量目标。不要将它们与项目目标混淆,二者不一定相同.


考虑以下潜在主题概述 (基于 ISO 25010 标准):

image::01_2_iso-25010-topics-ZH-2023.drawio.png["质量需求类别"]

.动机
您应该了解最重要干系人的质量目标,因为它们将影响基本的架构决策。
确保对这些质量要求非常具体,避免流行语。
如果您作为架构师不知道如何评判您工作的质量...

.形式
包含质量目标和具体场景的表格,按优先级排序
****
endif::arc42help[]

=== 干系人

ifdef::arc42help[]
[role="arc42help"]
****
.内容
系统干系人的明确概述,即所有人员、角色或组织:

* 应当了解架构的人
* 必须信任架构的人
* 必须依赖架构或代码开展工作的人
* 依赖架构文档工作的人
* 对系统或系统的开发必须做决策的人

.起因
您应该了解参与系统开发或受系统影响的所有各方,否则在开发过程的后期,您可能会遇到令人不快的意外。
这些干系人决定了您工作及其结果的范围和详细程度。

.形式
包含角色名称、人员姓名以及他们对架构及其文档期望的表格。

****
endif::arc42help[]

[options="header",cols="1,2,2"]
|===
|角色/姓名|联系方式|期望
| _<角色-1>_ | _<联系方式-1>_ | _<期望-1>_
| _<角色-2>_ | _<联系方式-2>_ | _<期望-2>_
|===
26 changes: 26 additions & 0 deletions ZH/asciidoc/src/02_architecture_constraints.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-architecture-constraints]]
== 架构约束

ifdef::arc42help[]
[role="arc42help"]
****
.内容
任何约束软件架构师在设计和实现决策自由度或开发过程决策的需求。这些约束有时超越个别系统,对整个组织和公司都有效。

.动机
架构师应该明确知道他们在设计决策中的自由度在哪里,以及必须遵守约束的地方。
尽管约束是可以协商讨论的,但必须始终受到关注。

.形式
带有解释的简单约束表格。
如有需要,您可以结合实践将其细分为:技术约束、组织和政治约束以及约定(例如编程或版本控制指南、文档或命名约定)


.更多信息

参见 arc42 文档中的 https://docs.arc42.org/section-2/[架构约束]。

****
endif::arc42help[]
77 changes: 77 additions & 0 deletions ZH/asciidoc/src/03_context_and_scope.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-context-and-scope]]
== 上下文和边界


ifdef::arc42help[]
[role="arc42help"]
****
.内容
系统边界和上下文,顾名思义就是将您的系统(即边界范围)与其所有通信方(周边系统和用户,即您系统的上下文)界定清晰。因此,它决定了外部接口的设计。
如有必要,请区分业务上下文(特定领域的输入和输出)和技术上下文(信道、协议、硬件)。


.动机
与通信方的领域接口和技术接口是系统最关键的部分,请确保您完全了解它们

.形式
有以下几种选择:

* 下文关系图
* 通信方及其接口列表


.更多信息

参见 arc42 文档中的 https://docs.arc42.org/section-3/[上下文和边界]。

****
endif::arc42help[]

=== 业务上下文

ifdef::arc42help[]
[role="arc42help"]
****
.内容
*所有* 通信方(例如:用户、IT系统等)的规范,并解释特定领域的输入和输出或接口。
您可以选择添加特定领域的格式或通信协议。

.动机
所有干系人都应该了解哪些数据在系统间流转。

.形式
将系统显示为黑盒并指定与通信方的域接口的各种图表。
或者您可以(另外)附加一个表格。
此外,您还可以使用表格。表格的标题为系统名称,表格内容包含三列,分别是通信方名称、输入和输出。

****
endif::arc42help[]

**<图表或表格>**

**<可选:外部领域接口的解释>**

=== 技术上下文

ifdef::arc42help[]
[role="arc42help"]
****
.内容
技术接口(信道和传输介质)将您的系统与其环境连接起来。此外,将特定领域的输入/输出映射到信道上,即解释哪些输入/输出使用哪些信道。

.动机
许多干系人基于系统与其上下文之间的技术接口做出架构决策。特别是基础设施或硬件设计师决定这些技术接口。

.形式
例如,描述信道到相邻系统的 UML 部署图,以及展示信道与输入/输出之间关系的映射表。

****
endif::arc42help[]

**<图表或表格>**

**<可选:技术接口的解释>**

**<输入、输出与信道之间的映射关系>**
30 changes: 30 additions & 0 deletions ZH/asciidoc/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-solution-strategy]]
== 解决方案策略


ifdef::arc42help[]
[role="arc42help"]
****
.内容
塑造系统架构的基本决策和解决方案策略的简短总结和解释。它包括

* 技术决策
* 关于系统顶层分解的决策,例如使用架构模式或设计模式
* 关于如何实现关键质量目标的决策
* 相关的组织决策,例如选择开发过程或将某些任务委托给第三方。

.动机
这些决策构成了您架构的基石。它们是许多其他详细决策或实现规则的基础。

.形式
做出的决策的起因,以及为什么做出这样的决定,
基于问题陈述、质量目标和关键约束。请参阅以下章节中的详细信息(第5节是结构细节,第8节是跨领域概念)。

.更多信息

参见 arc42 文档中的 https://docs.arc42.org/section-4/[解决方案策略]。

****
endif::arc42help[]
Loading
Loading