arc42 and ArchiMate layouts in the folder guide; arc42 examples cover all sections; 1.3
references/folders.md gains arc42 (sections as numbered folders and cards, black boxes, quality tree) and ArchiMate (layers, type in tag and sublabel, element mapping). Gotchas: ref in every kind needs extension 0.11.0; tags are not drawn on the box.
This commit is contained in:
1 parent
d9777fb90e
commit
900e0986e6
20 files changed
+554
-89
No files matched your search
@@ -77,6 +77,65 @@ The numbered folders are only for sorting; nothing depends on the names. A team
|
||||
|
||||
Component types that fit C4: people are `external`; the system itself and other systems are `cloud` (own) or `external` (others); containers are `frontend`, `backend`, `database`, `messagebus`, `security`; components inside a container use the same set, wrapped in a `region` boundary named after the container.
|
||||
|
||||
## arc42
|
||||
|
||||
[arc42](https://arc42.org) is a documentation template with twelve sections; four of them are views (diagrams), the rest are text. In a model, the views are folders numbered like their section, the decisions are section 9, and the text sections are `cards` (title plus short items) on the diagram they belong to. Card titles carry the section number so a reader finds each section.
|
||||
|
||||
```
|
||||
cinema-tickets/
|
||||
main.archify section 3 business context (the system and its neighbours);
|
||||
cards 1.1 Requirements, 1.2 Quality goals, 1.3 Stakeholders,
|
||||
2 Constraints, 4 Solution strategy, 11 Risks and technical debt,
|
||||
12 Glossary
|
||||
registry/
|
||||
people.archify-registry users and operators
|
||||
systems.archify-registry neighbouring systems
|
||||
building-blocks.archify-registry each block's description in black-box form:
|
||||
"Responsibility: ... Interfaces: ..." (section 5)
|
||||
0300-context/
|
||||
technical-context.archify channels and protocols; card 3 Domain interfaces
|
||||
0500-building-blocks/
|
||||
level-1.archify the system's white box; card 8 Crosscutting concepts
|
||||
booking.archify level 2 of one block, linked from its registry entry
|
||||
0600-runtime/
|
||||
book-seats.archify key scenarios as sequence diagrams
|
||||
0700-deployment/
|
||||
production.archify building blocks inside boundaries for nodes and zones;
|
||||
card 7 Mapping (block -> node)
|
||||
1000-quality/
|
||||
quality-tree.archify Quality -> characteristics -> scenarios;
|
||||
card 10 Quality scenarios (stimulus and response)
|
||||
decisions/ section 9, one *.archify-decision per decision
|
||||
```
|
||||
|
||||
Say where each section lives in `model.description`. Cards hold short lines, not prose: an arc42 document with long text belongs next to the model, not in it. `examples/arc42-cinema-tickets/`, `arc42-iot-telemetry/` and `arc42-team-wiki/` (the smallest) are complete.
|
||||
|
||||
## ArchiMate
|
||||
|
||||
[ArchiMate](https://www.opengroup.org/archimate-forum) models an enterprise in layers. Archify has no ArchiMate notation, so each element is an Archify component type with its ArchiMate type written out: in `tag` (searchable, shown in the focus panel) and in `sublabel` (shown on the box; Archify draws tags only in the focus panel).
|
||||
|
||||
```
|
||||
insurance-claims/
|
||||
main.archify layered view: Business, Application, Technology as three
|
||||
region boundaries, top to bottom, three elements each in the
|
||||
same columns, serves/realizes arrows between layers
|
||||
registry/
|
||||
business.archify-registry actors, roles, processes, services, events
|
||||
application.archify-registry components, services, interfaces, data objects
|
||||
technology.archify-registry nodes, system software, technology services, networks
|
||||
0100-business/
|
||||
business-layer.archify actors, roles and services
|
||||
handle-claim.archify the business process as a workflow (lanes per role)
|
||||
0200-application/
|
||||
application-structure.archify components, services, interfaces, data objects
|
||||
application-cooperation.archify how the components talk
|
||||
0300-technology/
|
||||
infrastructure.archify nodes and networks inside boundaries
|
||||
decisions/
|
||||
```
|
||||
|
||||
A mapping that reads well: actors and roles `external`; processes `backend`; business and application services `cloud` or `frontend`; application components `backend` or `frontend`; data objects `database`; nodes `backend`, `cloud` or `database`; networks `messagebus` or `security`. Name relationships in connection labels: serves, realizes, uses, accesses, assigned to, triggers. Keep type names short enough for the box (`App Component`, `Tech Service`). `examples/archimate-insurance-claims/`, `archimate-hr-onboarding/` and `archimate-logistics-tracking/` are complete.
|
||||
|
||||
## How the extension knows it is in a model
|
||||
|
||||
The nearest folder above a file that contains `main.archify` is the root. Under that root, at any depth: `*.archify` are member diagrams, `*.archify-registry` make up the registry, subfolders are groups. `node_modules` and `.git` are skipped.
|
||||
|
||||
Reference in new issue
Block a user