Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

3. Analyse Gliederung: Einführung Anforderungsdefinition

Ähnliche Präsentationen


Präsentation zum Thema: "3. Analyse Gliederung: Einführung Anforderungsdefinition"—  Präsentation transkript:

1 3. Analyse Gliederung: Einführung Anforderungsdefinition
UML Objektdiagramme  / UML Kollaborationsdiagramme    UML Activity Diagramme Story Boards Grundstruktur des Analysedokuments Objektspiel UML Sequenzdiagramme Design Zusammenfassung Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

2 Story Driven Modeling Anforderungsdefinition: textuelle Szenarien
Analyse: objektorientierte Szenario-Beschreibungen (plus Klassendiagramme) Objektspiel zur Validierung der Objekt-Szenarien Design: Methodische Ableitung von automatischen Tests Methodische Ableitung von Methoden-Implementierungen (plus Klassendiagramme) Zetteltests Automatische Code-Generierung Systematisches Testen Noch nicht erfasst: Grafical User Interface Wartung Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

3 Grundstruktur des Projekthandbuchs
Titelseite Auftraggeber Auftragnehmer Versionsbezeichnung / -historie Zielbestimmung Produkteinsatz (Relevante Geschäftsprozesse) Glossar Analyse (Produktfunktionen) <== Design (Produktdaten) Validierung Nichtfunktionale Anforderungen Produktleistungen Qualitätsanforderungen Projektplan Aufwandsschätzung Zeitplan Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

4 Projekthandbuch Beispiel
Projekthandbuch Ludo Online 1. Autraggeber: Albert Zündorf , Universität Kassel Kassel Tel.: , Fax: 2. Auftragnehmer: Kasseler Webanwendungen GMBH, Annelise Beispiel, Mat.Nr , Max Muster, Mat.Nr , "Titelseite" Dokumentartbezeichnung Projektname Auftraggeber Auftragnehmer Versionsgeschichte: mit jeweils Versionsnummer Datum Autor Prüfer Version: Datum: Autor: Prüfdatum Prüfer 0.1 A. Beispiel 0.2 M. Muster 1.0 A. Zündorf Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

5 Projekthandbuch Beispiel
Fax.: ….. 3. Zielbestimmung Ludo ist ein zeitlos populäres Spiel. Als ersten Baustein eines werbefinanzierten Webportals für klassische Brettspiele soll daher in diesem Projekt eine online Version von Ludo erstellt werden. Projekthandbuch Beispiel 3. Zielbestimmung so eine Art Einleitung Hauptaufgabe evtl. Prinzipskizze Kann man meist von der Aufgabenstellung / von der Auftragsanfrage abschreiben Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

6 Projekthandbuch Beispiel
…. 3.1. Produkteinsatz Das online Ludo soll eine Vielzahl von Besuchern auf unser Webportal locken. Dort soll man an Einzelspielen oder Turnieren teilnehmen können. Das Benutzerinterface soll dem normalen Brettspiel möglichst intuitiv nachempfunden sein. . . . ..... Projekthandbuch Beispiel 3.1. Produkteinsatz (Geschäftsprozessmodell) Darstellung von Arbeitsvorgängen in einer Firma. Einzelne Schritte / Teilabläufe sollen durch das Projekt automatisiert werden Kontext des Projekts Workflowsprachen wie EPKs Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

7 Projekthandbuch Beispiel
…. 3. Zielbestimmung ….. 3.1 Produkteinsatz 3.2 Glossar Spielbrett: Das Spielbrett zeigt die einzelnen Spielfelder, die Heimatfelder der Spieler und die Zielfelder an. Er gibt die Wege für die Spielsteine vor und er gibt die aktuellen Positionen aller Spielsteine wider. Spieler: Es können bis zu vier Spieler teilnehmen. Jedem Spieler sind über seine Farbe seine Heimatfelder, seine Spielsteine und seine Zielfelder zugeordnet. SpielStein: Jeder Spieler hat vier Spielsteine seiner Farbe. Die Spielsteine werden gemäß der gewürfelten Augenzahlen weiterbewegt. ..... Projekthandbuch Beispiel 3.2 Glossar Definition wichtiger Begriffe sehr schwieriger Schritt später Klassendiagramm => siehe Ontologie entfällt in unser Projektarbeit Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

8 Projekthandbuch Beispiel
.... 4. Analyse (Produktfunktionen) Die Produktfunktionen sind gemäß folgendem Packagediagramm gegliedert: ..... Projekthandbuch Beispiel 4. Analyse (Produktfunktionen) Auflistung und Erklärung der Hauptfunktionen des zu erstellenden Programms Package Diagramme zur hierarchischen Organisation Use-Case Diagramme für "einfache„ Packages strukturierte Erläuterung der Use-Cases Gegebenenfalls GUI-Screen-Shots Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

9 Projekthandbuch Beispiel
.... 4.1 Package Ludo Das Package Ludo fasst die zentralen Funktionen des Spiels Ludo zusammen: ..... Projekthandbuch Beispiel Usecase Diagramme Usecase <==> Produktfunktion Actor <==> "Benutzer" System <==> "Programm" Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

10 Projekthandbuch Beispiel
….. 4.1.1 Usecase move (Autor: A. Muster) Scenario: simple Start Situation: Tom spielt Ludo gegen Albert. Tom hat eine 3 gewürfelt. Initial: Tom wählt seinen ersten Spielstein s1 auf Feld f3. Step 1: Der Spielstein sieht beim Würfel, dass drei Schritte zu machen sind. Step 2: Der Spielstein macht einen Schritt. Zwei bleiben. Step 3: Der Spielstein macht den zweiten Schritt. Step 4: Der Spielstein macht den letzten Schritt Result Situation: Der Spielstein steht jetzt auf Feld f6. ..... Projekthandbuch Beispiel Usecase Beschreibungen einfache Texte (zu ungenau) Formulare (erster Schritt) UML Scenariodiagramme (zweiter Schritt) (meist erst in der Analyse) Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

11 Analyse: Ausarbeitung der textuellen Usecase Szenarios durch Folge von Objektdiagrammen  Story Boards Ein Objektdiagramm pro Szenario-Schritt Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

12 Methodische Erstellung von Objektdiagrammen:
….. 4.1.1 Usecase move (Autor: A. Muster) Scenario: simple Start Situation: Tom spielt Ludo gegen Albert. Tom hat eine 3 gewürfelt. Hauptwörter unterstreichen => Kandidaten für Objekte Verbformen => Nachrichten Eigenschaften => Attribute (... Tom spielt blaue Steine …) Links: Besitzanzeigende Fürworter (mein, ihr, ...) Präpositionen: (auf, unter, neben, in, ...) Nachrichtenwege ... Problem der Homonyme und Synonyme    => Ontologie Das ist ein kreativer Vorgang Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

13 Methodische Erstellung von Objektdiagrammen:
Scenario: simple Initial: Tom wählt seinen ersten Spielstein s1 auf Feld f3. Hauptwörter unterstreichen => Kandidaten für Objekte Verbformen => Nachrichten Eigenschaften => Attribute (... Tom spielt blaue Steine …) Links: Besitzanzeigende Fürworter (mein, ihr, ...) Präpositionen: (auf, unter, neben, in, ...) Nachrichtenwege ... Problem der Homonyme und Synonyme    => Ontologie Das ist ein kreativer Vorgang 1: _ _ _ _ _ _ _ _ Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

14 Modellierung von Beispielverhalten
Step 1: Der Spielstein sieht beim Würfel, dass drei Schritte zu machen sind. Collaborations-Nachrichten theDie die tom v == 3 s1 1: steps := 3 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

15 Modellierung von Beispielverhalten
Step 2: Der Spielstein macht einen Schritt. Zwei bleiben. <<create>> und <<destroy>> Marker := Attributzuweisungen bekannte Objekte ohne Klassennamen neue Objekte mit Klassenname (Änderung des Ausschnitts) Collaborations-Nachrichten theDie die tom v == 3 1: moveOneStep() stones s1 «destroy» «create» at at at f3 f4 :Field next 2: steps := 2 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

16 Modellierung von Beispielverhalten
Step 3: Der Spielstein macht den zweiten Schritt. <<create>> und <<destroy>> Marker := Attributzuweisungen bekannte Objekte ohne Klassennamen neue Objekte mit Klassenname (Änderung des Ausschnitts) Collaborations-Nachrichten theDie die tom v == 3 1: moveOneStep() stones s1 «destroy» «create» at at at f3 f4 f5 :Field next next 2: steps := 1 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

17 Modellierung von Beispielverhalten
Step 4: Der Spielstein macht den letzten Schritt <<create>> und <<destroy>> Marker := Attributzuweisungen bekannte Objekte ohne Klassennamen neue Objekte mit Klassenname (Änderung des Ausschnitts) Collaborations-Nachrichten theDie die tom v == 3 1: moveOneStep() stones s1 «destroy» «create» at at at f5 f6 :Field next 2: steps := 0 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

18 Modellierung von Beispielverhalten
Result Situation: Der Spielstein steht jetzt auf Feld f6. <<create>> und <<destroy>> Marker := Attributzuweisungen bekannte Objekte ohne Klassennamen neue Objekte mit Klassenname (Änderung des Ausschnitts) Collaborations-Nachrichten theDie die tom v == 3 stones s1 at f5 f6 next Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

19 "Syntax" von Objektdiagrammen:
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

20 Semantik von Objektdiagrammen
Objektdiagramme zeigen Ausschnitt der Objektwelt zu bestimmtem Zeitpunkt Momentaufnahme / Schnappschuss zur Laufzeit eines System (Teil des dynamischen Modells) Konsistenzbedingungen: Objektbezeichner müssen eindeutig sein Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

21 Erweiterungen für Story Driven Modeling
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

22 Projekthandbuch Beispiel
….. 5. Design (Produktdaten) Projekthandbuch Beispiel 5. Design (Produktdaten): Beschreibung der wichtigsten Datenstrukturen jetzt nicht mehr textuell Klassendiagramm plus Erläuterung aller Klassen pro Klasse Erläuterung jedes Attributs Erläuterung aller Assoziationen. pro Klasse Erläuterung jeder Methode Siehe Vorlesung am Dienstag Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

23 The FAMous Fujaba Abstract Machine (Teil 1)
Step 2: Der Spielstein macht einen Schritt. Zwei bleiben. in den Objekten werden Kommandos / Nachrichten von vergesslichen „Object Guys“ abgearbeitet Object Guys schlafen normaler weise beim Aufwachen wird die Umgebung wird vom „Nebel des Vergessens“ verschleiert Object Guys sehen nicht was die anderen tun Jeder Object Guy hat eigenen „Namensraums“ Object Guy hat „Handlungsanweisungen“ für jedes mögliche Komando Immer ein Object Guy pro Nachricht theDie die tom v == 3 1: moveOneStep() stones s1 «destroy» «create» at at at f3 f4 :Field next 2: steps := 2 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

24 The FAMous Fujaba Abstract Machine (Teil 1)
Step 2: Der Spielstein macht einen Schritt. Zwei bleiben. Object Guy kann: Kanten und Attribute lesen um Nebel zu vertreiben lokale Namen für Nachbarn vergeben temporäre Werte notieren Berechnungen durchführen Nachrichten verschicken (wartet (untätig) auf Antwort) Antworten zurückschicken (und wieder einschlafen) Attribute schreiben Kanten löschen / erzeugen Objekte löschen / erzeugen theDie die tom v == 3 1: moveOneStep() stones s1 «destroy» «create» at at at f3 f4 :Field next 2: steps := 2 Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

25 Objektspiel: Teilnehmer übernehmen die Rolle einzelner Objekte (Object Guys) Links durch Arm auf Schulter Augen verbinden Moderator schickt initialen Aufruf an ein „Objekt“ aktives „Objekt“ führt Object Guy Schritte aus Protokollant schreibt die Schritte an der Tafel mit Beispiel: Tom hat 6 gewürfelt und stellt Spielstein s3 vom Heimat- auf das Startfeld. Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

26 Online Übung: 1. Bob hat einen Spielstein auf dem Feld und drei im Heimatfeld. Er ist dran und hat gerade eine 6 gewürfelt. 2. Bob hat soeben eine seiner Spielfiguren aus dem Heimatfeld auf das Startfeld heraus gesetzt und darf nun noch einmal würfeln. Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

27 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

28 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel


Herunterladen ppt "3. Analyse Gliederung: Einführung Anforderungsdefinition"

Ähnliche Präsentationen


Google-Anzeigen