Use Case Driven Software Development

Slides:



Advertisements
Ähnliche Präsentationen
Die Planungsphase -Anforderungsanalyse-
Advertisements

UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Untersuchung und szenariobasierte Entwicklung von Websites zur Orientierung in Universitätsstudiengängen unter Berücksichtigung von Prinzipien des Web.
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
– Team 2 Aktueller Projektleiter: Christian Krapp
Dokumente eines IT-Projektes: - Pflichtenheft & Co -
Universität Paderborn - Softwaretechnikpraktikum im SS Gruppe 11 1 Softwaretechnikpraktikum im SS2001 Projektleiter:Prof. Dr. Wilhelm Schäfer Gruppenleiter:Dr.
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 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
3. Analyse Gliederung: Einführung Anforderungsdefinition
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
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.
Programmiermethodik SS 06 Prof. Albert Zündorf
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
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 Projektplan:
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.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Projektmanagement Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
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)
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.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
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.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
2. Vorlesung Ansätze der Systemanalyse: Strukturierte Analyse (SA)
12. Vorlesung: Aktivitätsdiagramme
Delphi II - OOP IFB Fortbildung
Entwurfs- und Implementationsdiagramme
Die Planungsphase Durchführbarkeitsuntersuchung: fachlich, personell und wirtschaftlich Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan.
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Objektorientierte Analyse
Vorgehensweise bei der Software-Entwicklung des Publication Managers
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Wasserfallmodell und Einzelbegriffe
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
Einführung in Datenbankmodellierung und SQL
IKP Uni Bonn Medienpraxis EDV II Internet-Projekt
Vom Geschäftsprozess zum Quellcode
IDAS-VDA Software für Informationssuche in Texten IDAS Okt. 04 Seite 1 IDAS-VDA mit Anbindung an Requirement Tools weiterbeenden.
Boga Abschlusspräsentation
Objektorientierte Modellierung mit UML
Software Engineering Grundlagen
Tutorial Schritt 1: Über den Link im VP gelangen Sie auf die Seite
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Programmiermethodik SS2011 © 2011 Albert Zündorf, University of Kassel 1 Programmentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen.
B OOK M E Artur Cachro, Dominik Dinulovic & Gabriel Kovacs.
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

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 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/Methoden) 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 theDie die tom v == 3 albert stones s1 at at f3 f4 f4 f4 next next next 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 tom 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

Storyboard / Scenario wird JUnit Test Feste Zuordnung Usecase – realisierende Methode Aus Szenarien automatische Tests ableiten Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

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

Methodenimplementierung ….. 5.1 Klasse Spieler 5.1.1 Methode Spielerwechsel Methodenimplementierung Skizzierung der wichtigsten Methoden mit textueller Erläuterung Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

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

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

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

Nichtfunktionale Anforderungen Produktleistungen ….. 7. Nichtfunktionale Anforderungen … 7.1 Produktleistungen Nichtfunktionale Anforderungen Produktleistungen Qualitätsanforderungen Projektplan Aufwandsschätzung Zeitplan Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel