In diesem Artikel werden die Vorteile und Nachteile unterschiedlicher formaler, semi-formaler und informeller Spezifikationstechniken herausgestellt. Verglichen werden Z-Notation, Aktivitätsdiagramm, Pseudocode und informelle Spezifikation.
Z-Notation
Vorteil: Die in Z-Notation erstellte Spezifikation ist formal prüfbar und könnte zum Beispiel im Rahmen der Entwicklung für automatisierte Tests verwendet werden.
Nachteil: Ein genereller Nachteil formaler Spezifikation ist die aufwändige Ermittlung und die erschwerte Lesbarkeit.
Fazit: Für den gegebenen Sachverhalt erscheint diese Form der Spezifikation zu aufwändig, da es sich um kein hochkritisches System (z.B. Flugzeugsteuerung) handelt. Der konkrete Ablauf der Aktivität ist nicht erkennbar.
Aktivitätsdiagramm
Vorteil: Der Ablauf der Aktivitäten ist klar erkennbar und kann auch ohne große Einarbeitungszeit verstanden werden.
Nachteil: Ein- und Ausgabewerte sind im Gegensatz zur Z-Notation nicht spezifiziert.
Fazit: Da der beschriebene Sachverhalt insbesondere den Ablauf der möglichen Aktivitäten beschreibt, weitere Details (z.B. Spezifikation einer Bankkarte, PIN etc.) jedoch nicht, ist das Aktivitätsdiagramm zur Beschreibung dieses Sachverhaltes am besten geeignet.
Pseudocode
Vorteil: Durch die fehlenden Vorgaben bezüglich der Syntax kann der Pseudocode bei entsprechenden Kenntnissen schon sehr nah an der geplanten Implementierungssprache liegen und damit die Umsetzung in lauffähigen Code ohne weitere Zwischenschritte erleichtern.
Nachteil: Durch die fehlenden Syntax-Vorgaben sind eigene Konventionen erforderlich um die Spezifikation zweifelsfrei festhalten zu können (z.B. steht = für eine Zuweisung oder einen Vergleich?)
Fazit: Pseudocode ist für diese Anforderung recht gut geeignet, da die Komplexität überschaubar ist und damit ein Code-naher Ansatz im Rahmen der Implementierung Arbeit erspart. Im Gegensatz zum Aktivitätsdiagramm ist der Ablauf des Prozesses jedoch nicht so einfach zu erschließen.
Informelle Spezifikation
Vorteil: Ohne Kenntnis einer speziellen Syntax und Semantik zu verstehen.
Nachteil: Sprachgebrauchsbedingte Unschärfen führen zu Missverständnissen.
Fazit: Auch wenn das beschriebene System noch recht überschaubar ist, ist die informelle Spezifikation bereits hier unpräzise. Auch die Anschaulichkeit ist zum Beispiel beim Aktivitätsdiagramm deutlich besser.