View on GitHub

Software Engineering - HS 2024

Vorlesungswebseite für den Kurs Software Engineering der Universität Basel

Technische Dokumentation (Template)

Version Projektname Autor Status Datum Kommentar
0.1 Name Name in Bearbeitung 01.01.1970  

1 Einführung

1.1 Zweck

Beschreiben sie was das Ziel und der Zweck dieses Dokuments ist. An wen richtet es sich und was soll kommuniziert werden?

1.2 Beziehung zu anderen Dokumenten

Geben sie hier andere relevante Dokumente an, wie z.B. das Pflichtenheft

2. Systemübersicht

Hier sollte eine kurze Übersicht über das System gegeben werden. Das Ziel dieses Abschnitts ist, dass der Leser weiss, was entwickelt wird. Also zum Beispiel sollte man erwähnen, dass es sich um eine Erweiterung für Jabref handelt, und was das Ziel dieser Erweiterung ist.

3. Designziele

Es gibt kein absolutes Mass für gutes oder schlechtes Design. Das Design ist nur gut oder schlecht bezüglich den Anforderungen der Stakeholder. Hier sollten die Ziele/Anforderungen kurz beschrieben werden. Beispiele sind:

4. Systemverhalten

Um die Designlösung die nachfolgend beschrieben wird einzuführen, sollten an dieser Stelle nochmals das gewünschte Verhalten des Systems (abgeleitet aus dem Pflichtenheft) kurz beschrieben werden. Idealerweise sollte hier genügend Information gegeben werden, so dass man die Diagramme und Spezifikationen die im nächsten Abschnitt beschrieben werden verstehen kann, ohne zuvor das Pflichtenheft im Detail gelesen zu haben.

5. Design

An dieser Stelle wird nun das eigentliche Softwaredesign (die technische Lösung) beschrieben. In grösseren Systemen wird typischerweise zwischen High-level Design (Architektur) sowie Mid-level Design (UML Klassen- und Sequenzdiagramme) sowie Detaildesign (Detaillierte Beschreibung von einigen Schlüsselklassen) unterschieden. Für diese kleine Änderung, muss diese Unterscheidung aber nicht gemacht werden. Jedoch wollen wir explizit zwischen Statik, Dynamik und Logik zu unterscheiden.

5.1 Statik

An dieser Stelle sollten die statischen Aspekte, zum Beispiel mit Hilfe von UML Klassendiagrammen oder Paketdiagrammen beschrieben werden.

5.2 Dynamik

An dieser Stelle sollten die dynamische Aspekte, zum Beispiel mit Hilfe von UML Sequenz-, Aktivitäts- oder Zustandsdiagrammen spezifiziert werden.

5.3 Logik

An dieser Stelle können noch logische Aspekte, wie zum Beispiel logische Einschränkungen spezifiziert werden. Hierzu kann zum Beispiel OCL verwendet werden.