DHBW Stuttgart Informatik SWEngineering Kapitel 3 Nov 2010
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Übersicht Inhalt: · Einbettung in den Projektablauf · 4 Teile eines Pflichtenhefts · Funktionale Anforderungen · Nichtfunktionale (NF) Anforderungen · an die Verfügbarkeit · an die Ergonomie · an die Performance · an die Wartbarkeit · Anforderungen an die technische Realisierung · Anforderungen an den Projektablauf · Anforderungsmanagement Datei: PHVorlesung. ppt Seite 1
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Einbettung in den Projektablauf (V-Modell) Projektablauf beim Auftraggeber (AG) Projekt genehmigen Ausschreibung incl. Lastenheft Anforderungen festlegen Angebot Projekt ausschreiben Vertrag Projekt beauftragen Pflichtenheft Realisierung begleiten Lieferung in Betrieb nehmen Statusberichte Change Requests System realisieren System ausliefern Lieferung Projektablauf beim Auftragnehmer (AN) Projekt genehmigen Angebot abgeben Projekt beauftragen Seite 2
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft • • Das Pflichtenheft bildet die Grundlage für die vertraglich festgehaltenen Leistungen eines IT-Auftragnehmers. Im Pflichtenheft sind nach DIN 69905 die vom "Auftragnehmer erarbeiteten Realisierungsvorgaben" niedergelegt. Sie beschreiben die "Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts". Im Pflichtenheft sind im wesentlichen die Ergebnisse der Anforderungsanalyse dokumentiert: • WAS muss wofür produziert werden? • Für WAS wird das Endprodukt eingesetzt? • WAS muss das Endprodukt demnach beinhalten? • WAS müssen die Funktionen des Endprodukts bewerkstelligen? • WAS muss über kurz oder lang gespeichert werden? Zusätzlich werden im Pflichtenheft noch Anforderungen an die Qualität, an die techn. Realisierung und an die Organisation des Projektablaufs formuliert. Buchempfehlung: Requirements-Engineering und -Management, C. Rupp, HANSER, 2009 Seite 3
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 4 Teile eines Pflichtenhefts Ein Pflichtenheft lässt sich auf verschiedene Weise gliedern (s. a. Beispiele im Anhang). Folgende Angaben sind jedoch obligatorisch: • Funktionale Anforderungen (incl. Datendefinitionen) • Nichtfunktionale (NF) Anforderungen (aus Qualitätsgründen) – Verfügbarkeit – Ergonomie (Benutzerschnittstelle) – Performance – Wartbarkeit (Architektur) • Anforderungen an die techn. Realisierung (aus Kostengründen) – Programmiersprache, Entwicklungsumgebung – Standards bzgl. Einsatz von Systemkomponenten • Anforderungen an den Projektablauf Seite 4
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Funktionale Anforderungen • • Funktionale Anforderungen (Funktionen und Daten) werden häufig aus der Aufgabenbeschreibung bzw. aus dem Lastenheft kopiert. Ziel: Jede funktionale Anforderung wird im Pflichtenheft als Use case (s. UML) spezifiziert mit folgenden Inhalten: – Kurze Ablaufbeschreibung – Input und Output – Auslösendes Ereignis – Durchführender Bei komplexen Abläufen kommen zusätzliche Diagrammarten zum Einsatz: – Ablauf-/Flussdiagramm nach DIN 66001 – Aktivitätsdiagramm der UML Ist der Einsatz einer Datenbank gefordert, müssen die Daten in einem Entity Relationship Diagramm oder auch Klassendiagramm nach UML spezifiziert werden. Seite 5
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Funktionale Anforderungen Beispiel für ein Use case Titel: Auftrag ausführen Nummer: FREQ 21 Kurzbeschreibung (Ziel): Ware an Kunde geliefert Akteure: Kundensachbearbeiter, Lagersachbearbeiter, Buchhaltung Auslösendes Ereignis: Bestellung des Kunden liegt vor Vorbedingung: Bestellung Nachbedingung (bei Erfolg): Ware ausgeliefert (auch Teillieferungen), Rechnungskopie bei Buchhaltung Nachbedingung (bei Fehlerfall): Mitteilung an Kunden, dass nicht lieferbar Standardablauf: 1. Kundendaten abrufen 2. Lieferbarkeit prüfen 3. Rechnung erstellen 4. Auftrag vom Lager ausführen lassen 5. Rechnungskopie an Buchhaltung geben Erweiterungen: 1 a. Kundendaten aktualisieren Alternativen: 1 a. Neukunden erfassen 3 a. Rechnung mit Nachnahme erstellen 3 b. Rechnung mit Bankeinzug erstellen Seite 6
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft NF Anforderungen an die Verfügbarkeit • • Die Verfügbarkeitsanforderungen gelten für die Nutzung des Gesamtsystems (Hard- und Software) durch den Endanwender. Zur Vereinfachung der Spezifikation werden Leistungsanforderungen häufig kategorisiert und müssen dann nur noch projektspezifisch ausgewählt werden (Angaben beziehen sich auf einen Zeitmonat mit 30 Tagen/Monat und 24 Stunden/Tag): Kategorie • Zeitl. Verfügbarkeit Max. Ausfalldauer Max. Anzahl Ausfälle A 99, 75 % 30 Min. 4 B 99, 5 % 3, 6 Std. 4 C 99 % 7 Std. 10 D 98 % 14 Std. 10 Die Erfüllung der Verfügbarkeit wird im praktischen Betrieb über einen festgelegten Zeitraum (z. B. 2 Monate vor Ablauf der Gewährleistungszeit) ermittelt. Seite 7
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft NF Anforderungen an die Ergonomie • • • Vorgabe eines Style-Guides, der verwendet werden muss. Empfehlung: Grundsätze der Dialoggestaltung gemäß ISO 9241 sollen implementiert werden. – Aufgabenangemessenheit: Ist es möglich, wiederholtes Eingeben zu vereinfachen? … – Selbstbeschreibungsfähigkeit: Sind alle Systemmeldungen verständlich? … – Steuerbarkeit: Können Sie bei Bedarf eine Aufgabe unterbrechen? … – Erwartungskonformität: Sind Sie bei Wartezeiten sicher, dass das Programm arbeitet? . . . – Fehlertoleranz: Bekommen Sie bei fehlerhaften Eingaben Korrekturhinweise? . . . – Individualisierbarkeit: Können Sie das Programm so einstellen, dass das Arbeiten leichter fällt? … – Lernförderlichkeit: Ermöglicht Ihnen das Programm, etwas gefahrlos aus zu probieren? … Dazu existieren Checklisten, die beim Test eingesetzt werden können, z. B. //www. gesuenderarbeiten. de/service/software/Software-Fragebogen. pdf Seite 8
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft NF Anforderungen an die Performance • Das Antwortzeitverhalten eines Systems wird häufig in vier Kategorien eingeteilt. Eine projektspezifische Festlegung könnte dann folgendermaßen aussehen: Kategorie < 1, 5 Sek < 2, 5 Sek < 10 Sek Für häufig benötigte Dialoge (Rückmeldungen, Info-Funktionen) für Dialoge mit Transaktionen (Terminplanung, Stammdatenauskunft) • A 98 % 100 % B 85 % 99 % C 60 % 85 % 98 % D 50 % 70 % 90 % für umfangreiche Transaktionen Die Erfüllung des Antwortzeitverhaltens wird im praktischen Betrieb über einen festgelegten Zeitraum (z. B. 2 Monate vor Ablauf der Gewährleistungszeit) ermittelt. Seite 9
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft NF Anforderungen an die Wartbarkeit • Welches Qualitätsmodell (Metriken) liegt zugrunde? Klassische Metriken: Kommentarverhältnis, Mc. Cabe-Komplexität, . . – Für die Objektorientierung existieren weitere Metriken: • DIT: Je größer die Vererbungstiefe, desto größer die Fehlerwahrscheinlichkeit (FW) • NOC: Je größer die Anzahl Subklassen einer Klasse, desto geringer die FW • WMC: Je größer die Anzahl Methoden und Operatoren einer Klasse, desto größer die FW – • Welche Programmierrichtlinie ist zu verwenden? – – • • Bei JAVA bieten sich die Code Conventions (Sep/97) von SUN an für C# bietet Microsoft entsprechende Richtlinie an Sind spezielle Entwurfsmuster oder getestete Komponenten (Reuse) aus anderen Systemen zu verwenden? Welche Architektur-Standards sind einzusetzen, z. B. Vorgabe einer Referenzarchitektur oder eines Ebenenkonzept? Welche Produkte sind vorgeschrieben für die Entwicklung? Nachweis durch den Einsatz eines Source Code Analyse Tools, z. B. checkstyle Seite 10
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungen an die techn. Realisierung • Mindestens werden benötigt: – – – • Aussagen zur benötigten Hardware incl. Betriebssystem Aussagen zur verwendeten Programmiersprache Aussagen zum Einsatz von Fremdprodukten, Opensource-Produkten Aussagen zu den verwendeten Protokollen bei verteilten Subsystemen … Beachte auch die NF Anforderungen an die Wartbarkeit, die spezielle (innere) Qualitätseigenschaften wie Modularität, Änderbarkeit usw. betreffen Seite 11
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungen an den Projektablauf • Mindestens werden benötigt: Vorgehensmodell mit Meilensteinplan, z. B. • Reporting, Kommunikation zw. AG und AN • Releasemanagement bei Weiterentwicklungen • Risikomanagement – Aufwandsplanung und -kontrolle – Abnahmekriterien – Lieferumfang: • Funktionelle Spezifikation (Teil des Pflichtenhefts) • Entwurfsdokumentation • (kommentierter) Source Code • Bedienungsanleitung • Installationsanleitung • Testdokumentation – Analyse. Ergebnis Design. Ergebnis Implementierungs. Ergebnis Seite 12
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Jede Anforderung hat folgende Gliederungspunkte: – – Ident-Nr Anforderungstyp (z. B. Performance, GUI, . . ) Titel der Anforderung Beschreibung – – – Messkriterien zur Erfüllbarkeit Komplexität in der Realisierung/Abnahme Aufwand – – Priorität (hoch, mittel, klein) Realisierungstermin (ggfs. CR) – – – Status (identifiziert, bewertet, …) Verantwortlicher (fürs Controlling zust. ) Datum (der letzten Änderung) Anforderung identifizieren Anforderung bewerten [angenommen] Anforderung priorisieren Anforderung löschen [abgelehnt] Neue Anforderungen während der Entwicklung heißen Change Requests (CR) Seite 13
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Qualitätskriterien für Anforderungen 1) Atomar: Die Anforderung lässt sich nicht sinnvoll in mehrere Anforderungen zerlegen. 2) Eindeutigkeit: Die Anforderung lässt genau eine Interpretation durch den Adressaten zu. 3) Nachweisbarkeit: Es gibt eine im Projektrahmen anwendbare Möglichkeit nachzuweisen, dass das System die Anforderung erfüllt. 4) Vollständigkeit: Die Anforderung enthält alle für eindeutiges Verständnis relevanten Informationen. 5) Widerspruchsfreiheit: Es existieren keine Widersprüche innerhalb der Anforderung oder zwischen Anforderungen. 6) Redundanzfreiheit: Aussagen werden innerhalb der Anforderungen oder Anforderungsdokumente nur einmal gemacht. 7) Nachvollziehbarkeit (Traceability): Traceability für Anforderungen ermöglicht die Beantwortung folgender Fragen: - Auf welches Ziel ist die Anforderung zurückzuführen? - Welche Anforderungen stammen von welchen Kunden? - Welche Entscheidung führt zur Ablehnung der Anforderungen? - In welcher Komponente wurde die Anforderung umgesetzt? - Welcher Test deckt die Realisierung der Anforderung ab? - Gibt es Anforderungen, deren Realisierung die betrachtete Anforderung beeinflussen? Seite 14
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Übungen zum Thema „verbesserungswürdige/schlechte Anforderungen“: Beispiel 1: Daten müssen übertragen werden. Beispiel 2. Der Motor C. 3 muss auf Basis der neuesten Technologie gebaut werden und somit 15 Jahre fehlerfrei laufen. Fragen: Welche Qualitätskriterien sind verletzt? Wie kann eine verbesserte Anforderung lauten? Tip: Anforderungen werden grundsätzlich im Aktiv formuliert! Seite 15
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Verletzte Qualitätskriterien zu Beispiel 1: • • Eindeutigkeit: Welche Daten genau? Vollständigkeit: Wer überträgt? An wen oder was wird übertragen? Woher wird übertragen? Verletzte Qualitätskriterien zu Beispiel 2: • • • Atomar: Hier handelt es sich um zwei Anforderungen Eindeutigkeit: Welche Technologie ist gemeint, was bedeutet fehlerfrei? Nachweisbarkeit: Wie kann die Testabteilung „ 15 Jahre fehlerfrei“ testen? Verbesserte Anforderung (Beispiel 1): Das System RT 4 muss die Adressdaten xyz vom Eingabefeld „Email-Adressen“ in den Speicherbereich Omega übertragen. Verbesserte Anforderung (Beispiel 2). Der Motor C. 3 muss vom Entwicklungsteam auf Basis der Technologiegeneration x. 1/09 entwickelt werden. Der Motor darf bei einem Test in der Lasttestklasse 10 eine Fehlerrate von xy nicht überschreiten. Seite 16
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Anforderungen natürlichsprachlich dokumentieren: Der Einsatz der natürlichen Sprache birgt die Gefahr von Missverständnissen. Wir kennen 5 grundlegende Ursachen für unterschiedliche Auslegungen und verschiedene Interpretationen: 1. Nomalisierungen nur dann verwenden, wenn der dahinter liegende Prozess vollständig definiert und bekannt ist. 2. Substantive sollten nie ohne ausreichenden Bezugsindex verwendet werden. 3. Beim Verwendung von Universalquantoren immer hinterfragen, ob das geforderte Verhalten wirklich für alle durch die Quantoren zusammengefassten Objekte gelten soll (Signalwörter sind: nie, immer, kein, jeder, alle, irgendeiner, nichts). 4. Unvollständig spezifizierte Bedingungen sollten ermieden werden, insbesondere sollte stets beschrieben werden, was passieren soll, wenn eine Bedingung nicht eintritt. 5. Manche Verben, wie z. B. der Begriff „übertragen“ zählen zu den unvollständig spezifizierten Verben. Diese benötigen zu ihrer vollständigen Erklärung zumindest die drei Ergänzungen, was übertragen, von wo übertragen und wohin übertragen wird. Seite 17
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Anforderungen natürlichsprachlich dokumentieren: Übung: Verbessern Sie die vorliegenden Anforderungen und ordnen sie den vorgestellten Problemursachen (1 -5) zu: Zur Anmeldung des Benutzers werden die Login-Daten eingegeben. Das Restaurantsystem soll einem registrierten Gast bei einem Alter von über 17 Jahren alle im Lokal angebotenen Getränke anzeigen. Bei einem Systemabsturz soll ein Neustart des Systems erfolgen. Die Daten sollen dem Benutzer auf dem Terminal angezeigt werden. Das System soll in jedem Untermenü alle Datensätze anzeigen Seite 18
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anforderungsmanagement Anforderungen natürlichsprachlich dokumentieren: Lösung der Übung: Verbesserte Anforderungen oder Hinweise auf Fehler. Das System soll dem Benutzer ermöglichen, seinen User-Namen und sein Passwort über die Tastatur am Terminal einzugeben (5, Aktiv-Formulierung). Bei einem Systemabsturz soll ein Neustart des Systems erfolgen (1); die Begriffe „Systemabsturz“ und „Neustart“ beschreiben jeweils einen Prozess, der genauer analysiert werden sollte. Das System soll dem registrierten Benutzer seine Rechnungsdaten auf dem Terminal, an dem er angemeldet ist, anzeigen (2). Das Restaurantsystem soll einem registrierten Gast • bei einem Alter von unter 16 Jahren ausschließlich alkoholfreie Getränke auzeigen; • bei einem Alter von 16 - 17 Jahren alkoholfreie und alkoholische Getränke ohne Branntwein anzeigen; • bei einem Alter von über 17 Jahren alle im Lokal angebotenen Getränke anzeigen (4). Das System soll in jedem Untermenü alle Datensätze anzeigen (3): wirklich ALLE Datensätze, wirklich in JEDEM Untermenü? Seite 19
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 3 Nov 2010 Pflichtenheft Anhang: Beispiele Beispiel nach Balzert (über Wikipedia) 1. Zielbestimmung 1. 1 Grenzkriterien 1. 2 Wunschkriterien 1. 3 Abgrenzungskriterien 2. Produkteinsatz 2. 1 Anwendungsbereiche 2. 2 Zielgruppen 3. Produktkonfiguration Software, Hardware, Orgware 4. Produkt-Umgebung Schnittstellen, Betriebsbedingungen 5. Produkt-Funktionen 6. Produkt-Leistungen 7. Benutzerschnittstelle 8. Qualitäts-Zielbestimmung 9. Globale Testfälle 10. Entwicklungs-Konfiguration Software, Hardware, Orgware 11. Ergänzungen Beispiel V-Modell (s. web) 1. Ausgangssituation und Zielsetzung 2. Funktionale Anforderungen 3. Nicht-funktionale Anforderungen 4. Risikoakzeptanz 5. Lebenszyklusanalyse und Gesamtsystemarchitektur 6. Schnittstellenübersicht 7. Lieferumfang 8. Abnahmekriterien 9. Anforderungsverfolgung zu den Anforderungen (Lastenheft) 10. Anforderungsverfolgung Seite 20
- Slides: 20