Funktionale Spezifikation - Functional specification

Systems-Engineering-Modell der Spezifikation und Entwicklungsstufen. Während der Systementwicklung werden eine Reihe von Spezifikationen erstellt, um das System auf verschiedenen Detaillierungsebenen zu beschreiben. Diese programmspezifischen Spezifikationen bilden den Kern der Konfigurationsbasislinien. Wie hier gezeigt, beziehen sich diese Basislinien nicht nur auf verschiedene Ebenen innerhalb der Systemhierarchie, sondern auch auf verschiedene Phasen des Entwurfsprozesses. Hinweis: Im obigen Bild gibt es einen kleinen (und ironischen) Tippfehler. SI&T ist "System Integration and Test" nicht "System Integration and Text".

Eine funktionale Spezifikation (auch Functional Spec , Specs , Functional Specification Document (FSD) , Functional Requirements Specification ) in der Systemtechnik und Softwareentwicklung ist ein Dokument, das die Funktionen festlegt, die ein System oder eine Komponente erfüllen muss (oft Teil einer Anforderungsspezifikation) (ISO / IEC / IEEE 24765-2010).

Die Dokumentation beschreibt typischerweise, was der Systembenutzer benötigt sowie gewünschte Eigenschaften von Ein- und Ausgängen (zB des Softwaresystems ). Eine funktionale Spezifikation ist die eher technische Antwort auf ein passendes Anforderungsdokument, zB das Product Requirements Document "PRD". Damit greift es die Ergebnisse der Anforderungsanalyse auf . Bei komplexeren Systemen verschachteln sich typischerweise mehrere Ebenen von Funktionsspezifikationen, zB auf Systemebene, auf Modulebene und auf Ebene der technischen Details.

Überblick

Eine funktionale Spezifikation definiert nicht das Innenleben des vorgeschlagenen Systems; es beinhaltet nicht die Spezifikation, wie die Systemfunktion implementiert wird. Stattdessen konzentriert es sich darauf, was verschiedene externe Agenten (z. B. Personen, die das Programm verwenden, Computerperipheriegeräte oder andere Computer) "beobachten", wenn sie mit dem System interagieren.

Eine funktionale Anforderung in einer funktionalen Spezifikation könnte wie folgt lauten:

Wenn der Benutzer auf die Schaltfläche OK klickt, wird der Dialog geschlossen und der Fokus wird auf das Hauptfenster in dem Zustand zurückgesetzt, in dem er sich vor der Anzeige dieses Dialogs befand.

Eine solche Anforderung beschreibt eine Interaktion zwischen einem externen Agenten (dem Benutzer ) und dem Softwaresystem. Wenn der Benutzer durch Klicken auf die Schaltfläche OK Eingaben in das System eingibt, antwortet das Programm (oder sollte darauf reagieren), indem es das Dialogfenster mit der Schaltfläche OK schließt.

Themen zur funktionalen Spezifikation

Zweck

Es gibt viele Zwecke für funktionale Spezifikationen. Einer der Hauptzwecke bei Teamprojekten besteht darin, eine Art Teamkonsens darüber zu erzielen, was das Programm erreichen soll, bevor die zeitaufwändigere Anstrengung unternommen wird, Quellcode und Testfälle zu schreiben , gefolgt von einer Phase des Debuggens . In der Regel wird ein solcher Konsens nach einer oder mehreren Überprüfungen durch die Beteiligten des vorliegenden Projekts erzielt, nachdem ein kosteneffizienter Weg ausgehandelt wurde, um die Anforderungen zu erfüllen, die die Software erfüllen muss.

  1. Damit die Entwickler wissen, was sie bauen sollen.
  2. Damit die Tester wissen, welche Tests ausgeführt werden sollen.
  3. Damit die Beteiligten wissen, was sie bekommen.

Prozess

Im geordneten industriellen Software-Engineering-Lebenszyklus ( Wasserfallmodell ) beschreibt die funktionale Spezifikation, was umgesetzt werden muss. Das nächste Systemarchitekturdokument beschreibt, wie die Funktionen unter Verwendung einer ausgewählten Softwareumgebung realisiert werden. In der nicht-industriellen, prototypischen Systementwicklung werden Funktionsspezifikationen typischerweise nach oder als Teil der Anforderungsanalyse geschrieben .

Wenn das Team zustimmt, dass ein Konsens über die funktionale Spezifikation erreicht wird, wird die funktionale Spezifikation normalerweise als "abgeschlossen" oder "abgemeldet" erklärt. Danach schreibt das Softwareentwicklungs- und Testteam in der Regel Quellcode und Testfälle unter Verwendung der funktionalen Spezifikation als Referenz. Während des Tests wird das Verhalten des Programms mit dem erwarteten Verhalten verglichen, das in der funktionalen Spezifikation definiert ist.

Methoden

Eine beliebte Methode zum Schreiben eines Dokuments mit funktionalen Spezifikationen umfasst das Zeichnen oder Rendern von einfachen Drahtmodellen oder genauen, grafisch gestalteten UI-Screenshots. Nachdem dies abgeschlossen ist und die Bildschirmbeispiele von allen Beteiligten genehmigt wurden, können grafische Elemente nummeriert und für jede Nummer auf dem Bildschirmbeispiel schriftliche Anweisungen hinzugefügt werden. Zum Beispiel kann ein Anmeldebildschirm das Benutzernamenfeld mit der Beschriftung „1“ und das Passwortfeld mit der Beschriftung „2“ aufweisen, und dann kann jede Nummer schriftlich zur Verwendung durch Softwareingenieure und später für Beta-Testzwecke angegeben werden, um sicherzustellen, dass die Funktionalität unverändert ist beabsichtigt. Der Vorteil dieser Methode besteht darin, dass an die Bildschirmbeispiele unzählige zusätzliche Details angehängt werden können.

Beispiele für Funktionsspezifikationen

Arten von Softwareentwicklungsspezifikationen

Siehe auch

Verweise

Externe Links