add subprojekt kontor-doc

This commit is contained in:
2026-04-26 16:08:17 +02:00
parent fa5f4cfa36
commit 746fd48de7
13 changed files with 922 additions and 513 deletions
+505
View File
@@ -0,0 +1,505 @@
//#set page("a4")
#import "@preview/basic-report:0.4.0": *
#import "@preview/in-dexter:0.7.2": *
#import "@preview/pintorita:0.1.4"
#set text(fill: white)
#show raw.where(lang: "pintora"): it => pintorita.render(it.text)
#show: it => basic-report(
doc-category: "Entwicklungs- und Projekthandbuch",
doc-title: "Projektbeschreibung kontor-spring",
author: "Thomas Peetz",
//affiliation: "MouseTec, Entenhausen",
//logo: image("assets/aerospace-engineering.png", width: 2cm),
// <a href="https://www.flaticon.com/free-icons/aerospace" title="aerospace icons">Aerospace icons created by gravisio - Flaticon</a>
language: "de",
compact-mode: false,
it
)
= Allgemeines
#figure(
table(
columns: 4,
[Version], [Datum], [Autor], [Änderungsgrund / Bemerkungen],
[1.0.0], [16.05.2022], [Thomas Peetz], [Ersterstellung],
),
caption: [Dokumenthistorie],
)
== Zweck des Dokumentes
Das Entwicklungshandbuch beschreibt die Werkzeuge und die Vorgehensweise bei der Entwicklung
im Projekt kontor-spring und der Erstellung der Dokumentation.
== Verwendete Tools
=== Gitea
Für die Verwaltung des Sourcecode kommt Gitea #index[Gitea] zum Einsatz.
Mit Gitea werden auch die Projektaufgaben verwaltet.
Das Projekt und das dazugehörige Git Repository sind unter der Adresse
https://gitea.thpeetz.de/kontor/kontor-spring
zu finden.
= Erstellung der Dokumentation
Die Dokumentation des Projektes wird mit Asciidoctor #index[Asciidoctor] geschrieben. #cite(<asciidoctor>, form: "prose")
Die Dokumente erhalten ihre Namen nach dem jeweiligen Hauptdokument.
== Quellcode Verwaltung
Die Asciidoctor-Dateien haben die Endung `.adoc`.
== Buildsystem
Zur Erstellung der PDF-Dateien aus den Asciidoctor-Dateien wird das Buildsystem Gradle #index[Gradle]@gradle verwendet.
Die Dateien für die Dokumente liegen im Verzeichnis `src/docs/asciidoc`.
Der Gradle Build wird über die Datei `build.gradle` definiert.
= Einführung
== Zweck
== Stakeholder des Systems
== Systemumfang
=== Zielsetzung des Systems
== Systemübersicht
=== Systemkontext
=== Systemarchitektur
=== Systemschnittstellen
==== Realisierte Schnittstellen
==== Verwendete Schnittstellen
=== Logisches Datenmodell
==== Benutzer ER-Diagramm
#figure(
kind: image,
```pintora
erDiagram
USER {
string id PK
datetime created_date
datetime last_modified_date
int version
string email
boolean enabled
string firstName
string lastName
string password
string token
boolean tokenExpired
string userName UNIQUE
}
USER ||--o{ AUTHORIZATION_MATRIX : "matrix"
ROLE {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
ROLE ||--o{ AUTHORIZATION_MATRIX : "matrix"
AUTHORIZATION_MATRIX {
string id PK
datetime created_date
datetime last_modified_date
int version
string user_id FK
string role_id FK
}
```,
caption: [Benutzer ER-Diagramm]
)
==== Comics ER-Diagramm
```pintora
erDiagram
comic {
string id PK
datetime created_date
datetime last_modified_date
int version
boolean completed
boolean currentOrder
string title
string publisher_id FK
}
comic ||--o{ comic_work : "1"
comic ||--o{ issue : "1"
comic ||--o{ volume : "1"
comic ||--o{ story_arc : "1"
comic ||--o{ trade_paperback : "1"
volume {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
string comic_id FK
}
volume ||--o{ issue : "1"
issue {
stringid PK
datetime created_date
datetime last_modified_date
int version
boolean in_stock
boolean is_read
string issue_number
string comic_id FK
string volume_id FK
}
publisher {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
publisher ||--o{ comic : "1"
artist {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
artist ||--o{ comic_work : "1"
story_arc {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
string comic_id FK
}
trade_paperback {
string id PK
datetime created_date
datetime last_modified_date
int version
int issueStart
int issueEnd
string name
string comic_id FK
}
worktype {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
worktype ||--o{ comic-work : "1"
comic_work {
string id PK
datetime created_date
datetime last_modified_date
int version
string artist_id FK
string comic_id FK
string worktype_id FK
}
```
==== TYSC ER-Diagramm
....pintora
erDiagram
sport {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
team {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
string short_name
string sport_id FK
}
field_position {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
string short_name
string sport_id FK
}
rooster {
string id PK
datetime created_date
datetime last_modified_date
int version
int year
string player_id FK
string position_id FK
string team_id FK
}
player {
string id PK
datetime created_date
datetime last_modified_date
int version
string first_name
string last_name
}
vendor {
string id PK
datetime created_date
datetime last_modified_date
int version
string name
}
card_set {
string id PK
datetime created_date
datetime last_modified_date
int version
boolean insert_set
string name
boolean parallel_set
string vendor_id FK
}
card {
string id PK
datetime created_date
datetime last_modified_date
int version
int cardNumber
int year
string card_set FK
string rooster_id FK
string vendor_id FK
}
sport ||--o{ team : "1"
sport ||--o{ field_position : "1"
field_position ||--o{ rooster : "1"
player ||--o{ rooster : "1"
team ||--o{ rooster : "1"
vendor ||--o{ card : "1"
card_set ||--o{ card : "1"
rooster ||--o{ card : "1"
....
==== Bookshelf ER-Diagramm
[mermaid, kontor-bookshelf-er, png]
.Bookshelf ER-Diagramm
....
erDiagram
article {
string id PK
datetime created_date
datetime last_modified_date
int version
string title
}
book {
string id PK
datetime created_date
datetime last_modified_date
int version
string isbn UNIQUE
string title
int year
string publisher_id FK
}
bookshelf_publisher {
string id PK
datetime created_date
datetime last_modified_date
int version
string name UNIQUE
}
author {
string id PK
datetime created_date
datetime last_modified_date
int version
string first_name
string last_name
}
article_author {
string id PK
datetime created_date
datetime last_modified_date
int version
string article_id FK
string author_id FK
}
book_author {
string id PK
datetime created_date
datetime last_modified_date
int version
string book_id FK
string author_id FK
}
publisher ||--o{ book : "1"
article ||--o{ article_author : "1"
author ||--o{ article_author : "1"
book ||--o{ book_author : "1"
author ||--o{ book_author : "1"
....
==== Mail ER-Diagramm
[mermaid, kontor-mail-er, png]
.Mail ER-Diagramm
....
erDiagram
mail {
string id PK
datetime created_date
datetime last_modified_date
int version
string subject
string content
datetime received_date
datetime sent_date
}
mail_account {
string id PK
datetime created_date
datetime last_modified_date
int version
string host
string password
int port
string protocol
boolean start_tls
string user_name
}
mail_address {
string id PK
datetime created_date
datetime last_modified_date
int version
string internet_address UNIQUE
string personal
string user_id FK
}
user ||--o{ mail_address : "1"
....
=== Einschränkungen
= Anforderungen der Domäne
== Systemfunktionen
=== Anwendungsfälle
=== Akteure
=== Zielgruppen
== Anforderungen
=== Anforderungen an externe Schnittstellen
=== Funktionale Anforderungen
=== Qualitätsanforderungen
=== Randbedingungen
=== Weitere Anforderungen
=== Wartungs- und Supportinformationen
== Verifikation
= Projektbeschreibung
== Ausgangslage
//==== Rechtliche Vorgaben und Rahmenbedingungen
//=== Rahmenbedingungen
//==== Vorhandene Regelungen
== Projektziele
== Projektabgrenzung
//=== Voraussichtliche Kosten
//=== Projektrisiken
//==== Produktivität
//==== Finanzielle Risiken
//==== Akzeptanz
= Projektorganisation
== Projekt-Aufbauorganisation
== Rollendefinition
//==== Projektauftraggeber
//==== Projektausschuss
//==== Beratung / Qualitätssicherung
=== Projekteiter
=== Projektteam
=== Liste der Stakeholder
== Projektablauforganisation
=== Projekt-Phasen
==== Erstellung der Projektdokumentation
= Verschiedenes
== Erreichbarkeiten
= Referenzen
#bibliography("reference.yaml", title: auto, full: true)
= Glossar
= Index
#make-index(title: none, outlined: true, use-page-counter: true)
= Verzeichnisse
== Abbildungsverzeichnis
#outline(title: none, target: figure.where(kind: image))
== Tabellenverzeichnis
#outline(title: none, target: figure.where(kind: table))
+13
View File
@@ -0,0 +1,13 @@
asciidoctor:
title: Asciidoctor
type: web
url: http://asciidoctor.org
gitea:
type: web
url: http://www.gitea.org
gradle:
type: web
url: http://www.gradle.org
jenkins:
type: web
url: http://jenkins-ci.org