forked from Mach30/dof
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DOF.adoc.liquid
93 lines (73 loc) · 2.22 KB
/
DOF.adoc.liquid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
= {{architecture.package.description}}
{{architecture.package.author}}
:revnumber: v{{architecture.package.version}}
:revdate: {{architecture.generationDate}}
:toc: left
// github specific things
ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
:imagesdir: https://raw.githubusercontent.com/Mach30/dof/master/dist/images
endif::[]
// non-github specific things
ifndef::env-github[]
:imagesdir: ./dist/images
endif::[]
include::../README.adoc[]
== Stakeholder Needs
The development of the Distributed OSHW Framework (DOF) is guided by a series of stakeholder needs, listed below.
{% for need in architecture['1-StakeholderNeeds'] %}
.Stakeholder Need {{need.id}}: {{need.name}}
****
{{need.statement}}
****
{% endfor %}
== User Stories
DOF's stakeholder needs are then used to identify a series of user stories which then lead to design decisions captured in data structure and activity definitions.
{% for us in architecture['2-UserStories'] %}
=== User Story {{us.id}}: {{us.name}}
****
As a *{{us.actor}}* I want to *{{us.behavior}}* so that I can *{{us.rationale}}*.
****
*Example:* {{us.example}}
{% endfor %}
== Data Structures
This section covers each data structure type in the *{{architecture.package.description}}*.
{% for ds in architecture['3-DataStructures'] %}
=== {{ds.name}}
*Purpose:* {{ds.purpose}}
.{{ds.name}} Template
----
{{ds.template}}
----
.{{ds.name}} Specification
|===
|Field |Type |Item Type |Description |Source
{% for field in ds['elements'] %}
|{{field.key}}
|{{field.type}}
{% if architecture['elements'][field.itemType].name %}
|{{architecture['elements'][field.itemType].name}}
{% else %}
|{{field.itemType}}
{% endif %}
|{{field.description}}
{% if field.derivedFrom.length > 0 %}
a|{% for reference in field.derivedFrom %}
* {{architecture['elements'][reference].url}}[{{architecture['elements'][reference].title}}]
{% endfor %}
{% else %}
|
{% endif %}
{% endfor %}
|===
{% if ds['derivedFrom'].length > 0 %}
.References
{% for reference in ds['derivedFrom'] %}
* {{architecture['elements'][reference].url}}[{{architecture['elements'][reference].title}}]
{% endfor %}
{% endif %}
{% endfor %}