Definition: Bei der statischen Softwareanforderungsanalyse handelt es sich um die automatisierte Prüfung von Softwareanforderungen auf Qualität und Messung.
Hintergrund
Bei der Softwareanforderungsanalyse (oder Backlog-Analyse) handelt es sich um eine Reihe von Techniken zur Ableitung von Erkenntnissen aus schriftlichen Softwareanforderungen benutzergeschichten. Benutzergeschichtensind schriftliche Aussagen, die den funktionalen Bedarf und Zweck der zu entwickelnden Software beschreiben; was den Benutzern einen Mehrwert bietet. Die Autoren von benutzergeschichten schreibt sie normalerweise aus der Perspektive eines Geschäftsanwenders. Es ist dann die Aufgabe des Entwicklers, die Anforderungen zu lesen und zu entwerfen und zu programmieren, um diese Anforderungen zu erfüllen. Der schriftliche Anforderungen oder benutzergeschichten sind also ein Kommunikationsmittel. In agilen Teams ist die User Story ein Platzhalter für ein Gespräch, dennoch muss sie eine ausreichende Bedeutung vermitteln, damit der Leser ohne Unklarheiten angemessen verstehen kann, welche Funktionalität benötigt wird. Wenn beim Wortlaut der Geschichten schlechte Entscheidungen getroffen werden, kann die Kommunikation zu Fehlkommunikation führen. Schlechte Formulierungen führen zu Missverständnissen, die zu Design- und Codierungsfehlern führen. Diese Fehler führen zu Nacharbeiten und/oder Fehlern. Fehler, die erst später im Entwicklungszyklus entdeckt werden, können viel Mehrarbeit verursachen und sind daher sehr kostspielig.
Statischer Anforderungsanalysator
ScopeMaster® ist ein Textanalysetool, das dafür entwickelt wurde Testen Sie schriftliche Anforderungen für Qualität und Einblick. Es mag seltsam klingen, dass eine Maschine Anforderungen testen kann, aber sie kann. (Genau dafür wurde ScopeMaster® entwickelt.)
Bereits in den 1990er Jahren schuf die NASA das ARM-Tool Das wurde für grundlegende Texttests neu erstellt. Heutzutage steht uns mehr Rechenleistung zur Verfügung und wir sind in der Lage, anspruchsvollere Anforderungstests durchzuführen. IBM hat kürzlich 2018 das veröffentlicht IBM Anforderungsqualitätsassistent für Türen Hierbei handelt es sich um eine trainierbare Erweiterung ihres Anforderungsmanagement-Tools, das in schriftlichen Anforderungen auf häufige Sprachfehler prüft. ScopeMaster® geht weit über diese frühen Tools hinaus und kombiniert die Verarbeitung natürlicher Sprache (eine detaillierte Analyse des Wortlauts und der Satzstruktur) mit 15 weiteren Analyseebenen, um Einblick in die Qualität und den Umfang der schriftlichen Anforderungen zu geben.
Erkenntnisse aus der Anforderungsanalyse
Die durch Analyse erreichbaren Erkenntnisse Individuelle Anforderungen beinhaltet:
- Identifizieren Sie Wortarten (Substantive, Verben, Adjektive)
- Verbindungen zwischen Wörtern (Abhängigkeitskette)
- Absicht aus Sicht der Datenmanipulation.
- Mehrdeutigkeit Dies wird dadurch verursacht, dass keine für die Softwarekonstruktion geeignete Sprache verwendet wird.
- Größenmessung durch Erkennen der Datenbewegungsabsicht
- Muster der Wortverwendung
- Verwendung und Missbrauch von Wortarten
Durch Analyse erreichbare Erkenntnisse Anforderungssätze
- Konsistenz bei der Benennung von Substantiven
- Vervielfältigung der Absicht
- Potenzial fehlen Anforderungen
- Datenwörterbuch
Statische Anforderungsanalyse und statische Codeanalyse
Immer mehr Entwickler nutzen die statische Codeanalyse als Technik zum frühzeitigen Testen von Code. Diese Tests werden Teil der täglichen Aktivität bei der Vorbereitung von Software für die Bereitstellung. Die statische Codeanalyse hilft dabei, potenzielle Ursachen von Problemen zu identifizieren, bevor sie anderen (Testern, Benutzern) ausgesetzt werden, sodass sie schnell und effizient gelöst werden können. Das Gleiche gilt für Statische AnforderungsanalyseEs ist eine sehr nützliche Technik, um Probleme zu finden und zu beheben, bevor sie anderen im Team bekannt werden.
Prüfanforderungen für Qualität
Hier bei Scopemaster haben wir die Anleitung von geprüft IIBA, Wissensschatz von Wirtschaftsanalysten, IEEE-Standards, INCOSE, Anforderungs-Engineering-Experten und Agile-Experten für die Kategorien und Erläuterungen von Anforderungsqualitätsattributen. Wie sieht eine gute Softwareanforderung aus? Wir haben in allen Quellen Wert und Weisheit gefunden.
Kontinuierliche Integration
Die meisten statischen Codeanalysen werden Teil eines kontinuierlichen Build-Prozesses. Diese Idee kann auch auf Anforderungen angewendet werden, mit der Ausnahme, dass jedes Mal, wenn sich eine Anforderungserklärung ändert, diese erneut auf Eindeutigkeit und (im Vergleich zu anderen User Stories) auf Konsistenz, Duplikate und Auslassungen im gesamten Anforderungssatz überprüft werden sollte.
Visueller Einblick
Eine der leistungsstärksten Funktionen der automatisierten Anforderungsanalyse ist die dynamische automatische Erstellung von Anwendungsfallmodelldiagrammen, die eine visuelle Möglichkeit zur Interpretation der Bedeutung Ihrer User Stories darstellen.
Anforderungsanalysetool
ScopeMaster ist das einzige verfügbare Tool für Produktbesitzer, Geschäftsanalysten und Lösungsdesigner, das all diese Aufgaben erfüllt. Tatsächlich führt unser engster Konkurrent nur zwei der über 23 wertvollen Analyseaktivitäten durch, die ScopeMaster durchführt.
- Funktionale Absichtserkennung (mittels NLP)
- Objekterkennung
- Benutzererkennung
- Objektkonsistenzanalyse
- Benutzerkonsistenzanalyse
- CRUD-Analyse
- Erkennung fehlender Anforderungen
- Erkennung doppelter Anforderungen
- Modellierung von Anwendungsfällen
- Automatische Generierung von Klassendiagrammen
- Anforderungsqualitätsprüfung
- Anforderungen stellen Qualitätsprüfungen ein
- Qualitätsbewertung der Anforderungen
- Verfolgung der Anforderungsqualität (im Zeitverlauf).
- Qualitätsprüfung der Anforderungen
- COSMIC Funktionale Größenschätzung automatisiert
- IFPUG-Funktionsgrößenschätzung teilweise automatisiert
- Einfache Funktion Punktgrößenschätzung teilweise automatisiert
- Empfohlene automatische Generierung des Sequenzdiagramms
- Automatische Generierung der Testschritte
- Testet die automatische Flow-Generierung
- Pseudo-Testskripte werden automatisch generiert.
- Erkennung nichtfunktionaler Anforderungen.