4 Teil 5: V-Modell-Referenz Produkte
4.3 Produkte
4.3.8 Systemspezifikationen
4.3.8.4 SW-Spezifikation
Vorgehensbaustein |
Sinn und Zweck
Die SW-Spezifikation beschreibt alle funktionalen und nicht-funktionalen Anforderungen an ein SW-Element (SW-Einheit, SW-Komponente oder SW-Modul). Zur Erstellung der Spezifikation werden die Anforderungen aus den Spezifikationen übergeordneter Systemelemente beziehungsweise SW-Elemente abgeleitet. Die Spezifikation dient als Vorgabe und Hilfsmittel für Entwurf und Dekomposition der SW-Architektur. Sollten im Laufe der weiteren Entwicklung des SW-Elements Änderungen nötig sein, ist zunächst immer die SW-Spezifikation anzupassen. Die Prüfspezifikation Systemelement definiert die Prüffälle zum Nachweis der Schnittstellen und Anforderungen der Spezifikation.
Wesentliche Inhalte der SW-Spezifikation sind die Beschreibung der Anforderungen an das SW-Element sowie die Festlegung der Schnittstellen, die es zu bedienen hat. Zusätzlich wird die Verfeinerung und Zuordnung von Anforderungen und Schnittstellen zu untergeordneten SW-Elementen beschrieben.
Im Rahmen der Anforderungsverfolgung wird sichergestellt, dass alle Anforderungen an das Element bei der Verfeinerung auf die nächste Hierarchieebene berücksichtigt werden. Die Erstellung der SW-Spezifikationen erfolgt Hand in Hand mit dem Architekturentwurf der SW-Einheiten. Zur Sicherstellung der Konsistenz zwischen Spezifikationen und Architektur ist der SW-Architekt verantwortlich für die Erstellung beider Produkte.
Anforderungen aus der SW-Spezifikation können sich auf die Spezifikation Logistische Unterstützung auswirken. Ebenso können Anforderungen der Logistik die SW-Spezifikation beeinflussen.
Wann ist das Produkt entscheidungsrelevant?
Entscheidungspunkt |
Wer ist beteiligt?
Verantwortlich |
|
Mitwirkend |
Womit kann das Produkt erstellt werden?
Werkzeuge |
|
Methoden |
Welche Vorlagen sind verfügbar?
Vorlagen |
Produktvorlage wird generiert. |
Beispielprodukte |
Wie erstellt man das Produkt?
Aktivität |
SW-Spezifikation erstellen |
Bei der Spezifikation sind für das jeweils zu beschreibende SW-Element (SW-Einheit, SW-Komponente oder SW-Modul) die Anforderungen und Schnittstellen festzulegen und präzise zu beschreiben.
Zur Erstellung der SW-Spezifikation werden - analog zur Systemspezifikation - Schnittstellen und nicht-funktionalen Anforderungen an das SW-Element bestimmt. Daran schließen sich parallel die Verfeinerung und Zuordnung dieser Schnittstellen und Anforderungen, basierend auf der übergeordneten SW-Einheit beziehungsweise SW-Komponente, an. Die Designentscheidungen sind in der SW-Spezifikation zu dokumentieren. Sofern sich die erarbeitete Realisierung als tragfähig erweist, kann zur Verfolgung der Anforderungen übergegangen werden. Trifft dies nicht zu, ist die Realisierung zu überarbeiten.
Anforderungen werden üblicherweise in Textform beschrieben. Die Spezifikation der Schnittstelle kann unterschiedlich formalisiert werden. Üblich ist die Verwendung von grafischen Beschreibungsmethoden in Kombination mit erklärendem Text.
Folgende Teilschritte sind dabei enthalten:
- Anforderungsverfolgungsüberblick erstellen
- Schnittstellen und nicht-funktionale Anforderungen identifizieren
- Schnittstellen und nicht-funktionale Anforderungen verfeinern
- Schnittstellen und nicht-funktionale Anforderungen zuordnen
Welche Abhängigkeiten hat das Produkt?
Erzeugt durch |
Systementwurf |
Erzeugt |
Das Produkt erzeugt keine weiteren Produkte. |
Hängt inhaltlich ab von |
Systementwurf Systemspezifikationen |
4.3.8.4.1 SW-Element-Überblick
Der SW-Element-Überblick gibt einen groben Überblick über das zu realisierende SW-Element. Aufgaben und Ziele des SW-Elements werden überblickartig beschrieben. Zum besseren Verständnis wird die Rolle des Elements innerhalb des Systems, eines Unterstützungssystems oder einer SW-Einheit dargestellt.
4.3.8.4.2 Schnittstellenbeschreibung
Eine Schnittstelle repräsentiert die Grenze eines SW-Elements zu seiner Umgebung. Sie beschreibt, welche Daten an der Elementgrenze ausgetauscht werden, und die logischen Abhängigkeiten. Damit definiert die Schnittstelle die Dienste, die vom SW-Element zu erbringen sind. Ein SW-Element kann mehrere Schnittstellen besitzen.
In der Schnittstellenbeschreibung werden die funktionalen Anforderungen an das SW-Element gesammelt, alle Schnittstellen festgelegt und im Zusammenhang dargestellt. Zusammen mit den nicht-funktionalen Anforderungen enthält die Schnittstellenbeschreibung die notwendigen Informationen zur Entwicklung des SW-Elements. In der Schnittstellenbeschreibung werden neben den Schnittstellen zu anderen SW-Elementen auch die Schnittstellen zur Umgebung beschrieben, wie die grafische Benutzerschnittstelle oder Schnittstellen zu Unterstützungssystemen.
Die Beschreibung der funktionalen Schnittstelle teilt sich in die Beschreibung ihres statischen und dynamischen Verhaltens auf. Das statische Verhalten legt die Struktur der Aufrufe fest, über die Dienste des SW-Elements genutzt werden können. Zur Beschreibung dienen insbesondere Methodensignaturen und Definitionen von Datentypen. Das dynamische Verhalten bestimmt die Reihenfolge der Aufrufe und die logischen Abhängigkeiten der übermittelten Daten. Zur Beschreibung des dynamischen Verhaltens werden häufig Ablaufdiagramme (Sequenzdiagramme, Message Sequence Charts) oder Zustandübergangsdiagramme verwendet.
Grundlage für die Schnittstellenbeschreibung sind die Schnittstellenübersicht der Architektur sowie die Schnittstellenrealisierungen der Systemspezifikationen übergeordneter Systemelemente. Die Schnittstellenbeschreibung sollte sich daran orientieren, ob eine Wiederverwendung bereits bestehender SW-Elemente möglich ist. Darüber hinaus ist bei der Beschreibung der Schnittstellen darauf zu achten, dass die Schnittstellen stabil sind und damit eine möglichst lange Nutzung des SW-Elements möglich wird.
4.3.8.4.3 Nicht-funktionale Anforderungen
Neben den funktionalen Anforderungen hat ein SW-Element eine Reihe nicht-funktionaler Anforderungen zu erfüllen. Zu den häufig geforderten nicht-funktionalen Anforderungen speziell an ein SW-Element gehören beispielsweise Benutzbarkeit, Antwortzeit, Transaktionsrate, Vertraulichkeit oder Datenintegrität.
Die nicht-funktionalen Anforderungen werden im Detail beschrieben und mit konkret geforderten Werten belegt. Die für das SW-Element relevanten nicht-funktionalen Anforderungen werden aus den Spezifikationen der übergeordneten Systemelemente beziehungsweise SW-Elemente abgeleitet.
4.3.8.4.4 Schnittstellenrealisierung
In der Schnittstellenrealisierung erfolgt die Verfeinerung der funktionalen Anforderungen aus der Schnittstellenbeschreibung. Die Anforderungen werden konkretisiert, verfeinert und den SW-Elementen der darunter liegenden Hierarchieebene zugeordnet.
Grundlage der Schnittstellenrealisierung ist die SW-Architektur der übergeordneten SW-Einheit . SW-Komponenten und SW-Module der verschiedenen Hierarchieebenen werden dort im Rahmen der Dekomposition identifiziert.
4.3.8.4.5 Verfeinerung nicht-funktionaler Anforderungen
Die Verfeinerung nicht-funktionaler Anforderungen erfolgt parallel zur Verfeinerung der funktionalen Anforderungen in der Schnittstellenrealisierung. Die nicht-funktionalen Anforderungen werden konkretisiert, verfeinert und den SW-Elementen der darunter liegenden Hierarchiestufe zugeordnet.
So kann beispielsweise eine in der Schnittstellenbeschreibung geforderte Antwortzeit von höchstens 0,5 Sekunden auf zwei SW-Elemente mit der Anforderung von je 0,25 Sekunden verfeinert werden.
Die verfeinerten Anforderungen bleiben als eigenständige Anforderungen bestehen oder werden in die Schnittstellenrealisierung integriert.
4.3.8.4.6 Anforderungsverfolgung
Im Rahmen der Anforderungsverfolgung wird die Zuordnung der funktionalen und nicht-funktionalen Anforderungen an das SW-Element auf die verfeinerten Anforderungen und auf untergeordnete SW-Elemente zusammenfassend dargestellt. Grundlage sind die Ergebnisse der Schnittstellenrealisierung sowie der Verfeinerung nicht-funktionaler Anforderungen. Die bidirektionale Verfolgbarkeit (d.h. von übergeordneten zu untergeordneten SW-Elementen und umgekehrt) muss dabei sichergestellt werden. Die Darstellung kann beispielsweise anhand einer Matrix erfolgen.