-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdcm.puml
132 lines (119 loc) · 3.57 KB
/
dcm.puml
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
@startuml
hide circle
title Dynamic Competence Map
header see https://github.com/WolfgangFahl/dcm
!pragma useIntermediatePackages false
class dcm.dcm_core.DynamicCompetenceMap {
competence_tree: CompetenceTree
svg: None
}
class dcm.dcm_core.Achievement {
path: str
level: int
score: float
score_unit: Optional[str]
evidence: Optional[str]
date_assessed: Optional[str]
}
note top of Achievement
A single result of an [[https://en.wikipedia.org/wiki/Achievement_test achievement test]]
end note
class dcm.dcm_core.CompetenceAspect {
areas: List[CompetenceArea]
credits: Optional[int]
}
class dcm.dcm_core.CompetenceArea {
facets: List[CompetenceFacet]
}
class dcm.dcm_core.CompetenceElement {
name: str
short_name: Optional[str]
id: Optional[str]
url: Optional[str]
description: Optional[str]
color_code: Optional[str]
border_color: Optional[str]
path: str
time: Optional[float]
time_unit: Optional[str]
max_score: Optional[float]
score_unit: Optional[str]
}
class dcm.dcm_core.RingSpec {
text_mode: Optional[str]
inner_ratio: Optional[float]
outer_ratio: Optional[float]
levels_visible: Optional[bool]
symmetry_mode: Optional[str]
+empty() : bool
}
note top of RingSpec
specification of how to display a ring in the chart
end note
class dcm.dcm_core.CompetenceFacet {
}
class dcm.dcm_core.CompetenceLevel {
level: int
icon: str
utf8_icon: str
}
class dcm.dcm_core.CompetenceTree {
lookup_url: Optional[str]
competence_aspects: Dict[str, CompetenceAspect]
competence_levels: List[CompetenceLevel]
element_names: Dict[str, str]
ring_specs: Dict[str, RingSpec]
}
note top of CompetenceElement
Generic element to allow consistent
attributes for the CompetenceTree hierarchy
end note
note top of CompetenceAspect
Defines a broad category or domain of competence
end note
note top of CompetenceArea
Represents a subdivision within
a competence aspect,
containing multiple facets.
end note
note top of CompetenceFacet
A specific skill or knowledge
area within a competence area.
end note
note top of CompetenceLevel
Level of [[https://en.wikipedia.org/wiki/Expert Proficiency]]
end note
note top of CompetenceTree
Represents a hierachical [[https://en.wikipedia.org/wiki/Syllabus syllabus]]
with the hierarchy levels:
# CompetenceTree
# CompetenceAspect
# CompetenceArea
# CompetenceFacet
end note
class dcm.dcm_core.Learner {
learner_id: str
achievements: Optional[Dict[str, List[Achievement]]]
}
note top of Learner
A person actively [[https://en.wikipedia.org/wiki/Learning learning]] to
achieve competences from one or more CompetenceTree instances
end note
note top of dcm.dcm_core
[[https://github.com/WolfgangFahl/dcm/blob/main/dcm/dcm_core.py Dynamic Competence Map\ncore entities]]
end note
dcm.dcm_core.DynamicCompetenceMap *-- dcm.dcm_core.CompetenceTree
dcm.dcm_core.DynamicCompetenceMap -- dcm.dcm_core.Learner
dcm.dcm_core.CompetenceAspect *-- dcm.dcm_core.CompetenceArea
dcm.dcm_core.CompetenceArea *-- dcm.dcm_core.CompetenceFacet
dcm.dcm_core.CompetenceElement <|-- dcm.dcm_core.CompetenceAspect
dcm.dcm_core.CompetenceElement <|-- dcm.dcm_core.CompetenceArea
dcm.dcm_core.CompetenceElement <|-- dcm.dcm_core.CompetenceFacet
dcm.dcm_core.CompetenceElement <|-- dcm.dcm_core.CompetenceLevel
dcm.dcm_core.CompetenceTree *-- dcm.dcm_core.CompetenceAspect
dcm.dcm_core.CompetenceTree *-- dcm.dcm_core.CompetenceLevel
dcm.dcm_core.CompetenceElement <|-- dcm.dcm_core.CompetenceTree
dcm.dcm_core.Learner *-- dcm.dcm_core.Achievement
dcm.dcm_core.Achievement *-- dcm.dcm_core.CompetenceElement
footer Based on diagram generated by //py2puml//
@enduml