+ All Categories
Home > Documents > Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...

Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...

Date post: 05-Apr-2015
Category:
Upload: anina-stifter
View: 106 times
Download: 1 times
Share this document with a friend
23
Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 1339 im Altbau)
Transcript
Page 1: Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS 06

Prof. Albert Zündorf

Fachgebiet für Software EngineeringWilhelmshöher Allee 71-73

34121 Kassel(Raum 1339 im Altbau)

Page 2: Programmiermethodik SS 06 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshö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.

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

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)

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

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

Gliederung

1. Einführung

2. Anforderungsdefinition

3. Analyse

4. Design

5. Zusammenfassung

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

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

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

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

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

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

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

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

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

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

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

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.

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

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. . . .

.....

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

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

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

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.

….

.....

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

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:

.....

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

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:

.....

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

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.

.....

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

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.

….

.....

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

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

Projekthandbuch Beispiel

6. Validierung

Reports aller Tests

Coverage Reports

siehe Übungen

…..6. Validierung

.....

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

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

Projekthandbuch Beispiel

6. Validierung

Reports aller Tests

Coverage Reports

siehe Übungen

…..6. Validierung…

.....

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

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. ….

.....

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

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

….

.....

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

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

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

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

Projekthandbuch Beispiel


Recommended