Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Use Case Driven Software Development
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
2
Grundstruktur des Projekthandbuchs
Titelseite Auftraggeber Auftragnehmer Versionsbezeichnung / -historie Zielbestimmung Produkteinsatz (Relevante Geschäftsprozesse) Glossar Analyse (Produktfunktionen) Design (Produktdaten/Methoden) Validierung Nichtfunktionale Anforderungen Produktleistungen Qualitätsanforderungen Projektplan Aufwandsschätzung Zeitplan Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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 theDie die tom v == 3 albert stones s1 at at f3 f4 f4 f4 next next next Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
12
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 tom 1: _ _ _ _ _ _ _ _ Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
13
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
14
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
15
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
16
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
17
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
18
Storyboard / Scenario wird JUnit Test
Feste Zuordnung Usecase – realisierende Methode Aus Szenarien automatische Tests ableiten Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
19
Projekthandbuch Beispiel
….. 5. Design 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
20
Methodenimplementierung
….. 5.1 Klasse Spieler 5.1.1 Methode Spielerwechsel Methodenimplementierung Skizzierung der wichtigsten Methoden mit textueller Erläuterung Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
21
Projekthandbuch Beispiel
….. 6. Valdierung … 6.n Testergebnisse Projekthandbuch Beispiel 6. Validierung: Organisation der QS Anzahl Tests Coverage? Protokoll der Testläufe Z.B. JUnit Screen Dump … Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
22
Projekthandbuch Beispiel
….. 7. Nichtfunktionale Anforderungen … 7.1 Produktleistungen Das System kann gleichzeitig bis 20 Millionen Spiele online bearbeiten. Die Antwortzeit beträgt unter 0,1 Sekunden. 7.2 Qualitätsanforderungen Das System ist 365 Tage im Jahr 24 Stunden am Tag verfügbar. Maximale Downtime ist 5 Minuten pro Jahr. Projekthandbuch Beispiel 7. Nichtfunktionale Anforderungen: nicht vernachlässigbar leicht mehrere Größenordnungen bei den Kosten … Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
23
Projekthandbuch Beispiel
….. 8. Projektplan Aus der Analyse ergibt sich folgender Projektplan: Projekthandbuch Beispiel 8. Projektplan: Arbeitsschritte Verantwortlicher Eingangsprodukte Ausgangsprodukte geplanter Start geplantes Ende Aufwand Planverfolgung tatsächlicher Start, Ende, Aufwand tatsächlicher Verantwortlicher Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
24
Nichtfunktionale Anforderungen Produktleistungen
….. 7. Nichtfunktionale Anforderungen … 7.1 Produktleistungen Nichtfunktionale Anforderungen Produktleistungen Qualitätsanforderungen Projektplan Aufwandsschätzung Zeitplan Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.