Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | anina-stifter |
View: | 106 times |
Download: | 1 times |
Programmiermethodik SS 06
Prof. Albert Zündorf
Fachgebiet für Software EngineeringWilhelmshöher Allee 71-73
34121 Kassel(Raum 1339 im Altbau)
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 2
Organisatorisches
Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung:Thomas Maier und Tutoren Ort und Zeit:
Vorlesung: Dienstags 12:00 - 13:30 Raum 0446 (Erste Vorlesung: 18.04.06)
Übung: Freitags 13:00 - 18:00 , Raum 0425 (CIP Pool unter der Mensa)(Erste Übung: Freitag, den 21.04.2006)
Prüfung: Projektarbeit (geeignet am Anfang der Ferien) Wiederholung Ende des Folgesemesters
Folienskript: http://www.uni-kassel.de/fb16/se/ meist am Wochende vorher.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 3
Literatur
Grundlegend: Helmut Balzert: Lehrbuch der Software-Technik (Bd.\ 1 und 2), Spektrum
Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk)
Unified Modeling Language: Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling
Language - User Guide, Addison Wesley 1999 (die haben das erfunden) Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit
UML; Springer 2000 (finde ich ziemlich gut) Martin Hitz, Gerti Kappel: UML @ Work, dpunkt.verlag (ziemlich gut) Albert Zündorf: Rigorous Software Development with UML, Draft,
Fachgebietsseiten
Hintergrund: Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist
nur kurz aber ziemlich witzig, unbedingt mal lesen)
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 4
Gliederung
1. Einführung
2. Anforderungsdefinition
3. Analyse
4. Design
5. Zusammenfassung
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 5
1. Einführung
Ziele der Veranstaltung:
methodische Vorgehensweise zur Entwicklung größerer Programme (> 10000 LOC)
objektorientierte Modellierung
objektorientierte Programmierung
objektorientierte Szenarios
Test-First Prinzip
Unified Modeling Language
Story Driven Modeling
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 6
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 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
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 8
Grundstruktur des Projekthandbuchs
Titelseite
1. Auftraggeber
2. AuftragnehmerVersionsbezeichnung / -historie
3. Zielbestimmung1. Produkteinsatz (Relevante Geschäftsprozesse)2. Glossar
4. Analyse (Produktfunktionen)
5. Design (Produktdaten)
6. Validierung
7. Nichtfunktionale Anforderungen1. Produktleistungen2. Qualitätsanforderungen
8. Projektplan1. Aufwandsschätzung2. Zeitplan
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 9
Projekthandbuch Beispiel
"Titelseite"
Dokumentartbezeichnung
Projektname
Auftraggeber
Auftragnehmer
Versionsgeschichte:mit jeweils Versionsnummer Datum Autor Prüfer
Projekthandbuch Ludo Online1. Autraggeber:
Albert Zündorf , Universität Kassel34121 KasselTel.: 0333 77 888, Fax: 0333 77 889Email: [email protected]
2. Auftragnehmer: Kasseler Webanwendungen GMBH, Annelise Beispiel, Mat.Nr. 012345,E-mail: [email protected] Muster, Mat.Nr. 023455, E-mail: [email protected]
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 A. Beispiel 14.11.05 A. Zündorf
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 10
Projekthandbuch Beispiel
3. Zielbestimmung
so eine Art Einleitung
Hauptaufgabe
evtl. Prinzipskizze
Kann man meist von der Aufgabenstellung / von der Auftragsanfrage abschreiben
Fax.: .....E-Mail: …..
3. ZielbestimmungLudo 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.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 11
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
….
3.1. ProdukteinsatzDas 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. . . .
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 12
Projekthandbuch Beispiel
3.1 Relevante Geschäftsprozesse
Beschreibung von übergreifenden Abläufen:
Tätigkeit / Arbeitsschritt / Operation / Berechnung / Objektmodifikationen
Zeitliche Abfolge / Reihenfolge der Tätigkeiten / Kontrollfluss
Daten / Objektwelten auf denen die Tätigkeiten ausgeführt werden
Ausführender / Verantwortlicher / Agent / Aktor
Entfällt in unserer Projektarbeit!
siehe Vorlesung Software Engineering I im WS 06/07
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 13
Projekthandbuch Beispiel
3.2 Glossar
Definition wichtiger Begriffe
sehr schwieriger Schritt
später Klassendiagramm
=> siehe Ontologie
entfällt in unser Projektarbeit
…. 3. Zielbestimmung….. 3.1 Produkteinsatz…..3.2 GlossarSpielbrett:
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.
….
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 14
Projekthandbuch Beispiel
4. Analyse (Produktfunktionen) Auflistung und Erklärung der
Hauptfunktionen des zu erstellenden Programms
nach Balzert: /LF10/ Lagerzugriffe ... /LF20/ Bestandsverwaltung ...
besser: Package Diagramme zur
hierarchischen Organisation Use-Case Diagramme für
"einfache"Packages
strukturierte Erläuterung der Use-Cases
Gegebenenfalls GUI-Screen-Shots
....4. Analyse (Produktfunktionen)Die Produktfunktionen sind gemäß folgendem
Packagediagramm gegliedert:
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 15
Projekthandbuch Beispiel
Usecase Diagramme
Usecase <==> Produktfunktion
Actor <==> "Benutzer"
System <==> "Programm"
....4.1 Package LudoDas Package Ludo fasst die zentralen
Funktionen des Spiels Ludo zusammen:
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 16
Projekthandbuch Beispiel
Usecase Beschreibungen
einfache Texte(zu ungenau)
Formulare(erster Schritt)
UML Scenariodiagramme(zweiter Schritt)(meist erst in der Analyse)
…..4.1.1 Usecase move
(Autor: A. Muster)Scenario: simpleStart 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.
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 17
Projekthandbuch Beispiel
5. Design (Produktdaten):
Beschreibung der wichtigsten Datenstrukturen
meist strukturierter Text
eventuell Klassendiagramm plus Erläuterung aller Klassen pro Klasse Erläuterung jedes
Attributs Erläuterung aller Assoziationen. pro Klasse Erläuterung jeder
Methode
(Klassendiagramm eigentlich erst bei Verwendung von Sequenz- undKollaborationsdiagrammen.)
…..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.
….
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 18
Projekthandbuch Beispiel
6. Validierung
Reports aller Tests
Coverage Reports
siehe Übungen
…..6. Validierung
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 19
Projekthandbuch Beispiel
6. Validierung
Reports aller Tests
Coverage Reports
siehe Übungen
…..6. Validierung…
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 20
Projekthandbuch Beispiel
7. Nichtfunktionale Anforderungen
(entfällt in der Projektarbeit)
7.1 Produktleistungen:
nicht-funktionale Anforderungen
Performance-Anforderungen
Speicherbedarf
Hardwarevoraussetzung
…..7. Nichtfunktionale Anforderungen7.1. ProduktleistungenDas 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. ….
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 21
Projekthandbuch Beispiel
7.2 Qualitätsanforderungen:
Anforderungen an:
Funktionalität
Zuverlässigkeit
Benutzbarkeit
Effizienz
Portierbarkeit
Platformunabhängigkeität
…..7.2. QualitätsanforderungenDas 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
….
.....
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 22
Projekthandbuch Beispiel
Aufwandsschätzung:
Schätzung der Produktgröße /des Erstellungsaufwands
Eventuell aus Marketinggründen getrennt vom Pflichtenheft
In der Projektarbeit freiwillig
Schätzverfahren siehe Vorlesung Softwaretechnik I(oder Balzertoder Watts Humphrey’s PROBE Methode in: The Personal Software Development Process)
…..8. ProjektplanAus 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 %.
.....
Komponente Größe in LOC Komplexität(LOC / PTag)
Ludo Spiel 11000 50
Accounts 9000 30
Werbung 33000 20
… … ..
Gesamt: 84000 1956 PTage
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 23
Projekthandbuch Beispiel