510 lines
9.9 KiB
Plaintext
510 lines
9.9 KiB
Plaintext
= Projektbeschreibung kontor-spring: Entwicklungs- und Projekthandbuch
|
|
:author: Thomas Peetz
|
|
:email: <thomas.peetz@thpeetz.de>
|
|
:doctype: book
|
|
:sectnums:
|
|
:sectnumlevels: 4
|
|
:toc:
|
|
:toclevels: 4
|
|
:table-caption!:
|
|
:counter: table-number: 0
|
|
|
|
[title="Dokumenthistorie", id="Table-{counter:table-number}", options="header"]
|
|
|===
|
|
| Version | Datum | Autor | Änderungsgrund / Bemerkungen
|
|
| 1.0.0 | 16.05.2022 | Thomas Peetz | Ersterstellung
|
|
|===
|
|
|
|
== Allgemeines
|
|
|
|
=== 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))<<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))<<asciidoctor>> geschrieben.
|
|
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))<<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
|
|
|
|
[mermaid, kontor-user-er, png]
|
|
.Benutzer ER-Diagramm
|
|
....
|
|
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
|
|
}
|
|
role {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
string name
|
|
}
|
|
authorization_matrix {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
string user_id FK
|
|
string role_id FK
|
|
}
|
|
module_data {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
boolean import_data
|
|
string module_name UNIQUE
|
|
}
|
|
user ||--o{ authorization_matrix : "matrix"
|
|
role ||--o{ authorization_matrix : "matrix"
|
|
....
|
|
|
|
|
|
===== Comics ER-Diagramm
|
|
|
|
[mermaid, kontor-comics-er, png]
|
|
.Comics ER-Diagramm
|
|
....
|
|
erDiagram
|
|
comic {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
boolean completed
|
|
boolean currentOrder
|
|
string title
|
|
string publisher_id FK
|
|
}
|
|
volume {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
string name
|
|
string comic_id FK
|
|
}
|
|
issue {
|
|
string id 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
|
|
}
|
|
artist {
|
|
string id PK
|
|
datetime created_date
|
|
datetime last_modified_date
|
|
int version
|
|
string name
|
|
}
|
|
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
|
|
}
|
|
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
|
|
}
|
|
comic ||--o{ comic_work : "1"
|
|
artist ||--o{ comic_work : "1"
|
|
worktype ||--o{ comic-work : "1"
|
|
publisher ||--o{ comic : "1"
|
|
comic ||--o{ issue : "1"
|
|
comic ||--o{ volume : "1"
|
|
comic ||--o{ story_arc : "1"
|
|
comic ||--o{ trade_paperback : "1"
|
|
volume ||--o{ issue : "1"
|
|
....
|
|
|
|
===== TYSC ER-Diagramm
|
|
|
|
[mermaid, kontor-tysc-er, png]
|
|
.TYSC ER-Diagramm
|
|
....
|
|
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
|
|
|
|
[bibliography]
|
|
== Referenzen
|
|
|
|
- [[[asciidoctor]]] http://asciidoctor.org
|
|
- [[[gitea]]] http://www.gitea.org
|
|
- [[[gradle]]] http://www.gradle.org
|
|
- [[[jenkins]]] http://jenkins-ci.org
|
|
|
|
[glossary]
|
|
== Glossar
|
|
|
|
[index]
|
|
== Index
|
|
|
|
== Verzeichnisse
|
|
|
|
=== Abbildungsverzeichnis
|
|
|
|
=== Tabellenverzeichnis
|
|
|
|
<<Table-1, Tabelle 1>> <<Table-1>>
|