Requirements Engineering (Anforderungstechnik)



Ähnliche Dokumente
Requirements Engineering I. Der Spezifikationsprozess!

Requirements Engineering Die Dinge von Anfang an richtig machen

12 Nicht-funktionale Anforderungen

17 Architekturentwurf Vorgehen und Dokumentation

15 Verwaltung von Anforderungen (Requirements Management)

Requirements Engineering I. Verwalten von Anforderungen!

Validierung und Verifikation!

Software Engineering. Dokumentation! Kapitel 21

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Einführung und Motivation

16 Architekturentwurf Einführung und Überblick

Was meinen die Leute eigentlich mit: Grexit?

FUTURE NETWORK REQUIREMENTS ENGINEERING

Validierung und Verifikation


Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Projektstart für Auftraggeber und Entscheider. Bern, 27. August 2013

1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell:

Agile Enterprise Development. Sind Sie bereit für den nächsten Schritt?

Requirements Engineering

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Anforderungen an die HIS

Übungsklausur vom 7. Dez. 2007

Software Engineering. 3. Analyse und Anforderungsmanagement

Requirements Engineering für IT Systeme

Das Persönliche Budget in verständlicher Sprache

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Alle gehören dazu. Vorwort

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwareanforderungsanalyse

Studieren- Erklärungen und Tipps

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Das Leitbild vom Verein WIR

Software-Qualität Ausgewählte Kapitel

Regeln für das Qualitäts-Siegel

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Agile Software Verteilung

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Klausur Softwaretechnik Feb. 2008

das usa team Ziegenberger Weg Ober-Mörlen Tel Fax: mail: lohoff@dasusateam.de web:

Projekt- Management. Landesverband der Mütterzentren NRW. oder warum Horst bei uns Helga heißt

Die Post hat eine Umfrage gemacht

SWE12 Übungen Software-Engineering

Verwendung des IDS Backup Systems unter Windows 2000

SysInventor. Jakobstr. 64 D Konstanz. Kontakt: Phone +49 (0) Fax +49 (0)

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Wie oft soll ich essen?

Antrag auf Pauschal-Förderung Aus dem Hamburger Selbsthilfe-Gruppen-Topf

Software Qualität: Übung 3

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

GPP Projekte gemeinsam zum Erfolg führen

Managements. Änderungsprozess. Wolfgang Witerzens, Manager 31. Januar 2008 ADVISORY

Agile Softwareentwicklung mit Scrum

Requirements Engineering I

Wir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Die Zeit ist reif. Für eine intelligente Agentursoftware.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Skills-Management Investieren in Kompetenz

Was ist Sozial-Raum-Orientierung?

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Umfrage zum Informationsbedarf im Requirements Engineering

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Führungstraining von Vroom und Yetton

Behindert ist, wer behindert wird

Risikomanagement in der Praxis Alles Compliance oder was?! 1. IT-Grundschutz-Tag

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Internet Explorer Version 6

Software Engineering in der Praxis

Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht

Anleitungen zum KMG- -Konto

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Projektmanagement durch Scrum-Proxies

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil.

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Algorithmische Kryptographie

Was beinhaltet ein Qualitätsmanagementsystem (QM- System)?

Pflichtenheft 1 Allgemeines 1.1 Nutzen

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Rechtliche Aspekte der Energieberatung

Requirements Engineering Ein Überblick

Leichte-Sprache-Bilder

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Bachelor Prüfungsleistung

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

6 Requirements Engineering Prozesse. 6.1 Hauptprozesse. Spezifikationsprozess Anforderungen... gewinnen analysieren und dokumentieren prüfen

Transkript:

5 Requirements Engineering Einführung 5.1 Was ist Requirements Engineering? Erste Näherung: Requirements Engineering (Anforderungstechnik) ist das systematische, disziplinierte und quantitativ erfassbare Vorgehen beim Spezifizieren (d.h. Erfassen, Beschreiben und Prüfen) sowie beim Verwalten von Anforderungen an Software. Ziel ist eine vollständige, eindeutige, widerspruchsfreie Spezifikation aller Anforderungen Typisch als erste Phase eines Projekts Riecht nach Papier und Bürokratie Wo sind die Menschen in diesem Prozess? Ist das Ziel überhaupt realistisch? Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-1 2001, 2004 by Martin Glinz. Alle Rechte vorbehalten. Reproduktion zum nicht kommerziellen Gebrauch mit Quellenangabe gestattet. Reproduktion - auch auszugsweise - zum kommerziellen Gebrauch nur mit schriftlicher Bewilligung des Verfassers gestattet.

Zweite Näherung Requirements Engineering (Anforderungstechnik) Verstehen und Beschreiben, was die Kunden wünschen oder brauchen. Eine menschenzentrierte Sicht Ziel: zufriedene Kunden Was sind Kunden? Warum wünschen oder brauchen? Warum nicht gleich programmieren? Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-2

Dritte Näherung Requirements Engineering (Anforderungstechnik) Spezifikation und Verwaltung von Anforderungen mit dem Ziel, das Risiko zu minimieren, dass Software entwickelt wird, welche den Kunden nicht nützt oder gefällt. Anforderungen schon bekannt? nein ja nicht spezifizieren Risiko tolerabel gering, dass der Kunde das entwickelte System nicht akzeptiert? nein ja nicht spezifizieren Anforderungsspezifikation notwendig Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-3

Spezifikation als Risikominimierung Wir haben keine Zeit für eine vollständige Spezifikation. Ist uns zu teuer! Bei agilem Vorgehen genügen grobe Stories vollständig. falscher Ansatz Richtige Frage: Wie viel müssen wir tun, damit das Risiko eine Größe annimmt, die wir bereit sind zu akzeptieren? Merkregel: Der Aufwand für das Requirements Engineering soll umgekehrt proportional zum Risiko sein, das man bereit ist, einzugehen. Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-4

5.2 Warum ist Requirements Engineering wirtschaftlich? Kosten für die Behebung von Fehlern......abhängig von ihrer Verweildauer in der Software 200 Relative Fehlerbehebungskosten 100 10 Spezifikation Entwurf Codierung Test Abnahme Betrieb Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-5

Requirements Engineering senkt die Fehlerkosten: Gesamtkosten Aufwand für Anforderungsspezifikation Fehlerkosten (während Entwicklung und Nutzung des Produkts) Richtig betriebenes Requirements Engineering ist wirtschaftlich. Die wirtschaftliche Wirkung von Requirements Engineering ist immer indirekt; das RE selbst kostet nur! Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-6

5.3 Qualitätsmerkmale Wie können die Fehlerkosten gesenkt werden? wenig Anforderungsfehler machen möglichst viele der dennoch gemachten Fehler möglichst früh finden Wir brauchen also ➀ eine gute Anforderungsspezifikation ➁ einen guten Spezifikationsprozess Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-7

Merkmale einer guten Anforderungsspezifikation Adäquatheit das beschreiben, was der Kunde will bzw. braucht Vollständigkeit alles beschreiben, was der Kunde will bzw. braucht Widerspruchsfreiheit sonst ist die Spezifikation nicht realisierbar Verständlichkeit für den Kunden und für die Informatiker Eindeutigkeit damit Fehler durch Fehlinterpretationen vermieden werden Prüfbarkeit feststellen können, ob das realisierte System die Anforderungen erfüllt Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-8

Merkmale eines guten Spezifikationsprozesses Kundenorientierung Methodisches und zielgerichtetes Vorgehen Verwendung geeigneter Mittel Integration von Erstellung und Prüfung von Anforderungen Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-9

5.4 Klassifikation von Anforderungen Verschiedene Arten von Anforderungen: Projektziele Termine Kosten Sachziele = Anforderungen an das Produkt Projektattribute Funktionale Anforderungen Attribute Leistungsanforderungen besondere Qualitäten Randbedingungen Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-10

Hinweise Statt von Attributen wird häufig von nicht-funktionalen Anforderungen gesprochen Die Abgrenzung zu funktionalen Anforderungen ist nicht scharf Beispiel: Eine Anforderung, welche als besondere Qualität zu klassifizieren wäre: Das System muss den unautorisierten Zugriff auf die Kundenstammdaten verhindern, soweit dies technisch möglich ist Durch Operationalisierung werden daraus funktionale Anforderungen: Der Zugriff auf die Kundenstammdaten muss über eine Login-Prozedur mit Passworten geschützt werden. Die Kundenstammdaten müssen verschlüsselt gespeichert werden. Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-11

5.5 Priorisierung von Anforderungen Muss-Anforderungen unverzichtbar Soll-Anforderungen wichtig, aber bei zu hohen Kosten verzichtbar Wunsch-Anforderungen schön zu haben, aber nicht essenziell Nötig bei harten Preisobergrenzen Beschaffung Nützlich bei Festlegung von Inhalt und Umfang der Inkremente bei inkrementeller Entwicklung Releaseplanung bei der Weiterentwicklung bestehender Systeme Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-12

5.6 Aufgaben der Anforderungsspezifikation Anforderungen gewinnen (elicitation) analysieren und dokumentieren (analysis and documentation) validieren (validation) verwalten (requirements management) freigeben (release management) ändern (change management) rückverfolgen (traceability) Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-13

Was ist (fast immer) zu tun? Die wichtigen Beteiligten kennen und einbeziehen Das Problem, das zum Bedarf für das zu spezifizierende System geführt hat, kennen Die drei bis sieben wichtigsten Systemziele identifizieren und aufschreiben Für jedes Ziel Analysieren und festhalten, zu welchem Geschäftsziel das Ziel wie beiträgt Analysieren und festhalten, welchen Nutzen das Ziel für welchen der Beteiligten hat Die Schlüsselbegriffe des Systems und des Anwendungsbereichs in einem Glossar definieren Die Hauptfunktionen identifizieren und dokumentieren Kritische Randbedingungen und Risiken identifizieren und dokumentieren Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-14

Erschwerende Faktoren ( Mehr Aufwand für das RE notwendig) Hohe Komplexität des Anwendungsbereichs Entwicklungsteam mit dem Anwendungsbereich nicht vertraut Viele Beteiligte Verteilte Entwicklung und/oder Beteiligte Lange Durchlaufzeit Sicherheitskritische Anforderungen Hohe Projektrisiken Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-15

5.7 Prinzipien des Requirements Engineerings Die Betroffenen kennen: Alle Betroffenen (stakeholders) kennen und berücksichtigen Ziele identifizieren: Wenige klar formulierte und überprüfbare Ziele sind wichtiger als eine Fülle von Detailanforderungen Randbedingungen erheben: Eine Systementwicklung kann an nicht erkannten Randbedingungen scheitern Den Wert berücksichtigen: Kosten und Nutzen der Realisierung einer Anforderung Adäquat spezifizieren: Die Anforderungsspezifikation dokumentiert genau das, was die Betroffenen wollen/brauchen Anforderungen messbar spezifizieren: Nur dann sind sie wirklich nützlich Konsens finden: Verschiedene Betroffene haben unterschiedliche Vorstellungen und Bedürfnisse Validieren und Verifizieren: Das Richtige spezifiziert? Richtig spezifiziert? Spezifikation und Entwurf von Software 5. Requirements Engineering Einführung Martin Glinz Seite 5-16