Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 3. Analyse Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse <==

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 3. Analyse Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse <=="—  Präsentation transkript:

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

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

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

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

5 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 5 Projekthandbuch Beispiel 3. Zielbestimmung m so eine Art Einleitung m Hauptaufgabe m evtl. Prinzipskizze Kann man meist von der Aufgabenstellung / von der Auftragsanfrage abschreiben 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.

6 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 6 Projekthandbuch Beispiel 3.1. Produkteinsatz (Geschäftsprozessmodell) m Darstellung von Arbeitsvorgängen in einer Firma. m Einzelne Schritte / Teilabläufe sollen durch das Projekt automatisiert werden m Kontext des Projekts m Workflowsprachen wie EPKs … 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

7 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 7 Projekthandbuch Beispiel 3.2 Glossar m Definition wichtiger Begriffe m sehr schwieriger Schritt m später Klassendiagramm => siehe Ontologie m entfällt in unser Projektarbeit …. 3. Zielbestimmung … Produkteinsatz … 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. …......

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

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

10 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 10 Projekthandbuch Beispiel Usecase Beschreibungen m einfache Texte (zu ungenau) m Formulare (erster Schritt) m UML Scenariodiagramme (zweiter Schritt) (meist erst in der Analyse) … 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 f

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

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

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

14 Programmiermethodik SS2006 © 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. tom theDie s1 v == 3 1: steps := 3 die m Collaborations-Nachrichten

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

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

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

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

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

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

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

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

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

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

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

26 Programmiermethodik SS2006 © 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.

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

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


Herunterladen ppt "Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 3. Analyse Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse <=="

Ähnliche Präsentationen


Google-Anzeigen