Anforderungsanalyse Software Engineering I WS 2010/2011 Dr.-Ing. Ina Schaefer 1 Software Systems Engineering TU Braunschweig 1 Mit Folien von Prof. Dr. K. Ostermann/Dr. Chr. Kästner und Dr. A. Herrmann Ina Schaefer SE I - WS 2011/2011 1
Inhalt der Vorlesung 1. Motivation für Anforderungsanalyse 2. Anforderungsanalyse Grundbegriffe Aufgaben Anforderungsanalyse und Anforderungsvalidierung 3. Beschreibung von Anforderungen Anwendungsfälle Lastenheft Ina Schaefer SE I - WS 2011/2011 2
Motivation für Anforderungsanalyse Motivation!"#$%&'()&*"+&,(-./(0$1 Ina Schaefer 8 2(%34.)#%0&(%&*($&563/'")$/$-.%(7 SE I - WS 2011/2011 3
Motivation für Anforderungsanalyse Warum Anforderungsanalyse? Problemquellen bei Software-Projekten: Unvollständige Anforderungen 13.1% Kunden nicht ausreichend einbezogen 12.4 % Mittel nicht ausreichend 10.6 % Unrealistische Erwartungen 9.9 % Mangelnde Unterstützung durch Management 9.3 % Änderungen in den Anforderungen 8.7 % mangelnde Planung 8.1 % (nach [CHAOS Report, Standish Group 1995]) Ina Schaefer SE I - WS 2011/2011 4
Motivation für Anforderungsanalyse Probleme bei der Anforderungsanalyse Kunden wissen nicht was sie wirklich wollen. Kunden benutzen ihre eigene Fachsprache. Verschiedene Stakeholder 2 können widersprüchliche Anforderungen haben. Politische und organisatorische Faktoren können Anforderungen beeinflussen. Anforderungen ändern sich während der Analyse und Entwicklung. Neue Stakeholder mischen sich ein. 2 Stakeholder = Interessierte / Betroffene / Projektbeteiligte / Anspruchsgruppen Ina Schaefer SE I - WS 2011/2011 5
Anforderungsanalyse Grundbegriffe Stakeholder Einzelpersonen und Organisationen die aktiv an einem Projekt beteiligt sind. deren Interessen als Folge der Projektdurchführung oder des Projektabschlusses positiv oder negativ beeinflusst werden können. die das Projekt und seine Ergebnisse beeinflussen. Ina Schaefer SE I - WS 2011/2011 6
Anforderungen Anforderungsanalyse Grundbegriffe Benutzeranforderungen Aussagen in natürlicher Sprache, sowie Diagramme zur Beschreibung der Dienste, die das System leisten soll, und der Randbedingungen, unter denen es betrieben wird. (Systembeschreibung aus Kundensicht, Lastenheft) Systemanforderungen Detaillierte Festlegung von Funktionen, Diensten und Beschränkungen. Beschreibung, was implementiert werden soll. (Systembeschreibung aus technischer Sicht, Pflichtenheft) Ina Schaefer SE I - WS 2011/2011 7
Anforderungsanalyse Grundbegriffe #$%&'()'*$+,-.&/*0)$1) B2,C7,1CD5E Zusammenhang=2,1)$> Benutzer-?%37@>1)$> FF# 85? und Systemanforderungen G9= #$234,)!"#"$%&'()(*#"+", #$%&'()'*$+,- 5'07113*$+!-%./+-%&%)$" %*+0+$($+1), #$%&'()'*$+,- 8:);7%7/217&$ <=2,1)$>)%1<! "-%./+-%&%)$" "4%0+5+0($+1), 84,1)0-9&()337)'*$+!"#"$%&'&12%**+)3, A*$()$- #$%&'()'*$+)$?%37@>1)$>)%1 "#$%&'()%*+, -.,/(0(&*'()%! "#"$%& "4%0+5+0($+1)1 5$16*'%!" Ina Schaefer SE I - WS 2011/2011 8
Anforderungsanalyse Grundbegriffe Funktionale und Nicht-funktionale Anforderungen Funktionale Anforderungen Was soll das System leisten? Welche Dienste soll es anbieten? Eingaben, Verarbeitungen, Ausgaben Verhalten in bestimmten Situationen, ggf. was soll es explizit nicht tun Nicht-funktionale Anforderungen Wie soll das System/einzelne Funktionen arbeiten? Qualitätsanforderungen wie Performanz und Zuverlässigkeit Anforderungen an die Benutzbarkeit des Systems Ina Schaefer SE I - WS 2011/2011 9
Anforderungsanalyse Grundbegriffe Beispiel: Funktionale Anforderungen Funktion "Vorlesung in Vorlesungverzeichnis eintragen" Eingaben: Raum, Zeit und Titel einer Vorlesung. Verarbeitungsschritte: Prüfe, ob der Vorlesungstitel schon vergeben ist Prüfe, ob der Raum zur angegebenen Zeit schon vergeben ist Wenn nicht, wird die neue Vorlesung eingetragen und die Daten der Vorlesung werden angezeigt. Falls vergeben, wird die Vorlesung nicht eingetragen und eine entsprechende Fehlermeldung wird angezeigt. Ausgaben: Die Vorlesung wird angezeigt oder ein Fehler wird gemeldet. Ina Schaefer SE I - WS 2011/2011 10
Anforderungsanalyse Grundbegriffe Beispiel: Funktionale Anforderungen (2) Aktionen, die vom System ausgeführt werden sollen Bsp.: Das System muss Vorlesungen in die DB aufnehmen können. Systeminteraktionen, die dem Nutzer ermöglicht werden Bsp.: Das System muss es dem Administrator beim Eintragen einer Vorlesung ermöglichen ermöglichen, Raum, Zeit und Titel einzugeben. allg. funkt. Vereinbarungen u. Einschränkungen Bsp.: Der Client ist für den Kommunikationsaufbau zuständig. Ina Schaefer SE I - WS 2011/2011 11
Anforderungsanalyse Grundbegriffe Nicht-funktionale Anforderungen!"#$%&'()*%"+),-./0)'+12.1()3.) 89 4")'5$1()3/")/2"./6+'%7,1.%.#$)"* Ina Schaefer SE I - WS 2011/2011 12
Anforderungsanalyse Grundbegriffe Nicht-funktionale Anforderungen (2) NFR 3 umfassen Qualitätsanforderungen an Produkt und Prozess. Beschreibung von NFR oft vernachlässigt, oft unsystematisch und ungenau. NFR müssen integriert mit FR erfasst und spezifiziert werden. NFR priorisieren nach Kosten/Nutzen. NFR werden in der Praxis meist sehr ungenau erfasst. 3 NFR = Non-functional Requirements Ina Schaefer SE I - WS 2011/2011 13
Anforderungsanalyse Grundbegriffe Beispiele für Nicht-funktionale Anforderungen Technische Anforderungen: Das System muss mit Java entwickelt werden und muss in der Sun Java VM 1.5 laufen. Ergonomische Anforderungen Das System muss die gespeicherten Objekte formatiert ausgeben können (Formatvorgabe). Die Benutzerführung erfolgt in deutsch. Anforderungen an die Dienstqualität Das System muss jede Anfrage des Benutzers innerhalb von 30 Sekunden ausführen (auf System XY). Der Speicherbedarf darf 512MB nicht übersteigen. Ina Schaefer SE I - WS 2011/2011 14
Anforderungsanalyse Grundbegriffe Beispiele für Nicht-funktionale Anforderungen (2) Zuverlässigkeit Die Verfügbarkeit des Systems muss bei 99.999 % liegen. Anforderungen an den Entwicklungsprozess Der Entwickler muss mit dem Kunden monatliche Reviews der zu erstellenden Dokumente durchführen. Rechtlich-vertragliche Anforderungen Der Kunde leistet für jeden abgenommenen Meilenstein ein Drittel der vertraglich vereinbarten Summe für die Entwicklung des Systems. Die deutsche Datenschutzrichtlinie muss erfüllt sein. Ina Schaefer SE I - WS 2011/2011 15
Anforderungsanalyse Aufgaben Bestandteile der Anforderungsanalyse Anforderungsermittlung Anforderungsspezifikation Anforderungsanalyse Anforderungsvalidierung Anforderungsmanagement Ina Schaefer SE I - WS 2011/2011 16
Anforderungsanalyse Aufgaben Aufgaben in der Anforderungsanalyse Anforderungsermittlung: Sammeln einer vollständige Menge von Anforderungen von Stakeholdern. Anforderungsformulierung: ermittelte Anforderungen so beschreiben, dass sie eindeutig, testbar und verständlich sind. Anforderungsanalyse: Klassifizierung, Bewertung, Vergleich und Prüfung der ermittelten Anforderungen Ina Schaefer SE I - WS 2011/2011 17
Anforderungsanalyse Aufgaben Aufgaben in der Anforderungsanalyse (2) Anforderungsvalidierung: Die Kunst, zu richtigen und widerspruchsfrei formulierten Anforderungen zu gelangen. Anforderungsmanagement: Prüfung und Änderung von Anforderungen. Ina Schaefer SE I - WS 2011/2011 18
Anforderungsanalyse Aufgaben Methoden zur Anforderungsermittlung Interviews Focus Group Fragebögen Dokumentenanalyse Beobachtungen Prototyping Ina Schaefer SE I - WS 2011/2011 19
Anforderungsanalyse Qualitätsmerkmale für Software Anforderungsanalyse und Anforderungsvalidierung nach ISO 9126/ DIN 66272: Funktionalität Angemessenheit Sicherheit Genauigkeit der Berechnung Interoperabilität Konformanz zu Standards Benutzbarkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Effizienz Zeitverhalten Verbrauchsverhalten Ina Schaefer SE I - WS 2011/2011 20
Anforderungsanalyse Qualitätsmerkmale für Software (2) Anforderungsanalyse und Anforderungsvalidierung Zuverlässigkeit Reife Fehlertoleranz Wiederherstellbarkeit Änderbarkeit Analysierbarkeit Modifizierbarkeit Stabilität Prüfbarkeit Übertragbarkeit Anpassbarkeit Installierbarkeit Konformanz zu Standards Austauschbarkeit Ina Schaefer SE I - WS 2011/2011 21
Anforderungsanalyse Was sind gute Anforderungen? Anforderungsanalyse und Anforderungsvalidierung eindeutig (nur eine mögliche Interpretation) vollständig ( alle nicht-funktionalen Anforderungen, alle Systemreaktionen - auch auf ungültige Eingaben, explizite Kennzeichnungen von offenen Punkten) konsistent (keine Widersprüche, konsistente Terminologie) korrekt (nur richtige Anforderungen) Ina Schaefer SE I - WS 2011/2011 22
Anforderungsanalyse Was sind gute Anforderungen? (2) Anforderungsanalyse und Anforderungsvalidierung verifizierbar (durch ein Verfahren, z.b. Messen, überprüfbar) gewichtet (priorisiert bzgl. Wichtigkeit und Stabilität) änderbar (klare Struktur, keine Redundanz) nachvollziehbar (Quelle der Anforderungen festhalten, eindeutige Identifikatoren) [IEEE Std. 830-1998] Ina Schaefer SE I - WS 2011/2011 23
Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Klassifikation von Anforderungen Zusammengehörigkeit und Überlappungen von Anforderungen in einer großen Menge erkennen (z.b. von unterschiedlichen Autoren) Vollständigkeit der Anforderungen prüfen fehlende Anforderungen erkennen Ausschnitte aus dem Anforderungsdokument für bestimmte Rollen erzeugen ( Sichten ) Ina Schaefer SE I - WS 2011/2011 24
Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Kriterien zur Klassifikation Vermarktbarkeit (Features) Abhängigkeiten, z.b. technische Abhängigkeiten Gegenstand der Anforderung: Systemfunktionalität, Benutzerschnittstelle, Datenbank, Kommunikation, NFA (z.b. Performanz) Betroffene Benutzergruppe: System-Administrator, Verwaltungsangestellter, Lagerarbeiter,... Priorität der Anforderung: essentiell, notwendig, wünschenswert Kosten einer Anforderung Ina Schaefer SE I - WS 2011/2011 25
Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Priorisierung von Anforderungen Grundlage von technischen und Managenemt-Entscheidungen Kompromisse zwischen in Konflikt stehenden Anforderungen finden Releases der Software planen (zuerst die wichtigen Anforderungen) Ina Schaefer SE I - WS 2011/2011 26
Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Prioritäten von Anforderungen Essentiell: die Anforderung muss implementiert werden, sonst ist das System nutzlos Notwendig: das System ist ohne Umsetzung dieser Anforderung weniger effizient/effektiv Wünschenswert: das System wäre mit dieser Anforderung attraktiver Ina Schaefer SE I - WS 2011/2011 27
Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Prüfung von Anforderungen Wird der Bedarf des Kunden vollständig abgedeckt? Verständlich formuliert? Konsistent mit anderen Anforderungen? Realistisch mit Budget und Technologie? Anforderung prüfbar? Änderbar ohne Einfluss auf andere Anforderungen? Wichtig: Regelmäßige Reviews Kunden und potentielle Benutzer in Anforderungsanalyse einbeziehen. Ina Schaefer SE I - WS 2011/2011 28
Abgrenzungskriterien Anforderungsanalyse Anforderungsanalyse und Anforderungsvalidierung Was soll nicht gemacht werden? Sinnvoll, dies expliziert zu klären. Dem Kunden klar machen, worauf er verzichtet. Schutz vor Änderungsanträgen Ina Schaefer SE I - WS 2011/2011 29
Anforderungsanalyse Abgrenzungskriterien (2) Anforderungsanalyse und Anforderungsvalidierung Beispiele: Kein Fokus auf intuitive Bedienung, sondern Spezialsoftware für geschulte Benutzer. Schützt nicht vor Fehlern des Benutzers Multilinguale Benutzeroberfläche nicht geplant Ina Schaefer SE I - WS 2011/2011 30
Beschreibung von Anforderungen Anwendungsfälle (Use Cases) Anwendungsfälle Grundidee: Gliederung der Funktionalität in logisch zusammengehörige und handliche funktionale Einheiten, Beschreibung in standardisierter Form Anwendungsfall Abgeschlossene, zusammenhängende Einheit; Teil der Funktionalität des Systems Ina Schaefer SE I - WS 2011/2011 31
Beschreibung von Anforderungen Anwendungsfälle Anwendungsfallbeschreibung Titel: Kurzbeschreibung: Aktoren: Vorbedingungen: Beschreibung des Ablaufs: Auswirkungen: Anmerkungen: Ina Schaefer SE I - WS 2011/2011 32
Beschreibung von Anforderungen Beispiel Anwendungsfall Anwendungsfälle Titel: Vorlesung eintragen Kurzbeschreibung: Dozent gibt Raum, Zeit und Titel einer Vorlesung ein und legt einen Vorlesungseintrag an. Aktor: Dozent Vorbedingungen: Eine Vorlesung mit diesem Titel gibt es noch nicht. Beschreibung des Ablaufs: Prüfe, ob der Raum zur angegebenen Zeit schon vergeben ist Wenn nicht, wird die neue Vorlesung eingetragen und die Daten der Vorlesung werden angezeigt. Falls vergeben, wird die Vorlesung nicht eingetragen und eine entsprechende Fehlermeldung wird angezeigt. Auswirkungen: Die Vorlesung wird angezeigt oder ein Fehler wird gemeldet. Anmerkungen: Ina Schaefer SE I - WS 2011/2011 33
Beschreibung von Anforderungen Anwendungsfälle Aktoren Aktor Objekt der Systemumgebung, das mit dem System interagiert (und einen oder mehrere Anwendungsfälle auslösen kann). Aktoren können Personen (System-Nutzer), externe Geräte oder mit dem System verbundene Nachbarsysteme sein. Aktoren tauschen mit dem System Nachrichten aus und können als Sender und/oder Empfänger von Nachrichten auftreten. Aktoren sind i.a. selbst nicht Bestandteile des Systems. Oft müssen Daten über sie jedoch (z.b. zur Regelung der Zugangsberechtigung) verwaltet werden. Ina Schaefer SE I - WS 2011/2011 34
Beschreibung von Anforderungen Anwendungsfälle Use Case Diagramme!"#$#%&#'()%'*%+#%,-%./0 Bestandteile: Aktor Use Case mit Bezeichner B Systemgrenze mit Systembezeichner S Kommunikationsbeziehung zwischen Aktoren und Anwendungsfällen Beziehung zwischen Anwendungsfällen "! ##$%&$'())*+++++++ ##,'-./($))! *8! *% <#! 6> 6>! B)?= *%! <# *% 9:!2%0453-%.'2%',2# Ina Schaefer SE I - WS 2011/2011 35
Beschreibung von Anforderungen Anwendungsfälle Beziehungen zwischen Use Cases!"#$"%&'("')#*$+,%"')-'*"'.&'(+/011"') - - -!!)%*+,&"''.!!"#$"%&''(((((((.! -&+/3%4&'();6')-'*"'.&'(+/811)-)+,%1$"<7) Ausführung von Anwendungsfall A schließt.$")-&+/3%4&'();6')-'*"'.&'(+/811)!)"$'=) die Ausführung von Anwendungsfall B ein.!!+>?)@-&/748()a"84a"$7"'@)+,%1$"<7)@b8%1&'() Beispiel: ;"48'18++"'@)"$'= Auftrag bearbeiten schließt Zahlung! -&+/3%4&'();6')-'*"'.&'(+/811)-)98'') veranlassen ein. C&'7"4)A"+7$DD7"')!".$'(&'("'E)"4*"$7"47) *"4."').&4,%)"$'")-&+/3%4&'();6') -'*"'.&'(+/811)!=)!!+>?)!"$D)@-&/748()A"84A"$7"'@)*$4.)F /811+) "$'")-'/48(").8/34);6418()F '6,%)"$')G87816() ;"4+8'.7=! -'*"'.&'(+/811)-)("'"481$+$"47) -'*"'.&'(+/811)!H).=%=)!)+7"%7)/34)"$'") I"'(");6')5>"#$81/011"');6')-=))!!+>?)@-&/748()A"84A"$7"'@)("'"481$+$"47) Ina Schaefer SE I - WS 2011/2011 36
Beschreibung von Anforderungen Anwendungsfälle!"#$"%&'("')#*$+,%"')-'*"'.&'(+/011"') Beziehungen zwischen Use Cases (2) - - :: -.!!)%*+,&"''.!!"#$"%&''(((((((.! -&+/3%4&'();6')-'*"'.&'(+/811)-)+,%1$"<7).$")-&+/3%4&'();6')-'*"'.&'(+/811)!)"$'=)!!+>?)@-&/748()A"84A"$7"'@)+,%1$"<7)@B8%1&'() Anwendungsfall ;"48'18++"'@)"$'= A kann (unter bestimmten! -&+/3%4&'();6')-'*"'.&'(+/811)-)98'') C&'7"4)A"+7$DD7"')!".$'(&'("'E)"4*"$7"47) Bedingungen) erweitert werden durch *"4."').&4,%)"$'")-&+/3%4&'();6') Anwendungsfall B. -'*"'.&'(+/811)!=)! Beispiel:!+>?)!"$D)@-&/748()A"84A"$7"'@)*$4.)F Bei Auftrag bearbeiten/811+) wird - falls angefragt "$'")-'/48(").8/34);6418()F - noch Katalog '6,%)"$')G87816() versandt. ;"4+8'.7=! -'*"'.&'(+/811)-)("'"481$+$"47) -'*"'.&'(+/811)!H).=%=)!)+7"%7)/34)"$'") Anwendungsfall A generalisiert I"'(");6')5>"#$81/011"');6')-=)) Anwendungsfall B, d.h. B steht für eine!!+>?)@-&/748()a"84a"$7"'@)("'"481$+$"47) Menge @G8&/8&/748()A"84A"$7"'@)&'.) von Spezialfällen von A. @J"498&/+8&/748()A"84A"$7"'@) Beispiel: Auftrag bearbeiten generalisiert Kaufauftrag 2$'/3%4&'()$').$")56/7*84"7",%'$9 bearbeiten und Verkaufsauftrag bearbeiten. Ina Schaefer SE I - WS 2011/2011 37
Beschreibung von Anforderungen Beispiel: Use Case Diagramm Anwendungsfälle #$%#"&'("#)("#)*+,-"$(.)/")01)2$*+&&0#+23+44(!""#$%&'(%&)*+&!")19A"3,&-./ 0%#-./$"1"2 6"#7.8& "#9&"::"2,&+**' 3+&"24523"#2 Q%"3+983 "#$%&'()#$%*+,+-&/#30(013,-(0")(=1)0")(>?(.1984+9")@")19A"3B(+1$2"&C$9D(0" #)"(E")2"(F8)(G8$")D(H&+$,-")(80"3(=#$9")(A136,:2"@")(/#&&I( "$,-3"#@1)2(0"$(.@&+1*$' E#9(J"0"4(A136,:2"2"@")")(796,:("3-C-9(0+$(7K$9"4(0#"(.)A+-&(0"3( Ina3"2#$93#"39")(796,:"($8/#"(0#"(L+2"$2"$+49+)A+-& Schaefer SE I - WS 2011/2011 *63(0#"(@"93"**")0"(=+9"283 38
Beschreibung von Anforderungen Anwendungsfälle Beispiel: Use Case Diagramm (2) Anwendungsfallbeschreibung Title: Stück zurückgeben Kurzbeschreibung: Rückgabe von Leergut Aktor: Kunden (= Automatenbenutzer) Vorbedingung: Automat akzeptiert Leergut, Beschreibung des Ablaufs: Bei Eingabe, Erhöhung von Anzahl der registrierten Stücke sowie die Tagesgesamtanzahl für die betreffende Kategorie. Bei Druck auf Quittungsknopf, Ausdruck von Quittung über alle abgelieferten Stücke und deren Gesamtanzahl. Auswirkungen: Quittung wird ausgegeben. Anmerkungen: Ina Schaefer SE I - WS 2011/2011 39
Beschreibung von Anforderungen Anwendungsfälle Beispiel: Größeres Use Case Diagramm "#$"%"&'("#&)#"*+',-."-/0-1&23**/#31%344!!"#$%&'())!!"#$%&'())!!"#$%&'()) 56 Ina Schaefer SE I - WS 2011/2011 40
Beschreibung von Anforderungen Lastenheft Lastenheft Lastenheft Vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers an den Auftrag. [DIN69905] Knappe Beschreibung der fachlichen Basisanforderungen aus Sicht des Auftraggebers/Kunde Beschreibung des WAS und WOFÜR Grundlage für das Pflichtenheft 4 Festes Gliederungsschema 4 Beschreibung des Systemrealisierung aus Sicht des Auftragnehmers/Entwicklers Ina Schaefer SE I - WS 2011/2011 41
Beschreibung von Anforderungen Lastenheft Gliederungsschema des Lastenhefts Zielbestimmung Welche Ziele sollen durch den Einsatz der Software erreicht werden? Produkteinsatz Für welche Anwendungsbereiche und Zielgruppen ist die Software vorgesehen? Produktübersicht In welcher Umgebung oder welchem Kontext soll die Software arbeiten? Ina Schaefer SE I - WS 2011/2011 42
Beschreibung von Anforderungen Lastenheft Gliederungsschema des Lastenhefts (2) Produktfunktionen Was sind die Hauptfunktionen des Produktes aus Sicht des Auftraggebers? Die Hauptfunktionen (Kernfunktionen) werden typischerweise einzeln gekennzeichnet um sich in späteren Dokumenten auf sie beziehen zu können. Hauptfunktionen sind beispielsweise Anzeigefunktionen, Änderungs- und Löschfunktionen, Erinnerungsfunktionen, Suchfunktionen,... Produktdaten Was sind die (permanent gespeicherten) Hauptdaten des Produktes? Einheitliche Kennzeichnung der Hauptdaten Hauptdaten sind beispielsweise Konfigurationsdaten, Benutzerdaten, History-Daten,... Ina Schaefer SE I - WS 2011/2011 43
Beschreibung von Anforderungen Lastenheft Gliederungsschema des Lastenhefts (3) Produktleistungen Werden für bestimmte Funktionen besondere Ansprüche in Bezug auf Zeit, Datenumfang oder Genauigkeit gestellt? Wenn ja, welche? Einheitliche Kennzeichnung der Produktleistungen Produktleistungen werden eventuell durch andere Produkte wie beispielsweise von einer relationalen Datenbank bewerkstelligt. Bei einer Messwerterfassung sollten hier die Sollbedingungen stehen. Qualitätsanforderungen Zuverlässigkeit, Robustheit, Benutzungsfreundlichkeit, Effizienz,... Ergänzungen Ina Schaefer SE I - WS 2011/2011 44
Beschreibung von Anforderungen Lastenheft Lastenheft - Beispiel nach Balzert Lastenheft Beispiel Ina Schaefer SE I - WS 2011/2011 45
Lastenheft Beispiel Beschreibung von Anforderungen Lastenheft Lastenheft - Beispiel nach Balzert (2) 14 Lastenheft / Pflichtenheft f. Ina Dr. Liggesmeyer Schaefer SE I - WS 2011/2011 46
spiel Beschreibung von Anforderungen Lastenheft Lastenheft - Beispiel nach Balzert (3) Ina Schaefer SE I - WS 2011/2011 47
Beschreibung von Anforderungen Lastenheft Stilratgeber Kurze Sätze und kurze Absätze (max. ca. 7 Sätze), da das menschliche Kurzzeitgedächtnis begrenzt ist. Nur eine Aussage pro Satz, Verschachtelungen vermeiden. Konsistente Terminologie, Abkürzungen sparsam verwenden. Offene Punkte kennzeichnen: TBD, ToDo. Generalität vermeiden, klare Referenzen verwenden. Verbindlichkeit klar formulieren: Muss, kann, soll etc. mit Bedacht verwenden. Aktiv formulieren: Das System..... Ina Schaefer SE I - WS 2011/2011 48
Beschreibung von Anforderungen Lastenheft Identifizierbarkeit von Anforderungen Eindeutiges, nicht änderbares Kürzel/ID für Anforderungen Codierung z.b. von den Typ der Anforderung, Herkunftsdokument,... Beispiele: LH-FA11= Funktionale Anforderung 11 im Lastenheft PA17 = Performanzanforderung 17 LH-FA-Temp19= Funktionale Anforderung 19 des Teilsystems Temperatur im Lastenheft Gruppierung ähnlicher Anforderungen Ina Schaefer SE I - WS 2011/2011 49
Zusammenfassung Motivation und Ziel der Anforderungsanalyse Funktionale und Nicht-funktionale Anforderungen Aufgaben der Anforderungsanalyse Use Cases (Text und Diagramme) Lastenheft Ina Schaefer SE I - WS 2011/2011 50