Spezifikation von Anforderungen Grundlagen Anforderung Bedingung oder Fhigkeit
Spezifikation von Anforderungen • Grundlagen: – Anforderung: Bedingung oder Fähigkeit, die eine Software erfüllen oder besitzen muss, um einen Vertrag zu erfüllen – Anforderungsspezifikation: Sammlung aller Anforderungen an eine Software – Anforderungstechnik (Requirements Engineering): • Systematisches Erfassen, Beschreiben und Prüfen von Anforderungen an Software • Verstehen und Beschreiben, was die Kunden wollen • Motivation – Kostensenkung durch Senkung der Fehlerkosten (Anforderungsfehler) Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 1
Spezifikation von Anforderungen • Merkmale einer guten Spezifikation – – – – – Adäquatheit Vollständigkeit Widerspruchsfreiheit Verständlichkeit Eindeutigkeit Prüfbarkeit Kundenorientierung Methodisches und zielgerichtetes Vorgehen Verwendung geeigneter Mittel Integration von Erstellung und Prüfung von Anforderungen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 2
Der Spezifikationsprozess • Ziele: – Gewinnung von Anforderungen – Darstellung von Anforderungen – Prüfung der Anforderungen • Vorgehensweise: – iterativ – ständiger und enger Kontakt mit dem Auftraggeber Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 3
Der Spezifikationsprozess Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 4
Dokumentation von Anforderungen • Klassifikation – Projektanforderungen – Produktanforderungen • funktionale Anforderungen • Attribute • nicht funktionale Anforderungen – Leistungsanforderungen – Qualitätsanforderungen – Randbedingungen • Unterscheidung in – Muss-Anforderungen – Soll-Anforderungen – Wunsch-Anforderungen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 5
Dokumentation von Anforderungen • Inhalt und Aufbau einer Spezifikation – Funktionaler Aspekt • • Daten: Struktur, Verwendung, Erzeugung, Speicherung, Übertragung, Veränderung Funktionen: Ausgabe, Verarbeitung, Eingabe v. Daten Verhalten: sichtbares, dynamisches Systemverhalten, Zusammenspiel der Funktionen Fehler: Normalfall, Fehlerfall – Leistungsaspekt • Datenmengen • Verarbeitungszeiten – Qualitätsaspekt: • Zuverlässigkeit • Bedienbarkeit – Randbedingungsaspekt • • Schnittstellen Normen, Gesetze Datenschutz Vorgaben des Auftraggebers Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 6
Gewinnung von Anforderungen • Probleme – – Unterschiedliche Vertreter des Kunden haben unterschiedliche Vorstellungen Uneinheitliche Begriffsbildung Kunde kann seine Vorstellung nicht formulieren Kunde weiß überhaupt nicht so genau, was er will • Techniken – – – – Begriffe klären in Glossar Soll-Prozessabläufe untersuchen Anwendungsszenarien bilden und durchspielen Anwendungsbereich modellieren „Interviews“ Fragebogen gemeinsame Arbeitstagungen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 7
Darstellung von Anforderungen • Arten – Deskriptive Darstellung: Das zu spezifizierende System ist ein schwarzer Kasten. Die Anforderungen werden durch Beschreibung der Zusammenhänge zwischen den geforderten Resultatdaten und den gelieferten Eingabedaten dargestellt. – Konstruktive Darstellung: Modellierung des Systems als Menge interagierender Komponenten. • Vorteile: – anschaulich – Zerlegung in überschaubare Teilaufgaben – Modell ist bereits idealisierte Lösung • Nachteil: – Modellierung richtet sich zu stark an Implementierung – Übernahme der Lösungsstruktur von der Anforderungsstruktur Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 8
Darstellung von Anforderungen • Spezifikationsmethoden – – – Spezifikation mit natürlicher Sprache Algebraische Spezifikation Strukturierte Analyse (datenflussorientiert) Verhaltensspezifikation mit Automaten objektorientierte Spezifikation mit Anwendungsfällen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 9
Prüfung von Anforderungen • Inhalt – Feststellen der Abweichungen – Klären von • • Fehlern Lücken Unklarheiten Mehrdeutigkeiten – Validierung: Prüfung auf Adäquatheit, Vollständigkeit, Widerspruchsfreiheit (s. o. ) • Beteiligte – Entwickler – Vertreter des Kunden Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 10
Prüfung von Anforderungen • Zeitpunkt – nach Fertigstellung einer ersten Version – Zwischenprüfungen bei komplexen Spezifikationen • Verfahren – – Reviews Simulation Prototypen Tools Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 11
- Slides: 11