Projektmanagement - Block 5 Softwareanforderungen

Slides:



Advertisements
Ähnliche Präsentationen
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Advertisements

Das V - Modell - Überblick
Vorgehensmodell - Wasserfallmodell
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Das „Vorgehensmodell“
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Inhaltsverzeichnis Einleitung zum Thema Was ist ein Lastenheft?
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.2- LM 8 - LO 9 Definitionen zu LM 8.
Risiken und Chancen Risiko Beurteilung: Dazu gehört die Identifikationen von Risiken, ihre Analyse und das Ordnen nach Prioritäten. Risiko Kontrolle: Dazu.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Das V - Modell - Überblick
Java: Objektorientierte Programmierung
Teil 1: Warum 1 % Beitrag für die IG Metall
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Rational Unified Process (RUP) - Definitionen
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Studienverlauf im Ausländerstudium
Einführung von Groupware
Grundschutztools
UML Begleitdokumentation des Projekts
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Berliner Rahmenpläne Informatik für die Sekundarstufe I
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
12. Vorlesung: Aktivitätsdiagramme
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
Where Europe does business Lück, JDZB | Seite © GfW NRW 252 a.
Theorien, Methoden, Modelle und Praxis
Syntaxanalyse Bottom-Up und LR(0)
UML-Kurzüberblick Peter Brusten.
PROCAM Score Alter (Jahre)
Wasserfallmodell und Einzelbegriffe
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Symmetrische Blockchiffren DES – der Data Encryption Standard
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Klassen und Klassenstruktur
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Unified Modeling Language UML
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Einführung in die Volkswirtschaftslehre, Mikroökonomie und Wettbewerbspolitik Lothar Wildmann ISBN: © 2014 Oldenbourg Wissenschaftsverlag.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Projektmanagement - Block 5 Softwareanforderungen Institut für Informationssysteme und Computer Medien (IICM) Fakultät für Informatik - Technische Universität.
 Präsentation transkript:

Projektmanagement - Block 5 Softwareanforderungen Institut für Informationssysteme und Computer Medien (IICM) Fakultät für Informatik - Technische Universität Graz, Austria Christian Gütl Version 1.00 block5_ss2009.ppt

Prozessgruppen 30.03.2017 © 2006 - Christian Gütl

Buchempfehlung Software Engineering 7 Ian Sommerville ISBN: 0-321-21026-3 Publisher: Addison-Wesley Copyright: 2005 Format: Cloth; 784 pp Ausverhandelter Preis mit dem Pearson Verlag im Rahmen der LV € 59,95 (statt 67,95) http://www.pearson- studium.de/main/main.asp?page=bookdetails&ProductID=117567 30.03.2017 © 2006 - Christian Gütl

Agenda Arten von Softwareanforderungen Lastenheft und Pflichtenheft Softwareanforderungsbestimmung und –analyse Validierung der Softwareanforderungen 30.03.2017 © 2006 - Christian Gütl

Abschnitt 1 Softwareanforderungen im Überblick © 2006 - Christian Gütl 30.03.2017 © 2006 - Christian Gütl

Allgemeines Softwareanforderungs-Prozess ist zentraler Punkte des Softwareengineering-Prozesses Lastenheft und Pflichtenheft In Praxis Spannungsfeld zwischen notwendiger Festlegung der Anforderungen Zur Verfügung stehenden Ressourcen Identifizieren u. Beschreiben der Anforderungen Komplexer Prozess Verschiedenste Benutzerkreise involviert  Zentraler Punkt des Projektmanagement 30.03.2017 © 2006 - Christian Gütl

Zielgruppen vs. Spezifikationsarten 30.03.2017 © 2006 - Christian Gütl

Benutzer vs. Systemanforderung Beispiel einer Benutzeranforderung 1. Die Software muss über Mittel zur Darstellung externer, von anderen Werkzeugen erzeugter Dateien verfügen und auf sie zugreifen können. Beispiel einer Systemanforderung 1.1 Der Benutzer sollte über Möglichkeiten zur Definition externer Datentypen verfügen. 1.2 Jeder externe Dateityp kann eine damit verknüpfte Anwendung besitzen, mit der die Datei bearbeitet wird. 1.3 Jeder externe Dateityp kann als bestimmtes Symbol auf dem Bildschirm des Anwenders dargestellt werden. 1.4 Es sollten Möglichkeiten zur Definition des Symbols für externe Dateitypen durch den Benutzer dargestellt werden. 1.5 Wenn ein Benutzer ein Symbol auswählt, das eine externe Datei repräsentiert, so soll die durch dieses Symbol dargestellte Datei mit der Anwendung geöffnet werden, die mit dem entsprechenden externen Dateityp verknüpft ist. 30.03.2017 © 2006 - Christian Gütl

Einteilung von Anforderungen 30.03.2017 © 2006 - Christian Gütl

Einteilung von Anforderungen Funktionale Anforderungen beschreiben Dienste, die das System leisten soll Reaktionen des Systems auf Eingaben Situationsabhängiges Verhalten des Systems Funktionen, die nicht Teil d. Systems sind Nichtfunktionale Anforderungen Beschränkungen durch das System gebotene Funktionen und Leistungen U.a. Standards, Entwicklungsprozessvorgaben, … Problembereichsanforderungen Anforderungen aus dem Anwendungsbereich Besteht wieder aus Funktionalen u. Nichtfunktionalen Anforderungen 30.03.2017 © 2006 - Christian Gütl

Funktionale Anforderungen 1 Beschreiben Funktionalitäten des Systems Dienste des Systems Nichtfunktionen sollen prinzipiell … vollständig sein  alle Funktionen von allen Benutzergruppen konsistent sein  Anforderungen dürfen keine widersprüchlichen Festlegungen enthalten Aus der Praxis Größere Komplexere Systeme sind nie vollständig und auch nicht konsistent Viele Probleme kommen aus der Ungenauigkeit der Festlegung der Anforderungen (Mehrdeutigkeit bei der Interpretation  das Einfachste wird umgesetzt) 30.03.2017 © 2006 - Christian Gütl

Funktionale Anforderungen 2 Beispiele (Auszüge aus Anforderungen an ein Bibliothekssystem) Der Benutzer soll die gesamte Menge der Dokumente oder eine ausgewählte Teilmenge durchsuchen können. Das System soll geeignete Betrachtungswerkzeuge bieten, damit der Benutzer Dokumente aus dem Dokumentkorpus lesen kann. Jeder Bestellung soll ein eindeutiger Bezeichner (Order ID) zugeordnet werden, und der Benutzer soll diesen in den permanenten Speicher seines Kontos kopieren können. 30.03.2017 © 2006 - Christian Gütl

Nichtfunktionale Anforderungen 1 Betreffen nicht funktionale Anforderungen Beschreiben vielmehr Softwareeigenschaften Z.B. Zuverlässigkeit, Reaktionszeit, Speicherbedarf Beschränkungen des Systems z.B. Datenaustausch durch Systemschnittstelle Anmerkungen Beziehen sich i.a. auf das ganze System  Nichteinhalten von „Nichtfunktionalen Anforderungen“ wirken sich viel stärker aus als Nichteinhalten einzelner „Funktionaler Anforderungen“ Wirken i.a. einschränkend auf das System und die Systemfunktionen 30.03.2017 © 2006 - Christian Gütl

Nichtfunktionale Anforderungen 2 30.03.2017 © 2006 - Christian Gütl

Nichtfunktionale Anforderungen 3 Unterteilung Produktanforderungen Beschreibt das Verhalten des Produktes Z.B. Performance, Zuverlässigkeit, Portierbarkeit und Benutzbarkeit Unternehmensanforderungen Sind bestimmt durch Unternehmenspolitik und Arbeitsweisen von Auftragnehmer und Auftraggeber Z.B. Systementwicklungsprozess SP-STAN 2003 Externe Anforderungen Alles außerhalb des Systems und seines Entwicklungsprozesses Z.B. Kompatibilität zu anderen Systemen, Einhaltung von Gesetzen (z.B. Datenschutzgesetz) 30.03.2017 © 2006 - Christian Gütl

Problembereichsanforderungen 1 Sind geprägt vom Anwendungsbereich Widerspiegelt allgemeine Arbeitsweisen des Bereiches Standards Vorschriften, Regulierungen Sind in der Praxis wichtig Werden diese nicht berücksichtigt, dann kann das System unbrauchbar sein bzw. nicht zufriedenstellend arbeiten Können wiederum sein Funktionale Anforderungen Nichtfunktionale Anforderungen 30.03.2017 © 2006 - Christian Gütl

Problembereichsanforderungen 2 Beispiele Bibliothekssystem Funktionale Problembereichsanforderung Vormerkfunktion (wenn Buch verborgt, stelle Vormerkfunktion zur Verfügung) Nichtfunktionale Problembereichsanforderung Unterstützung von Klassifikationssystem z.B. Dewey Decimal Classification Buchhaltungsprogramm (Vorschriften gemäß Finanzsteuerrecht) Splitbuchung (Aufteilung des Rechnungsbetrages auf verschiedene Konten) Einhaltung der Vorschriften von BAO, UStG, EStG 30.03.2017 © 2006 - Christian Gütl

Benutzeranforderungen 30.03.2017 © 2006 - Christian Gütl

Benutzeranforderungen 1 Abstrakt, für Nichttechniker verständlich  Auch für den Systembenutzer verständlich Aussagen in natürlicher Sprache Ggf. zusätzlich Abbildungen, Diagramme zum besseren Verständnis Es soll nur das externe Verhalten des Systems festgelegt werden  ermöglicht mehrere Systemlösungen verschiedener Anbieter Charakteristika des Systementwurfs soll vermieden werden  Anforderungen nicht durch Implementierungsmodelle beschreiben Hinweis aus der Praxis: Zu viele Informationen schränkt die Freiheit des Systementwicklers ein, innovative Lösungen zu finden 30.03.2017 © 2006 - Christian Gütl

Benutzeranforderungen 2 Anmerkungen und Hinweise Nutzung eines Standardformates ist sinnvoll Versäumnisse weniger wahrscheinlich Leichter überprüfbar Formatierungen Hervorhebung wichtiger Aussagen Begründungen sind hilfreich für Systementwickler und Systemwarter (Nachvollziehbarkeit) Nutzung einer einheitlichen Ausdrucksweisen „sollen“  Verbindliche Anforderungen „sollten“  wünschenswerte Anforderungen Vermeiden von Computerjargon Ausdrücke des Fachbereiches lassen sich kaum vermeiden 30.03.2017 © 2006 - Christian Gütl

Benutzeranforderungen 3 Beispiel Benutzeranforderung [Sommerville 2001] 3.5.1 Hinzufügen von Knoten zu einem Entwurf 3.5.1.1 Der Editor soll dem Benutzer die Möglichkeit bieten, Knoten eines bestimmten Typs zum Entwurf hinzuzufügen 3.5.1.2 Beim Hinzufügen von Knoten sollen folgende Vorgänge stattfinden Der Benutzer soll den hinzuzufügenden Knotentyp auswählen. Der Benutzer soll den Cursor in die Nähe der Knotenposition im Diagramm bewegen um die ungefähre Position festzulegen. Der Benutzer soll dann das Knotensymbol auf die endgültige Position ziehen. Begründung: Der Benutzer kann am besten entscheiden, wo der Knoten im Diagramm zu platzieren ist. Diese Methode gibt dem Benutzer die direkte Kontrolle.  Systemanforderung: Mytool/DE/SA/Abschnitt 3.5.1 30.03.2017 © 2006 - Christian Gütl

Systemanforderungen 30.03.2017 © 2006 - Christian Gütl

Systemanforderungen 1 Systemanforderungen Sind genauere Beschreibungen der Benutzeranforderungen Sollten vollständig und widerspruchsfrei sein Wird als Startpunkt des Softwareentwurfs verwendet Ggf. zusätzliche Verwendung von Systemmodellen Systembeschreibungen sollen festlegen, was das System tut und nicht wie es implementiert wird. Praktisch ist es unmögliche, jegliche Entwurfsinformationen auszuschließen, z.B. Grobe Systemarchitektur Integration mit anderen Systemen Vorgabe der Nutzung v. bestimmten Entwurf 30.03.2017 © 2006 - Christian Gütl

Systemanforderungen 2 30.03.2017 © 2006 - Christian Gütl

Systemanforderungen 3 Notationen der Systemanforderungen Natürliche Sprache Nachteil: Verständnis hängt von Autor und Leser ab Überflexible: Verschiedene Darstellungsarten Schwierig zu Modularisieren (Abhängigkeiten finden) Strukturierte natürliche Sprache „Künstliche“ Sprache, Standardformulare u. Vorlagen Sprachen zur Entwurfsbeschreibung (PDL) Sprachen ähnlich einer Programmiersprache Grafische Notationen Graphische Sprache mit Textvermerken ergänzt (z.b. SADT oder Use Cases) Mathematische Notationen Mathematische Konzepte wie endliche Zustandsmaschinen oder Mengen 30.03.2017 © 2006 - Christian Gütl

Strukturierte natürliche Sprache 1 Standardformulare sollen folgende Informationen beinhalten Beschreibung der Funktion oder Entität Beschreibung der Eingabedaten und Herkunft Beschreibung der Ausgabedaten und Ziel Hinweis welche andere Entitäten verwendet werden Bei Beschreibung funktionaler Methoden: Vor- und Nachbedingungen Beschreibung von Seiteneffekten Achtung: Zusammenhang zwischen Benutzer- u. Systemanforderung soll ersichtlich sein ! 30.03.2017 © 2006 - Christian Gütl

Strukturierte natürliche Sprache 2 Mytool/DE/SA/Abschnitt 3.5.1 [Sommerville 2001] Funktion Knoten hinzufügen Beschreibung Fügt einen Knoten zu einem vorhandenen Entwurf hinzu. Der Benutzer wählt Typ und Position des Knotens. Aktueller Knoten ist nach Einfügen ausgewählt. Benutzer bestimmt die exakte Knotenposition durch die Stelle der Cursor Position. Eingaben Knotentyp, Knotenposition, EntwurfsID Herkunft Knotentyp u. Position durch Benutzer, EntwurfID durch Datenbank Ausgabe EntwurfsID Ziel Entwurfsdatenbank (am Ende d. Operation) Benötigt Entwurfsgraphen, gekennzeichnet durch EntwurfsID des Rootknotens Vorbedingung Entwurf geöffnet und am Bildschirm dargestellt Nachbedingung Entwurf ergänzt um hinzugefügten Knoten Seiteneffekte Keine  Benutzeranforderung: Mytool/DE/BA/Abschnitt 3.5.1 30.03.2017 © 2006 - Christian Gütl

Strukturierte natürliche Sprache 3 Anwendung von Standardformularen Sinnvoll für „Funktionale Anforderungen“ Geeignete Vorlagen zur Verfügung stellen Vorteil von Standardformularen Ausdruckskraft und Verständlichkeit der natürlichen Sprachen bleibt erhalten Einheitlichkeit der Systemanforderungen Verhindert Übersehen von wichtigen Informationen Leichtere Prüfbarkeit Nachteil Komplexe Vorgänge schwer darstellbar Mehrdeutigkeit der Sprache bliebt erhalten 30.03.2017 © 2006 - Christian Gütl

Sprachen zur Entwurfsbeschreibung 1 Sprachen der Entwurfsbeschreibung bzw. Program Description Language (PDL) = an Programmiersprachen angelehnte Sprache mit zusätzlichen abstrakten Konstrukten Motivation Mehrdeutigkeiten der natürlichen Sprache entgegenzuwirken Anwendung Um komplexere Abläufe von Vorgängen zu beschreiben, ergänzend zu Formular-basierten A. Festlegung von Hard- u. Softwareschnittstellen (Schnittstellenobjekte und Typen festlegen)  als vollständiger Ersatz schwerer lesbar 30.03.2017 © 2006 - Christian Gütl

Sprachen zur Entwurfsbeschreibung 2 class ATM { // Deklarationen public static void main (String args[]) throws InvalidCard { try { thisCard.read(); // Kann die Exception // Invalid Card auslösen pin = KeyPad.readPIn(); attempts = 1; while (!thisCard.pin.equals (pin) & attempts < 4) { pin = KeyPad.readPin(); attempts = attempts + 1; } if (!thisCard.pin.equals (pin)) throw new InvalidCard (“Bad PIN”); thisBalance = thisCard.getBalance(); do { Screen.prompt(“Please select a service “); service = Screen.touchKey(); switch (service) { …… // Andere Funktionsbeschreibungen default break; [Sommerville 2001] 30.03.2017 © 2006 - Christian Gütl

Sprachen zur Entwurfsbeschreibung 3 Vorteile Eindeutige Beschreibung Abläufe gut Darstellbar Nachteile Notation nur für Menschen verständlich, die Kenntnisse über Programmiersprachen haben Gewählte Sprache kann u.u. zu Ausdrucksschwach sein, um alle Systemfunktionen zu beschreiben Kann von Projektbeteiligten für Entwurfsspezifikation gehalten werden Anmerkung aus der Praxis Gut kombinierbar mit strukturierten natürlichen Sprache 30.03.2017 © 2006 - Christian Gütl

Anforderungsdokumente 30.03.2017 © 2006 - Christian Gütl

Das Lastenheft Lastenheft ([QMLexikon] nach DIN 69905) Anmerkungen „Gesamtheit der Forderungen des Auftraggebers an die Lieferungen und Leistungen eines Auftragnehmers.“ „Im Lastenheft sind die Forderungen aus Anwendersicht einschließlich aller Randbedingungen zu beschreiben. Diese sollten qualifizierbar und prüfbar sein. Im Lastenheft wird definiert, was für eine Aufgabe vorliegt und wofür diese zu lösen sind.“ Anmerkungen Inhalt entspricht den Benutzeranforderungen. In Praxis stellen Kunden selten ein Lastenheft zur Verfügung. Meist steht nur eine grobe Beschreibung zur Verfügung. 30.03.2017 © 2006 - Christian Gütl

Das Pflichtenheft 1 Pflichtenheft Anmerkungen Beinhaltet im Allgemeinen Benutzeranforderungen und Systemanforderungen Anmerkungen Meist sind Benutzeranforderungen und Systemanforderungen in einem Dokument  Systemanforderungen umfangreicher Systeme werden in mehreren Dokumenten beschrieben Benutzeranforderungen und Systemanforderungen sollen einander referenzieren Ist offizielle Aufstellen was umgesetzt werden soll Basis für die Abnahme Kann Bestandteil des Vertrages sein 30.03.2017 © 2006 - Christian Gütl

Das Pflichtenheft 2 30.03.2017 © 2006 - Christian Gütl

Struktur des Pflichtenheftes 1 Abschnitt 1: Allgemeines Vorwort Versionsgeschichte (Was ist neu und Warum?) Zielgruppen des Dokumentes Einleitung Begründung / Notwendigkeit des Systems Adressierung strategischer Ziele d. Unternehmens Funktionsweise im Überblick Zusammenwirken mit anderen (bestehenden) Systemen Begriffe und Abkürzungen Technische Fachbegriffe Abkürzungen Verweise auf referenzierte Literatur 30.03.2017 © 2006 - Christian Gütl

Struktur des Pflichtenheftes 2 Abschnitt 2: Anforderungsbeschreibung Benutzeranforderungen … in natürlicher Sprache, sowie Diagramme und andere, für Kunden, verständliche Beschreibungen Systemarchitektur Grobe Überblick über die Funktionsarchitektur (Gruppierung von Funktionen zu Systementeilen  Block 4) Systemanforderungen Detaillierte, technische Beschreibung der Benutzeranforderungen Systemmodelle Ein oder mehrere Systemmodelle, die Beziehungen zwischen Systemteilen und Systemumgebung aufzeigt Dient der speziellen Darstellung von besonderen Systemeigenschaften (z. Datenflussdiagramm) 30.03.2017 © 2006 - Christian Gütl

Struktur des Pflichtenheftes 3 Abschnitt 3: Anhang genauere, spezifische Informationen zu bestimmten Details, u.a. Hardwarebeschreibung Datenbankbeschreibung Zusammenarbeit mit anderen Systemen … Projektbeteiligte bzw. Stakeholder Spezifische Anforderungen Widersprüche Konfliktauflösung Kompromisse mit Begründung 30.03.2017 © 2006 - Christian Gütl

Das Pflichtenheft 4 Kennzeichen eines guten Pflichtenheftes Es soll leicht verständlich sein. Es soll nur das äußere Systemverhalten beschrieben werden.  WAS Es soll leicht zu verändern sein. Es sollen die Veränderungen leicht nachvollziehbar sein. Anmerkungen Kunden sind häufig nicht einsichtig, das Kosten für eine Spezifikation anfallen. Ein gut erstelltes Pflichtenheft kann nachträglich viel Ärger und Kosten vermeiden!!! 30.03.2017 © 2006 - Christian Gütl

Abschnitt 2 Abläufe der Anforderungsanalyse © 2006 - Christian Gütl 30.03.2017 © 2006 - Christian Gütl

Durchführbarkeitsstudie 1 30.03.2017 © 2006 - Christian Gütl

Durchführbarkeitsstudie 2 Vgl. „Idea & Prelaunch Stage“ der Project Process Architecture (PPA) Lt. Sommerville soll die Studie folgenden Fragen beantworten Beitrag zur Erreichung der Gesamtziele? Kann System unter Nutzung gegenwärtiger Technologien (Hardware u. Software) innerhalb Kosten und Zeitressourcen umgesetzt werden? Arbeitet System mit vorhandenen Systemen zusammen?  1. Punkt in Idea Stage  2. und 3. Punkt in Prelaunch Stage 30.03.2017 © 2006 - Christian Gütl

Anforderungsbestimmung u. -analyse 1 30.03.2017 © 2006 - Christian Gütl

Anforderungsbestimmung u. -analyse 2 Auftragnehmer (Projektleiter, Softwareentwickler) arbeitet mit Kunden und Systembenutzern eng zusammen Bestimmung von Anwendungsbereich vom System zu leistende Dienste erforderlichen Funktionen Einschränkungen Einfluss auf die Anforderungen nehmen die Projektbeteiligten bzw. Stakeholder 30.03.2017 © 2006 - Christian Gütl

Anforderungsbestimmung u. -analyse 3 Probleme / Blick aus der Praxis Stakeholder können Erwartungen an System schwer ausdrücken, meist mit impliziten Wissen ihrer Tätigkeiten  Fachbereichswissen notwendig Stakeholder haben zum Teil unrealistische Forderungen  Hinblick Ressourcen Verschiedene Stakeholder haben unterschiedliche Anforderungen  andere Ausdrucksweise vs. Übereinstimmung und Konflikte Interne und externe Unternehmensumwelt ist veränderlich  Bedeutung von Anforderungen können sich verändern Auswirkung von U-politischen Faktoren auf Anforderungen  Manager wollen ihre Macht erhalten oder ausbauen 30.03.2017 © 2006 - Christian Gütl

Ablauf- und Analysemodell 1 30.03.2017 © 2006 - Christian Gütl

Ablauf- und Analysemodell 2 Allgemeines Ablauf- und Analysemodell Verstehen des Anwendungsbereiches Systemanalytiker braucht Einblick in Fachbereich Anforderungssammlung Aktivitäten um Anforderungen zusammen zu tragen Wissen über Anwendungsbereich erweitert sich Klassifizierung Ordnen der Anforderungen zu Gruppen Konfliktlösung verschiedene Anforderungen durch Projektbeteiligte  finden und lösen von Konflikten Setzen von Prioritäten Wichtige von unwichtige Anforderungen trennen Anforderungsüberprüfung Siehe „Validierung der Anforderungen“ 30.03.2017 © 2006 - Christian Gütl

Anforderungsbestimmung Prozess der Informationssammlung von vorgeschlagenen Systemen vorhandenen Systemen Informationsquellen dafür sind Dokumentationen / Dokumente Stakeholder Beschreibung ähnlicher Systeme Unterstützende Techniken Viewpoint-orientierte Bestimmung Interviews Szenarien (z.B. Use-cases) Ethnografie … 30.03.2017 © 2006 - Christian Gütl

Viewpoint-orientierte Bestimmung 1 Projektbeteiligte haben verschiedene Sichtweisen auf das System Perspektiven Ergänzen sich Überlappen sich Widersprechen sich … betrachtet diese verschiedenen Sichtweisen, organisiert und strukturiert den Prozess und die Anforderungen nach den Sichtweisen Vorteil: Existenz vieler Perspektiven wird beachtet Hilft Anforderungen zu identifizieren Hilft Konflikte/Widersprüche aufzudecken 30.03.2017 © 2006 - Christian Gütl

Viewpoint-orientierte Bestimmung 2 Arten von Viewpoints Interactor Viewpoint Personen oder andere Systeme, die direkt mit dem System interagieren Indirect Viewpoint Stakeholders, welche das System nicht selbst benutzen, aber die Anforderungen beeinflussen Domain Viewpoint Fachbereichseinflüsse, die sich auf die Anforderungen auswirken Organisation in Hierarchien Gemeinsam gültige Anforderungen sind in den oberen Hierarchien Für speziellere Viewpoint können spezifische Anforderungen identifiziert werden 30.03.2017 © 2006 - Christian Gütl

Viewpoint-orientierte Bestimmung 3 Vorschlag für Vorgehensweise Identifizieren von Viewpoints, Dienste, Dateneingaben u. nichtfunktionalen Anforderungen  am besten durch Brainstorming Bestimmung der Viewpoints  zuordnen v. Diensten u. Eingaben zu Viepoints  nicht zugeordnete Dienste  neuer Viewpoint Ausfüllen von Viewpoint-Formularen Dienst-Formularen Bilden von Viewpoint-Hierarchien  identifiziert allgemeine Dienste, Vererbung nach unten  Spezifische Dienste darunter vs. Konflikte Beschreiben detaillierter Informationen über die benötigten Dienste und Daten 30.03.2017 © 2006 - Christian Gütl

Interviews Interviews Interviews mit ausgewählten Stakeholdern sind im Anforderungsprozess weit verbreitet Dabei unterscheidet man Kontrolliertes Interview  vordefinierte Fragestellungen Offenes Interview  Erörterung von verschiedenen Themen und Fragestellungen Anmerkungen aus der Praxis Meist Mix aus offenen und kontrollierten Interview  nur offenes Interview wenig erfolgreich Gut geeignet um Überblick der Arbeitsweisen der Stakeholder zu bekommen und wie sie mit System umgehen Nicht gut für Organisatorische Anforderungen 30.03.2017 © 2006 - Christian Gütl

Szenarien Szenarien Ein Szenario sollte enthalten Menschen finden es einfacher, einen Bezug durch reale Beispiele herzustellen Sie können durch Szenarien die Rollen und den Umgang mit Systemen leichter verstehen Ein Szenario sollte enthalten Systemzustand zu Beginn des Szenarios Beschreibung des „normalen“ Ereignisablaufs Beschreibung von möglichen Fehlern und deren Behandlung Hinweis auf anderen Aufgaben, die parallel ablaufen können Beschreibung des Systemzustandes nach Abschluss des Szenarios 30.03.2017 © 2006 - Christian Gütl

Use-cases Use-cases Ist eine Szenario-basierte Technik Ist Bestandteil von UML Stellt Akteure und die verfügbaren „Anwendungsfälle“ dar  Details durch Textbeschreibung od. Sequenzdiagramm 30.03.2017 © 2006 - Christian Gütl

Ethnografie Ethnographie Softwaresysteme sind keine isolierte Systeme  in soziales u. wirtschaftliches Umfeld eingebettet Soziale u. wirtschaftliche Anforderungen müssen auch berücksichtigt werden  Projekterfolg … ist eine beobachtende Technik um Einblick zu gewinnen beobachtet tägliche Arbeit der Stakeholder und ihre Zusammenarbeit Kann damit implizite Anforderungen aufdecken Beispiel: Büroautomatisierungssysteme Tatsächliche Arbeit viel reichhaltiger und komplexer als durch die Systeme abgedeckt Mögliche Ursache dafür, dass die Systeme keine Effizienzsteigerung brachten 30.03.2017 © 2006 - Christian Gütl

Validierung von Anforderungen 1 30.03.2017 © 2006 - Christian Gütl

Validierung von Anforderungen 2 Umfasst verschiedene Arten der Prüfung Gültigkeitsprüfungen  haben die Anforderungen für alle Nutzer des System Gültigkeit  Achtung: meist Kompromiss für verschiedene Stakeholder Konsistenzprüfungen  keine Widersprüche o. unterschiedl. Beschreibungen Vollständigkeitsprüfungen  Berücksichtigung aller erwarteten Anforderungen Realisierbarkeitsprüfungen  vs. Technologie, Budget u. Zeitressourcen Verifizierbarkeitsprüfung  Anforderungen sollen eindeutig überprüfbar sein  sonst bei Abnahme Problempotential !!! 30.03.2017 © 2006 - Christian Gütl

Validierung von Anforderungen 3 Techniken der Anforderungsvalidierung Anforderungsreviews Mehrere Personen Informell (Entwicklungsteam) Anforderungen mit Projektbeteiligte diskutieren Formell (Entwicklungsteam und Kunde) Sind Anforderungen verständlich, verifizierbar, nachvollziehbar, anpassbar? Prototypen  ein System zum Experimentieren dem Kunden zur Verfügung gestellt  Einblick ob tatsächliche Bedürfnisse erfüllt werden Testfallerzeugung  Anforderungen sollen testbar sein  im Vorfeld Testfälle erzeugen  Probleme bei Erstellung lässt auf Anforderungsprobleme schließen 30.03.2017 © 2006 - Christian Gütl

Fragen und Anmerkungen! Danke! Thanx! 30.03.2017 © 2006 - Christian Gütl

Quellen 1 [Sommerville 2001] Sommerville, Ian: Software Engineering; 6. Auflage, München, Germany, 2001. [Sommerville 2005] Sommerville, Ian: Software Engineering 7; 7. Auflage, Addison-Wesley, Boston, USA, 2005. [QMLexikon] Lastenheft http://www.quality.de/lexikon/lastenheft.htm 30.03.2017 © 2006 - Christian Gütl