Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 1339 im Altbau)

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 1339 im Altbau)"—  Präsentation transkript:

1 Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)

2 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 2 Organisatorisches m Umfang: 4 SWS teils Vorlesungen teils Übungen m Übungsbetreuung:Thomas Maier und Tutoren m Ort und Zeit: Vorlesung: Dienstags 12: :30 Raum 0446 (Erste Vorlesung: ) Übung:Freitags 13: :00, Raum 0425 (CIP Pool unter der Mensa) (Erste Übung: Freitag, den ) m Prüfung: l Projektarbeit (geeignet am Anfang der Ferien) l Wiederholung Ende des Folgesemesters m Folienskript: l l meist am Wochende vorher.

3 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 3 Literatur Grundlegend: m Helmut Balzert: Lehrbuch der Software-Technik (Bd.\ 1 und 2), Spektrum Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk) Unified Modeling Language: m Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language - User Guide, Addison Wesley 1999 (die haben das erfunden) m Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit UML; Springer 2000 (finde ich ziemlich gut) m Martin Hitz, Gerti Kappel: Work, dpunkt.verlag (ziemlich gut) m Albert Zündorf: Rigorous Software Development with UML, Draft, Fachgebietsseiten Hintergrund: m Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist nur kurz aber ziemlich witzig, unbedingt mal lesen)

4 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 4 Gliederung 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design 5. Zusammenfassung

5 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 5 1. Einführung Ziele der Veranstaltung: m methodische Vorgehensweise zur Entwicklung größerer Programme (> LOC) m objektorientierte Modellierung m objektorientierte Programmierung m objektorientierte Szenarios m Test-First Prinzip m Unified Modeling Language m Story Driven Modeling

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

7 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 7 2. Anforderungsdefinition Gliederung: 1. Einführung 2. Anforderungsdefinition <== a) Grundstruktur des Projekthandbuchs b) UML Usecase Diagramme und textuelle Szenarien 3. Analyse 4. Design 5. Zusammenfassung

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

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

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

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

12 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 12 Projekthandbuch Beispiel 3.1 Relevante Geschäftsprozesse m Beschreibung von übergreifenden Abläufen: l Tätigkeit / Arbeitsschritt / Operation / Berechnung / Objektmodifikationen l Zeitliche Abfolge / Reihenfolge der Tätigkeiten / Kontrollfluss l Daten / Objektwelten auf denen die Tätigkeiten ausgeführt werden l Ausführender / Verantwortlicher / Agent / Aktor m Entfällt in unserer Projektarbeit! m siehe Vorlesung Software Engineering I im WS 06/07

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

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

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

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

17 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 17 Projekthandbuch Beispiel 5. Design (Produktdaten): m Beschreibung der wichtigsten Datenstrukturen m meist strukturierter Text m eventuell 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 (Klassendiagramm eigentlich erst bei Verwendung von Sequenz- und Kollaborationsdiagrammen.) ….. 5. Design (Produktdaten) Spielbrett: Das Spielbrett speichert die Position aller Spielsteine. Hinzu kommt die Zuordnung welcher Spieler welche Farbe spielt. Spielstein: Bei jedem Spielstein ist dessen aktuelle Position auf dem Spielbrett abgelegt. Hinzu kommt über die Farbe die Zuordnung zum zugehörigen Spieler. Spieler: Beim Spieler ist sein aktuelles Spiel und darin sein Farbe abgespeichert. Dazu kommt die Statistik aller bisher gespielten Spiele sowie das daraus abgeleitete Ranking dieses Spielers in der Liste aller Spieler. …......

18 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 18 Projekthandbuch Beispiel 6. Validierung m Reports aller Tests m Coverage Reports m siehe Übungen ….. 6. Validierung.....

19 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 19 Projekthandbuch Beispiel 6. Validierung m Reports aller Tests m Coverage Reports m siehe Übungen ….. 6. Validierung ….....

20 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 20 Projekthandbuch Beispiel 7. Nichtfunktionale Anforderungen m (entfällt in der Projektarbeit) 7.1 Produktleistungen: m nicht-funktionale Anforderungen m Performance-Anforderungen m Speicherbedarf m Hardwarevoraussetzung ….. 7. Nichtfunktionale Anforderungen 7.1. Produktleistungen Das Portal soll bis zu 1 Millionen Spiele gleichzeitig ermöglichen. Im Mittel soll ein neuer Spieler innerhalb von einer Minute einem Spiel zugeordnet und das Spiel beginnen können. Das ziehen soll ohne merkliche Verzögerung vom Spiel durchgeführt werden. Die Spieler sollen innerhalb einer halben Sekunde würfeln und ziehen und das Spiel weitergeben können. Es sollen bis zu 50 Millionen Spieler verwaltet werden. Das Spielerranking soll jederzeit aktuell abgerufen werden können. Das Spieleportal soll auf dem Server unseres Fachgebiets laufen und dort nicht mehr als 10% Lastaufkommen erzeugen. Das System soll von unserem Fachgebietstechniker mit nicht mehr als einem Tag Wartungsaufwand pro Woche betrieben werden. …......

21 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 21 Projekthandbuch Beispiel 7.2 Qualitätsanforderungen: Anforderungen an: m Funktionalität m Zuverlässigkeit m Benutzbarkeit m Effizienz m Portierbarkeit m Platformunabhängigkeität … Qualitätsanforderungen Das System soll gemäß den ISO 9000 Richtlinien entwickelt und dokumentiert werden. Die Anforderungen sind im Einzelnen (sehr gut, gut, normal, irrelevant): Funktionalität:sehr gut Zuverlässigkeit:sehr gut Benutzbarkeit:sehr gut Effizienz:normal Portierbarkeit:irrelevant Platformunabhängigkeit:gut …......

22 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 22 Projekthandbuch Beispiel Aufwandsschätzung: m Schätzung der Produktgröße / des Erstellungsaufwands m Eventuell aus Marketinggründen getrennt vom Pflichtenheft m In der Projektarbeit freiwillig m Schätzverfahren siehe Vorlesung Softwaretechnik I (oder Balzert oder Watts Humphreys PROBE Methode in: The Personal Software Development Process) ….. 8. Projektplan Aus den Anforderungen ergeben sich folgende Grundkomponenten mit folgenden zu erwartenden Größen für das System: Zusammen mit den in Kapitel 5 aufgeführten Leistungs- und Qualtätsanforderungen ergibt sich daraus ein Aufwand von 3654 Tage +/- 534 Tage bei einer Konfidenz von 75 % KomponenteGröße in LOCKomplexität (LOC / PTag) Ludo Spiel Accounts Werbung …….. Gesamt: PTage

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


Herunterladen ppt "Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 1339 im Altbau)"

Ähnliche Präsentationen


Google-Anzeigen