Einführung in Software Engineering
Einführung in Software Engineering
Einführung in Software Engineering
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
(i) Produktanforderungen: BENUTZARKEI; Effizienz, Zuverlässigkeit,<br />
Portierbarkeit<br />
(ii) Unternehmensanforderungen: Lieferung, Umsetzung, Vorgehen<br />
(iii) Externe Anforderungen: Kompatibilität, Datenschutz, Recht, Ethik<br />
• Techniken zur Anforderungsanalyse<br />
(i) Bestimmung Interessengruppen – Durchführung von Interviews<br />
(ii) Anforderungen aus verschiedenen Sichten – Viewpo<strong>in</strong>ts<br />
(iii) Workshops mit Bra<strong>in</strong>storm<strong>in</strong>g oder Storyboard mit allen Interessengruppen<br />
(iv) Anforderungsfälle (typ. Funktionsabläufe) ermitteln und ggf. Roleplay<br />
(1) Stakeholders e<strong>in</strong>es <strong>Software</strong>produkts<br />
(i) meist verschiedenen Personengruppen mit unterschiedlichen (evtl.<br />
widersprüchlichen ) Interessen betroffen<br />
(ii) Erhebung der Anforderung aller Stakeholders<br />
(iii) schlichten von Konflikten als Aufgabe des <strong>Software</strong>entwicklers<br />
(2) Interviews mit Interessengruppen<br />
(a) Doma<strong>in</strong>‐Analyse der Umgebung<br />
(b) Antworten auf folgende Fragen erwünscht:<br />
(i) Profil des Kunden (Aufgaben, Produkte, Erfolgsmaße)<br />
(ii) Probleme des Kunden (welche Abläufe s<strong>in</strong>d <strong>in</strong>effizient, fehlerträchtig etc.)<br />
(iii) Umgebung des Kunden ( Benutzer, Hardware, Plattform)<br />
(iv) erwartete <strong>Software</strong>eigenschaften (Funktionen, Zuverlässigkeit, Support)<br />
(3) Viewpo<strong>in</strong>t‐getriebene Anforderungsanalyse<br />
(a) durch Interessengruppen def<strong>in</strong>ierte Sichten auf System s<strong>in</strong>d effektives Hilfsmittel<br />
Anforderungsanalyse zu organisieren<br />
(b) andere Sichten s<strong>in</strong>d:<br />
(i) Orientierung an Funktionsgruppen<br />
(ii) Orientierung an Phasen oder Notationen der <strong>Software</strong>entwicklung<br />
(c) Phasenorientierte Sichten<br />
(i) Customer View<br />
(ii) Application View<br />
(iii) Functional View<br />
(iv) Conceptual View<br />
(v) Realization View<br />
(4) Branstorm<strong>in</strong>g Workshop<br />
(a) Alle vom <strong>Software</strong>produkt betroffenen Personengruppen nehmen an zwei<br />
Tägigem Workshop teil<br />
(b) Phasen des Workshops<br />
(i) verschicken von vorab Material zur Vorbereitung/E<strong>in</strong>stimmung<br />
(ii) Ideen sammeln<br />
1. Darstellung am White Board<br />
2. Kritik und Ergänzungen erwünscht<br />
(iii) Ideen gruppieren und daraus Funktionen der <strong>Software</strong> bestimmen<br />
(iv) sortieren der Funktionen nach Priorität<br />
(5) weitere Methoden<br />
(a) folgende Techniken versuchen die wichtigsten Funktionsabläufe der <strong>Software</strong><br />
durchzuspielen<br />
(i) Anwendungsfälle (Use Case& Misuse Case)<br />
(ii) Storyboard<strong>in</strong>g ‐ spielen mit GUI<br />
(iii) Rollenspiele – Person = Rolle<br />
• Aufbau und Funktion e<strong>in</strong>es Lastenheftes<br />
(1) Zielbestimmung<br />
(2) Produkte<strong>in</strong>satz<br />
(3) Produktfunktionen