140 likes | 252 Views
REQUIREMENTS ENGINEERING. Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent : Prof. Dr . phil . Manfred Thaller WS 2010/11 Referentin: Sanja Wiechmann. Gliederung. Was ist Requirements Engineering?
E N D
REQUIREMENTS ENGINEERING Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil. Manfred Thaller WS 2010/11 Referentin: Sanja Wiechmann
Gliederung • Was ist Requirements Engineering? • Erfolgsfaktoren für Projekte in der Projektentwicklung • Risiken im Requirements Engineering • Mögliche Lösungen • Vertragliche Regelungen • Was ist eine Anforderung? • Sichten auf Anforderungen • Arten von Anforderungen
Was ist Requirements Engineering? • Wörtlich übersetzt: Anforderungserhebung • RequirementsEngineering (RE) ist das disziplinierte und systematische Vorgehen zur Ermittlung, Spezifikation, Analyse, Vereinbarung, Validierung und Verwaltung von Anforderungen, um Bedürfnisse und Ziele in ein Produkt umzusetzen • Anforderungsdefinition (Requirements-Definition) • Anforderungsverwaltung (Requirements-Management) • Unterschiedlichste Anwendungsgebiete: • Software und IT • Hardware • Systemtechnik und Serviceentwicklung
Bedient sich Erfahrungen aus der Systemtechnik, Psychologie, Betriebswirtschaftslehre, Marketing, Produktmanagement und Informatik • Ziele werden konkretisiert, Wünsche geweckt und Realitäten geschafften • Ein Produkt ist dann erfolgreich, wenn es den Bedürfnissen seiner Benutzer und seiner Umgebung gerecht wird • Anforderungen kommunizieren diese Bedürfnisse • RE ist demnach die Disziplin, die die Behandlung von Anforderungsprozessen über den gesamten Lebenszyklus des Produkts hinweg umfasst
Erfolgsfaktoren für Projekte in der Projektentwicklung • Ergebnisorientierte Vorgaben • Zielorientierte Prozesse • Kompetentes Produkt- und Projektmanagement • Standardisierte und optimierte Infrastruktur • Fokus auf Anforderungen, Änderungen und Risiken im Projekt
Risiken im RE • Fehlende Anforderungen • Vor Beginn der Entwicklung muss genau geklärt werden, was der Kunde/Benutzer will, dabei ist nicht nur das Hauptziel von Bedeutung, sondern auch Randbedingungen und Qualitätsanforderungen • Eine konkrete Definition der Bedürfnisse • Falsche Anforderungen • Falsche Formulierung oder unklare Zielsetzung führen zu unbefriedigenden Ergebnissen • Vage, ungenaue Beschreibungen, Widersprüche, Lücken und natürliche Denkfehler • Zu stark vereinfachte oder oberflächliche Spezifikationen führen im Ergebnis zu fehlender oder falscher Funktionalität • Sich ändernde Anforderungen
Mögliche Lösungen • Unvoreingenommene Tester • Anforderungen immer kundenseitig absegnen lassen • Klare Trennung von Kundenanforderung und Lösungsspezifikation • Immer strikt an die Vorgaben des Kunden halten • Mögliche Ausnahmen und Sonderfälle frühzeitig besprechen • Feststellen, wer direkt mit dem Programm arbeiten muss • Änderungswünsche einkalkulieren
Vertragliche Regelungen • Vorab sollten folgende Punkte vertraglich geregelt werden • Anforderungsqualität • Mitarbeit des Kunden • Änderungsmanagement • Abstimmungsgespräche • Eskalationsmöglichkeiten
Was ist eine Anforderung? • Einfach gesagt: Der Wunschzettel des Kunden • Genauer: Die Anforderung beschreibt, was der Kunde/Benutzer vom Produkt erwartet • Bedingungen • Attribute • Ziele • Nutzen • usw. • Anforderungen müssen auf ihre Machbarkeit überprüft werden • RE hat demnach die Aufgabe, verschiedene Sichtweisen und Interessen unter einen Hut zu bringen
Sichten auf Anforderungen • Marktanforderung • Anforderungen aus der Sicht des Kunden • Oft Änderungen an Bestehendem • Genaue Abstimmung der Bedürfnisse und Nutzen • Produktanforderungen • Anforderungen an ein Produkt aus Sicht der Realisierungen einer späteren Lösung • Beschreiben, was verschiedene Benutzer mit dem Produkt machen können und wie Marktanforderungen und Kundenbedürfnisse in ein Produkt umgesetzt werden • Definition des Lösungsraums und der Prioritäten • Komponentenanforderungen • Anforderungen an eine Komponente des Produkts • Wie verbesserte diese Komponente das Ergebnis (Produkt) • Rekursive Verfeinerung der Produktanforderung
Ergebnis aus Vertrag oder Von Verhandlungen Warum? Marktanforderungen Problemraum Analyse der Markt- Anforderungen und Lösungsmodell Was? Produktanforderungen Lösungsraum Abbildung auf konkrete Produktkomponenten, die implementiert werden Wie? Komponentenanforderungen
Arten von Anforderungen Anforderungen Funktionale Anforderung Qualitätsanforderungen • Randbedingungen • Kosten • Marketing • Durchlaufzeit • Vertrieb und Verteilung • Organisation • Dokumentation • Benutzersicht • Benutzerschnittstelle • Anwendungsfälle • Dienstleistungen • Benutzersicht • Performanz • Sicherheit • Benutzbarkeit • Entwicklungssicht • Architektur • Lastbalancierung • Stromversorgung • Entwicklungssicht • Testbarkeit • Wartbarkeit • Portierbarkeit
Quelle: Christof Ebert: Systematisches Requirements Engineering – Anforderungen ermitteln, spezifizieren, analysieren und verwalten. Heidelberg 2010.