# Projekt JK OER-Bildungsplattform
[toc]
## Autoren
Lizenz CC-BY oder CC-BY-SA 4.0
- [ ] JK
- [x] RM (CC0 1.0)
## Anwendungsfalldiagramme JK




## Aktivitätsdiagramme JK


:::spoiler TODO RM
## Anwendungsfalldiagramme RM (plantuml)
Die OER-Bildungsplattform soll diverse Akteure ansprechen. Dar
```plantuml
skinparam packageStyle rectangle
package Akteure {
actor Administrator as A
actor Backend as B
actor Lehrer as L
actor Schüler as S
actor Gast as G
}
```
```plantuml
left to right direction
skinparam packageStyle rectangle
package Rollen {
actor Administrator as A
actor Backend as B
actor Lehrer as L
actor Schüler as S
actor Gast as G
}
package Bildungsplattform {
usecase "Entscheidungen eingeben" as UC1
usecase "Entscheidungen verarbeiten" as UC2
usecase "Spiel/Spieler verwalten" as UC3
usecase "Software administrieren" as UC4
}
:T: --> UC1
:S: --> UC2
:S: --> UC3
:A: --> UC4
:T: <|-- :S:
UC1 --> :Backend:
UC2 --> :Backend:
UC3 --> :Backend:
UC4 --> :Backend:
note right of Backend
Verabeitung der Daten
REST-API
end note
```
:::
## Markdown Software
Lizenz beachten: möglichst nur MIT oder ggf. GPL
Editoren
- [Dillinger](https://dillinger.io/)
- Markdown-it [Github](https://github.com/markdown-it/markdown-it) [Demo](https://markdown-it.github.io/)
- ProseMirror [Demo](https://prosemirror.net/examples/basic/)
Konverter
- [Breakdance](https://breakdance.github.io/breakdance/) (HTML > MD)
- [Pandoc](https://pandoc.org/) (alles zu allem) [Demo](https://pandoc.org/demos.html)
---
## Ausschnitt eines Ausbildungsrahmenplan im JSON-Format
```json
{
"job_title": "Fachinformatiker/in für Anwendungsentwicklung",
"version": "1.0.0",
"sections": {
"enumeration_type": "upper-roman",
"start_at": 1,
"list": [
{
"name": "Gemeinsame Ausbildungsinhalte",
"topics": {
"enumeration_type": "decimal",
"start_at": 1,
"list": [
{
"name": "Der Ausbildungsbetrieb",
"source": "§ 10 Abs. 1 Nr. 1",
"sub_topics": {
"enumeration_type": "decimal",
"start_at": 1,
"list": [
{
"name": "Stellung, Rechtsform und Struktur",
"source": "§ 10 Abs. 1 Nr. 1.1",
"details": {
"enumeration_type": "lower-latin",
"start_at": 1,
"list": [
"Aufgaben und Stellung des Ausbildungsbetriebes im gesamtwirtschaftlichen Zusammenhang beschreiben",
"Aufbau des ausbildenden Betriebes erläutern",
"Art und Rechtsform des Betriebes erläutern",
"die Zusammenarbeit des Ausbildungsbetriebes mit Wirtschaftsorganisationen, Verbänden, Behörden und Gewerkschaften beschreiben"
]
}
},
{
"name": "Berufsbildung, Arbeits- und Tarifrecht",
"source": "§ 10 Abs. 1 Nr. 1.2",
"details": {
"enumeration_type": "lower-latin",
"start_at": 1,
"list": [
"rechtliche Vorschriften zur Berufsausbildung erläutern, Rechte und Pflichten aus dem Ausbildungsverhältnis erklären",
"die Ausbildungsordnung mit dem betrieblichen Ausbildungsplan vergleichen",
"die Notwendigkeit weiterer beruflicher Qualifizierung begründen",
"berufliche Fortbildungsmöglichkeiten beschreiben und Aufstiegsmöglichkeiten nennen",
"wesentliche Bestimmungen des Arbeits- und Tarifrechtes beschreiben und ihre Bedeutung für das Arbeitsverhältnis erklären",
"eigene Entgeltabrechnung erläutern",
"Grundlagen, Aufgaben und Arbeitsweise der betriebsverfassungsrechtlichen oder personalvertretungsrechtlichen Organe des ausbildenden Betriebes beschreiben"
]
}
}
]
}
},
{
"name": "Geschäfts- und Leistungsprozesse",
"source": "§ 10 Abs. 1 Nr. 2",
"sub_topics": {
"enumeration_type": "decimal",
"start_at": 1,
"list": [
{
"name": "Leistungserstellung und -verwertung",
"source": "§ 10 Abs. 1 Nr. 2.1",
"details": {
"enumeration_type": "lower-latin",
"start_at": 1,
"list": [
"den Prozess der Leistungserstellung im Ausbildungsbetrieb beschreiben",
"Wirtschaftlichkeit und Produktivität betrieblicher Leistungen beurteilen",
"Einfluss der Wettbewerbssituation auf die Leistungserstellung und -verwertung darstellen",
"die Rolle von Kunden und Lieferanten für die Leistungserstellung und -verwertung erläutern"
]
}
}
]
}
}
]
}
},
{
"name": "Berufsspezifische Ausbildungsinhalte",
"topics": {
"enumeration_type": "decimal",
"start_at": 6,
"list": [
{
"name": "Systementwicklung",
"source": "§ 10 Abs. 1 Nr. 6",
"sub_topics": {
"enumeration_type": "decimal",
"start_at": 1,
"list": [
{
"name": "Analyse und Design",
"source": "§ 10 Abs. 1 Nr. 6.1",
"details": {
"enumeration_type": "lower-latin",
"start_at": 1,
"list": [
"Vorgehensmodelle und -methoden sowie Entwicklungsumgebungen aufgabenbezogen auswählen und anwenden",
"strukturierte und objektorientierte Analyse- und Designverfahren anwenden",
"Programmspezifikationen festlegen, Datenmodelle und Strukturen aus fachlichen Anforderungen ableiten, Schnittstellen festlegen",
"Methoden zur Strukturierung von Daten und Programmen anwenden",
"Daten und Funktionen zu Objekten zusammenfassen, Klassen definieren und Hierarchiediagramme erstellen"
]
}
}
]
}
}
]
}
}
]
}
}
```
JSON-Schema von Ausbildungsrahmenplan oben nach [json-schema.org](https://json-schema.org/).
```json
{
"$schema": "https: //json-schema.org/draft/2020-12/schema",
"$id": "https://jade-hs.de/schemas/training-curricula",
"$defs": {
"enumeration_styles": {
"enum": ["decimal","lower-roman","upper-roman","lower-latin","upper-latin"],
"default": "decimal",
"description": "Which type of characters the enumeration should use.",
"$comment": "Subset of https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type"
}
},
"type": "object",
"properties": {
"job_title": {
"type": "string",
"description": "The name of the job title"
},
"version": {
"type": "string",
"description": "Version integer of this json schema"
},
"sections": {
"type": "object",
"description": "A enumeration of sections",
"properties": {
"enumeration_type": {
"$ref":"#/$defs/enumeration_styles"
},
"start_at": {
"type": "integer",
"description": "At which integer the enumeration of the following entries should begin"
},
"list": {
"type": "array",
"description": "All sections",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name of the section"
},
"topics": {
"enumeration_type": {
"$ref":"#/$defs/enumeration_styles"
},
"start_at": {
"type": "integer",
"description": "At which integer the enumeration of the following entries should begin"
},
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the topic"
},
"source": {
"type": "string",
"description": "Where does the topic come from? May be a law"
},
"sub_topics": {
"enumeration_type": {
"$ref":"#/$defs/enumeration_styles"
},
"start_at": {
"type": "integer",
"description": "At which integer the enumeration of the following entries should begin"
},
"list": {
"type": "array",
"description": "All sub-topics of the topic",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the sub-topic"
},
"source": {
"type": "string",
"description": "Where does the sub-topic come from? Might be a law."
},
"details": {
"enumeration_type": {
"$ref":"#/$defs/enumeration_styles"
},
"start_at": {
"type": "integer",
"description": "At which integer the enumeration of the following entries should begin"
},
"list": {
"type": "array",
"description": "All detail bullet points of the sub-topic",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
```