Programmiermethodik SS 06 Prof. Albert Zündorf

Slides:



Advertisements
Ähnliche Präsentationen
Wir wünschen viel Erfolg
Advertisements

Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme RUP in der Praxis Zum RUP existiert eine online Version. Mit dieser Version können.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Gliederung der Vorlesung Software Engineering WS 2001/2002
Software-Engineering
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.
Use Case Driven Software Development
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.
Software Engineering Seminar Metamodellierung
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
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.
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 Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2007/08 m.
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.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Software Engineering I
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.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
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)
Programmiermethodik WS 2013/14 Prof. Albert Zündorf
Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1338)
Vorgehensmodelle Motivation Softwaretechnik Beispiel
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
UML Begleitdokumentation des Projekts
Zeitplanerstellung ACHTUNG:
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Sommersemester 2012 m Prof.
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)
Simulation komplexer technischer Anlagen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Organisatorisches Vorlesungstermine: –dienstags, 14:00h, A125 –freitags,
2. Vorlesung Ansätze der Systemanalyse: Strukturierte Analyse (SA)
12. Vorlesung: Aktivitätsdiagramme
Delphi II - OOP IFB Fortbildung
Zusammenfassung der Vorlesung
Die Planungsphase Durchführbarkeitsuntersuchung: fachlich, personell und wirtschaftlich Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan.
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
Vom Geschäftsprozess zum Quellcode
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Hauptseminar SS 2006 Hinweise für Autoren.
SWT-Übung WS 10/ Function Point.
Software Engineering Grundlagen
Unified Modeling Language UML
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Systemanalyse BA Heidenheim 2002.
Programmiermethodik WS 2018/19 Prof. Albert Zündorf
 Präsentation transkript:

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

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

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

Gliederung Einführung Anforderungsdefinition Analyse Design Zusammenfassung Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

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

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

2. Anforderungsdefinition Gliederung: Einführung Anforderungsdefinition        <== Grundstruktur des Projekthandbuchs UML Usecase Diagramme und textuelle Szenarien Analyse Design Zusammenfassung 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) 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.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

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

Projekthandbuch Beispiel ….. 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. …. ..... 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- und Kollaborationsdiagrammen.) Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

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

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

Projekthandbuch Beispiel ….. 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. …. ..... Projekthandbuch Beispiel 7. Nichtfunktionale Anforderungen (entfällt in der Projektarbeit) 7.1 Produktleistungen: nicht-funktionale Anforderungen Performance-Anforderungen Speicherbedarf Hardwarevoraussetzung Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

Projekthandbuch Beispiel ….. 7.2. 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 …. ..... Projekthandbuch Beispiel 7.2 Qualitätsanforderungen: Anforderungen an: Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Portierbarkeit Platformunabhängigkeität Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

Projekthandbuch Beispiel ….. 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 %. ..... 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 Balzert oder Watts Humphrey’s PROBE Methode in: The Personal Software Development Process) 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

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