TestmanagementChanging the world one bug after amother…
Stage: Requirements
Eine Anforderung/Requirement ist eine benötigte Eigenschaft oder Fähigkeit, die die zu erstellende Software erfüllen muss.
Meist erhebt ein Businessanalyst / Systemanalyst die Anforderungen und erfasst sie in dem System zur Verwaltung der Anforderungen, idealerweise in dem System, das auch die Testfälle enthalten soll. Auf diese Weise wird zugleich eine gewünschte Integration der Daten erreicht und Basis gelegt für eine Traceability, dem Nachweis, dass Anforderungen durch Testfälle abgedeckt sind.
Ziel einer Anforderungsspezifikation, z.B. Lastenheft, Pflichtenheft oder Fachkonzept, ist es, Anforderungen so zu formulieren, dass zwischen Auftragnehmer und Auftraggeber ein gemeinsames Verständnis über das zu entwickelnde System geschaffen wird.
Das Lastenheft ist Bestandteil einer Durchführbarkeitsstudie. Lastenhefte sind weniger detailliert als Pflichtenhefte und werden zeitlich früher erstellt.
Im Rahmen einer Ausschreibung kann ein Fachkonzept als Teil des Lastenhefts verwendet werden.
Anforderungen werden in natürlicher Sprache erstellt, die durch Anwendungsfälle, meist durch UML-Diagramme, z.B. Use-Case-Diagramme, in Fachkonzepten, ergänzt werden. Für die UML-Modellierung stehen eine Reihe von kommerziellen und freien Programmen zur Verfügung.
Es sind neben den funktionalen Anforderungen auch nicht funktionale Anforderungen zu beschreiben. Zu den nicht funktionalen Anforderungen siehe ISO 25000. Anforderungen sind letztlich möglichst feingranular anzulegen. Sie sind zu reviewen bevor sie weiter im Prozess verwendet werden.
Da auch Anforderungen häufig geändert werden, ist eine Speicherung von Anforderungen in mehreren Systemen möglichst nicht vorzunehmen, um Redundanz und damit überflüssigen Änderungsaufwand zu vermeiden.
We support you in the Requirement Management Process with
Analysis of the requirements
Production of the necessary documentation
Integration of the Tools
Review-Process
U
Ziel der Businessanalyse (BA) ist es, Strukturen, Prinzipien und Geschäftsprozesse eines Unternehmens zu analysieren und Lösungen zu empfohlen, die es dem Unternehmen ermöglichen, diese Strukturen, Prinzipien und Prozesse zu verbessern. Beispiele für Lösungen sind optimierte Arbeitsabläufe, Änderungen der Aufbauorganisation, Einsatz von IT. Die Business-Analyse ermittelt dazu Anforderungen unterschiedlicher Personen oder Personengruppen (Stakeholder) innerhalb und außerhalb des Unternehmens. Personen, die Business-Analyse durchführen, werden als Business Analysts bezeichnet.
Das Lastenheft beschreibt die Gesamtheit der Anforderungen des Auftraggebers an die Lieferungen und Leistungen eines Auftragnehmers. Es ist z.B. im Software-Bereich das Ergebnis einer Anforderungsanalyse und damit ein Teil des Anforderungsmanagements.
Das Pflichtenheft beschreibt in konkreter Form, wie der Auftragnehmer die Anforderungen des Auftraggebers zu lösen gedenkt, das wie und womit. Der Auftraggeber beschreibt vorher im Lastenheft möglichst präzise die Gesamtheit der Forderungen, was er entwickelt oder produziert haben möchte.
Rückverfolgbarkeit/Traceability bezeichnet bei Produktentwicklungen die Verfolgbarkeit von Anforderungen über den gesamten Entwicklungsprozess. Auch, die Fähigkeit, zusammengehörige Teile von Dokumentation und Software zu identifizieren, insbesondere die Anforderungen mit den dazu gehörigen Testfällen.
Unified Modeling Language (UML) ist heute die dominierende Sprache für die Softwaresystem-Modellierung. Der UML-Diagrammtyp Use Case Diagramm oder Anwendungsfalldiagramm wird benutzt, um den User-View des UML-Modells zu definieren. Diese Benutzer-zentrierte Sicht soll allen Beteiligten an einem Softwareprojekt einen ersten und sehr groben Eindruck darüber geben, welche Funktionalitäten das geplante Softwaresystem realisieren soll und welche Benutzergruppen später mit ihm arbeiten werden. Dabei werden die Hauptfunktionalitäten des Softwaresystems Anwendungsfälle genannt und die Benutzergruppen des Systems als Akteure bezeichnet. Ein Use Case Diagramm erläutert grundsätzlich das Was (also die Funktionalitäten), aber niemals das Wie (also die technische Umsetzung) auf einem möglichst hohen Abstraktionslevel. Durch den hohen Abstraktionslevel und die einfache graphische Notation soll sichergestellt werden, dass nicht nur die Experten (meist Informatiker und Systemarchitekten) verstehen können, was das System können soll, sondern jeder, der sich für das Softwaresystem interessiert, also z.B. Auftraggeber, Manager, Designer und nicht zuletzt auch die späteren Benutzer des Systems.
Durchführbarkeitsstudie (Feasibility-Studie): Vorstudie zur Prüfung, ob ein bestimmtes Projekt überhaupt durchführbar und ob es technisch und ökonomisch sinnvoll ist. Der Leistungsumfang des durchzuführenden Projekts soll eingegrenzt werden.
Funktionale Tests: Die Fähigkeit eines Softwareprodukts beim Einsatz unter spezifizierten Bedingungen Funktionen zu liefern, die festgelegte und vorausgesetzte Erfordernisse erfüllen. Untermerkmale derFunktionalität nach ISO 9126/ISO 25000 sind: Angemessenheit, Richtigkeit, Interoperabilität, Sicherheit und Ordnungsmäßigkeit.
Zu den Nicht-funktionalen-Tests zählen nach ISO 9126/ISO 25000 folgende Qualitätsmerkmale: Zuverlässigkeit, Benutzbarkeit (Usability) Effizienz Wartbarkeit Übertragbarkeit
Review: Eine Bewertung eines Produkts oder eines Projektstatus. Ein Review dient dazu, Diskrepanzen zu den geplanten Ergebnissen aufzudecken und Verbesserungspotenziale zu identifizieren. Review ist ein Oberbegriff für Management Review, informelles Review, technisches Review, Code-Review, Inspektion und Walkthrough (Eine schrittweise Präsentation eines Dokuments durch den Autor, um Informationen zu sammeln und ein gemeinsames Verständnis des Inhalts aufzubauen).
Eine Anforderung ist eine vom Benutzer benötigte Eigenschaft oder Fähigkeit, die eine Software erfüllen oder besitzen muss, um einen Vertrag, einen Standard, eine Spezifikation oder ein anderes formales Dokument zu erfüllen.
Ein Anforderungsmanagement-Werkzeug ist ein unterstützendes Werkzeug für die Erfassung, Kommentierung und Verwaltung von Anforderungen und deren zugeordnete Attribute (z.B. Priorität, Know-how-Träger). Es ermöglicht die Rückverfolgbarkeit über die Anforderungsstufen bis ins Änderungsmanagement der Anforderungen. Einige Anforderungsmanagementwerkzeuge erlauben statischen Analysen (z.B. Konsistenzprüfungen und die Aufdeckung der Abweichung von definierten Anforderungsregeln).
Ein Anwendungsfall ist eine Folge von Vorgängen in einem Dialog zwischen einem Akteur und einer Komponente oder einem System, die zu einem konkretem Ergebnis führen. Ein Akteur kann dabei ein Benutzer sein, oder etwas, was Informationen mit dem System austauschen kann.
Als Leitfaden für Qualitätskriterien und die Bewertung von Softwareprodukten führt ISO/IEC 25000 in die Normenreihe 250xx ein und definiert das SQuaRE-Model. Software engineering – Software product Quality Requirements and Evaluation (SQuaRE). Die Norm ISO/IEC 25000 (alt ISO/IEC 9126) ist ein Modell, um Softwarequalität sicherzustellen. Qualitätsmerkmale: Funktionalität (Angemessenheit, Richtigkeit, Interoperabilität, Sicherheit, Ordnungsmäßigkeit) Zuverlässigkeit (Reife, Fehlertoleranz, Wiederherstellbarkeit) Benutzbarkeit (Verständlichkeit, Erlernbarkeit, Bedienbarkeit, Attraktivität) Effizienz (Zeitverhalten, Verbrauchsverhalten) Wartbarkeit (Analysierbarkeit, Modifizierbarkeit, Stabilität, Testbarkeit) Übertragbarkeit (Anpassbarkeit, Installierbarkeit, Koexistenz, Austauschbarkeit)
Die Software Requirements Specification (SRS) ist ein vom IEEE (Institute of Electrical and Electronic Engineers) veröffentlichter Standard zur Spezifikation von Software. Die SRS umfasst das Lastenheft wie auch das Pflichtenheft.