3. Analyse Gliederung: Einführung Anforderungsdefinition

Slides:



Advertisements
Ähnliche Präsentationen
Das 10-Kanal- Lauflicht Schülerinnen und Schüler der Klasse 3BKE1 im Schuljahr 2004/2005, Heinrich-Hertz-Schule, Karlsruhe.
Advertisements

Wasserforum März 2005 – Joachim Wöhler, MU Niedersachsen Schutzgebiete in der Flussgebietseinheit Weser Bestandsaufnahme in der Flussgebietseinheit.
1 Gliederung 1.Einleitung 1.Wo steht die BTU? 2.1 Energieregion Lausitz 2.2 Universitäre Aktivitäten -Verbrauchsdaten der BTU -Universitäre Gremien -Umweltpolitik.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 07 Prof. Albert Zündorf
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
3. Klassendiagramme in Java implementieren
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Use Case Driven Software Development
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 GUI Konstruktion: 1. Entwurf mit Papier und Bleistift / Post Ist 2. Eventuell.
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
Reservierungs Datenbank
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung Student erbt von Person: extensional: Menge der Studenten.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Programmiermethodik SS 06 Prof. Albert Zündorf
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Objektorientierte Vererbung
Tätigkeiten bei der Softwareentwicklung
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2007/08 m.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan:
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern.
Projektmanagement Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Teamorganisation: Versionsverwaltung
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Software Engineering I
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS 10 Prof. Albert Zündorf
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Schätzverfahren: Phasenbasierte Vergleichsschätzung
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Programmiermethodik WS 2013/14 Prof. Albert Zündorf
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1338)
Vorgehensmodelle Motivation Softwaretechnik Beispiel
Vorgehensmodelle: Wasserfallmodell
Zeitplanerstellung ACHTUNG:
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Petra Mutzel: DAP2, Universität Dortmund SS Rotationen (1) b(5)=2 b(7)=0 b(7)=1 5 ist unbalanciert5, 7, 8 sind balanciert b(5)=0 Rotation nach.
Titel der Praxissemester-Arbeit
Programmiermethodik SS2011 © 2011 Albert Zündorf, University of Kassel 1 Programmentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen.
6. Story Driven Modeling Gliederung: Einführung
Test Summary: ein Fehler pro Tag Test First
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

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

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

Projekthandbuch Beispiel Projekthandbuch Ludo Online 1. Autraggeber: Albert Zündorf , Universität Kassel 34121 Kassel Tel.: 0333 77 888, Fax: 0333 77 889 Email: k.vorbild@kk-heidenheim.de 2. Auftragnehmer: Kasseler Webanwendungen GMBH, Annelise Beispiel, Mat.Nr. 012345, E-mail: a.b@uks.de Max Muster, Mat.Nr. 023455, E-mail: m.m@uks.de "Titelseite" Dokumentartbezeichnung Projektname Auftraggeber Auftragnehmer Versionsgeschichte: mit jeweils Versionsnummer Datum Autor Prüfer Version: Datum: Autor: Prüfdatum Prüfer 0.1 04.11.05 A. Beispiel 0.2 06.11.05 M. Muster 1.0 11.11.05 14.11.05 A. Zündorf Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

Projekthandbuch Beispiel Fax.: ..... E-Mail: ….. 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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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 SS2006 © 2005 Albert Zündorf, University of Kassel

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

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