4 Teil 5: V-Modell-Referenz Produkte

4.3 Produkte

4.3.8 Systemspezifikationen

4.3.8.4 SW-Spezifikation

Vorgehensbaustein

SW-Entwicklung

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

Feinentwurf abgeschlossen

Wer ist beteiligt?

Verantwortlich

SW-Architekt

Mitwirkend

Ergonomieverantwortlicher, Prüfer, SW-Entwickler

Womit kann das Produkt erstellt werden?

Werkzeuge

Modellierungswerkzeug

Methoden

Systemanalyse

Welche Vorlagen sind verfügbar?

Vorlagen

Produktvorlage wird generiert.

Beispielprodukte

FWD:SW-Spezifikation TelApi

FWD:SW-Spezifikation TelData

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:

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.