, Rainer Schmidberger, ISTE. Entwurfsmuster. Rainer Schmidberger
|
|
- Maike Minna Wetzel
- vor 5 Jahren
- Abrufe
Transkript
1 Entwurfsmuster Rainer Schmidberger
2 Was sind Entwurfsmuster? A design pattern names, abstracts and identifies the key aspect of a common design structure that makes it uful for creating a reusable object-oriented design [Gamma95] Eine Menge von Klasn und eine Regel sie zu gebrauchen Ein Entwurfs-Beispiel, das geschickt (im Sinne von clever oder trickreich) Mechanismen der Objektorientierung auf eine bekannte Problemstellung anwendet I. allg. nicht an eine Programmiersprache gebunden (wenngleich Entwurfsmuster mit Schablonenklasn nicht in jeder objektorientierten Sprache verwendet werden können) [Gamma95]: Gamma, E. u.a., "Design Patterns, Elemets of Reusable Object-Oriented Software", Addison-Wesley, 1995 Folie 2
3 Entwurfsmuster gibt es schon lange... Folie 3
4 Nutzen von Entwurfsmustern Wiederverwendung von Software-Entwürfen: für viele wiederkehrende Aufgabenstellungen gibt es bereits fertige Lösungen Standardisierung von Software-Entwürfen Erhöhung von Verständlichkeit von Software- Entwürfen Aber: nicht jede Zeile Implementierung muss in ein bekanntes Entwurfsmuster eingebettet werden Die verwendeten Entwurfsmuster müsn den am Projekt beteiligten Entwicklern bekannt in Falscher Einsatz von Entwurfsmustern verwirrt Folie 4
5 Darstellung von Entwurfsmustern UML-Modelle, zumeist Klasndiagramme, teilwei Interaktionsdiagramme (speziell bei den Behavior- Pattern) Exemplarische Implementierung der wichtigen Methoden Textuelle Beschreibung Entwurfsmuster bekommen oft einen "griffigen" Namen wie z.b. Facade, Composite,... Folie 5
6 Null-Object Problemstellung null-überprüfungen von Objektreferenzen führen zu u.u. unübersichtlichem Programmcode Auch "null-objekte" hätten u.u. ein bestimmtes Verhalten, das oft über el-zweige zu implementieren wäre TabDialog tabdialog = view.gettabdialog(i); if(tabdialog!= null) { tabdialog.open(); } el... Folie 6
7 Null-Object Die Methoden der Klas TabDialogNull sind i.allg. leer implementiert View TabDialog open() TabDialogA open() TabDialogB open() TabDialogNull open()... {}... public class View... {... TabDialog gettabdialog(int index) {... Hier wird er gefunden... } } return new TabDialogNull(); //... Und hier nicht Folie 7
8 Vor und Nachteile Dem null-objekt können Verhaltensmuster implementiert werden Weniger if-konstrukte Dient u.u. der Fehlervermeidung Erhöht die Zahl der Klasn Es muss eine entsprechende Vererbungshierarchie oder ein zu implementierendes Interface im Vorfeld geben Folie 8
9 Entwurfsmuster - Standard Gang of Four - GoF Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides Industriestandard Aufgabe Entwurfs-Muster Erzeugungs-Muster Struktur-Muster Verhaltens-Muster Klasnbasiert Factory method Adapter Interpreter Template method Gültigkeitsbereich Objektbasiert Abstract Factory Adapter Command Builder Bridge Obrver Prototype Decorator Visitor Singleton Facade Iterator Flyweight Memento Composite Proxy Strategy Mediator State Chain of Responsibility Folie 9
10 Singleton Problemstellung Es soll sichergestellt werden, dass es zu einer Klas höchstens eine Instanz gibt. Die Instanz soll global verfügbar in, d.h. es muß eine Möglichkeit für alle Objekte geben, die Instanz anzusprechen. Beispiele: Datenbank, Drucker,... Lösung 1: Instanz in globaler Variablen ablegen. Problem: verhindert nicht die mehrfache Instantiierung. Lösung 2: deklariere alle Eigenschaften der Instanz als Klasneigenschaften. Problem: keine Redefinition möglich Folie 10
11 Singleton Idee Idee: Die Klas ist lbst dafür verantwortlich, dass es von ihr nur ein Exemplar gibt. Sie stellt auch die Instanz zur Verfügung. Struktur: die Instanz wird in der privaten Singleton Klasnvariablen theinstance gespeichert sie kann mit der Klasnmethode +rvice() getinstance() angefordert werden. (Aufruf Singleton.getInstance()) Die Instanzierung von theinstance findet beim ersten Zugriff statt -theinstance : Singleton +getinstance() : Singleton Folie 11
12 Singleton Programmcode class Singleton { static private Singleton theinstance = null; static public Singleton getinstance() { if (theinstance == null) { theinstance = new Singleton(); } return theinstance; } } /* Es darf keinen public-konstruktor geben (also auch keinen Default-Konstruktor). Damit Unterklasn ihn trotzdem benutzen können, wird er protected deklariert */ protected Singleton() {... }... // Instanzvariablen und -methoden Folie 12
13 Singleton Bemerkungen Überwachter Zugang zu einer einzigen Instanz Instanz braucht erst bei Bedarf erzeugt werden Keine globale Variable notwendig Die Singleton-Klas kann redefiniert werden Kann verallgemeinert werden für n Instanzen Flexibler als die Realisierung durch Klasnoperationen Folie 13
14 Composite Problemstellung es sollen hierarchische Teil-Ganzes-Beziehungen modelliert werden einzelne Objekte (Primitive) und zusammengetzte Objekte (Container) sollen für den Verwender die gleiche Schnittstelle haben Beispiele: Dateisystem, UML: Pakete,... Lösung: gemeinsame Oberklas für Primitive und Container, die beide Eigenschaften in sich vereinigt Folie 14
15 Composite Lösung Component add(c : Component) +children remove(c : Component) getchild(i : int) : Component operation() 0..* Leaf operation() Composite add(c : Component) remove(c : Component) getchild(i : int) : Component operation() Folie 15
16 Composite Bemerkungen (1) Composite reicht normale Methodenaufrufe (operation()) in der Regel an alle Kinder durch, kann aber auch noch zusätzliche Operationen durchführen die Aufnahme von Composite-Operationen in Component ist praktisch (einheitl. Schnittstelle), aber auch problematisch, da ihr Aufruf auf einen Leaf nicht sinnvoll ist. nötig ist zumindest eine Default-Implementierung dier Operationen (z.b. Exception auslön), ansonsten müsste jede Leaf-Klas das lbst tun ein Verschieben in Composite kann sinnvoll in (höhere Sicherheit). In beiden Fällen muss der Verwender darauf achten, nur bei Composite-Objekten add() etc. aufzurufen. Nur bedarf es beim zweiten Fall dazu eines expliziten Casts. Folie 16
17 Composite Bemerkungen (2) Component kann um getparent() erweitert werden, um den übergeordneten Composite referenzieren zu können. Problem: wer enthält den obersten Composite? statt mittels getchild() die Kinder einzeln verfügbar zu machen, kann nach außen auch ein externer und/oder interner Iterator über die Kinder zur Verfügung gestellt werden. Beispiel: java.awt.component Composite gehört zur Gruppe der Structural Patterns Folie 17
18 State Problemstellung Ein Objekt soll sich abhängig von inem Zustand verschieden verhalten. Hiervon können eine oder viele Methoden betroffen in. Idee: Der Zustand wird als Klas gekaplt. Spezielle Zustands-Klasn mit überladenen Methoden implementieren die jeweilige Zustandsabhängigkeit Folie 18
19 State: Lösung Aufruf: einstudent.dasrichtigetun(); Student Zustand dasrichtigetun() Vorlesung Pruefung Freizeit Party dasrichtigetun() dasrichtigetun() dasrichtigetun() dasrichtigetun() Folie 19
20 State Bemerkungen Als Erweiterung könnten die Methode dasrichtigetun() ein Objekt des Folgezustandes zurückliefern Es könne leicht weitere Zustände aufgenommen werden State gehört zur Gruppe der Behavioral Patterns Dinge, die in allen Zuständen gleich gemacht werden, können in der gemeinsamen Vaterklas implementiert werden Folie 20
21 Visitor: Problemstellung Es besteht eine Vererbungshierarchie. Für eine bestimmte Aufgabe, in der sich jede Klas unterschiedlich verhalten soll, erhält jeder Klas eine entsprechende Methode. Fragebogen drucken() 0..* FragebogenElement drucken() JaNeinFrage Mehrfachlektion FreitextFrage drucken() drucken() drucken() Was nun, wenn das drucken in unterschiedliche Medien stattfinden soll (z.b. HTML, pdf, usw...) oder verschiedene Druckstile verwendet werden sollen? Folie 21
22 Visitor: Lösung Je Druckstil wird ein Visitor implementiert public void visit(freitextfrage n) { // hier nun die Implementierung // für den HTML-Druck der // Freitextfrage } DruckeHTMLVisitor visit(n : Fragebogen) visit(n : JaNeinFrage) visit(n : Mehrfachlektion) visit(n : FreitextFrage) <<Interface>> Visitor visit(n : Fragebogen) visit(n : JaNeinFrage) visit(n : Mehrfachlektion) visit(n : FreitextFrage) DruckepdfVisitor visit(n : Fragebogen) visit(n : JaNeinFrage) visit(n : Mehrfachlektion) visit(n : FreitextFrage) Die drucken -Methode erhält als Parameter den Visitor Fragebogen drucken(v : Visitor) JaNeinFrage drucken(v : Visitor) 0..* Mehrfachlektion drucken(v : Visitor) FragebogenElement drucken(v : Visitor) FreitextFrage drucken(v : Visitor) public void drucken(visitor v) { v.visit(this); } Folie 22
23 Visitor: Bemerkung Vorteil Anstelle in vielen (gleichnamigen) Methoden über die Hierarchie verteilt, wird in einer zentralen Klas ein Aspekt behandelt Verhaltensmuster für eine ganze Reihe von Klasn lasn sich so übersichtlich austauschen Nachteil Kontrollfluss schwerer zu verfolgen Folie 23
24 Einteilung der Patterns Nach [Gamma95]: Creational Patterns Instanzierung von Objekten Beispiel: Singleton Structural Patterns Lösung bestimmter Strukturierungsprobleme Beispiel: Composite Behavioral Patterns Lösungen bestimmter Verhaltensaspekte Beispiel: State Folie 24
25 Kurzübersicht Unified Process und Agile Prozes Rainer Schmidberger
26 Wasrfall Prozess Business modelling Implementierung Requirements Analy und Design Modultest Inte- grations- Test Wasrfall vs. iterativem Prozess Auslieferung Iterativer Prozess Produktreife Configuration Management Folie 26
27 Der (Rational) Unified Process "The Unified Software Development Process", Ivar Jacobson u.a., Addison-Wesley, 1999 Der Einsatz Objektorientierter Sprachen führt i.allg. zu einem iterativen Prozessmodell Engineering Manage -ment Quelle: Rational Software Achtung: Quantitative Aussagen können aus diem Diagramm nicht abgeleitet werden! Folie 27
28 Unified Process (2) Jede Iteration führt zu einem ausführbaren Gesamtsystem Folie 28
29 Unified Process (3) Phan beschreiben den Reifegrad eines SW-Projektes über die Zeitach: Inception, Elaboration, Construction, Transition Workflows (Disciplines) sind die Aktivitäten eines SW-Projektes. Engineering Disciplines: Business Modeling, Requirements, Analysis&Design, Implementation, Test, Deployment Management Disciplines: Configuration&Change Management, Project Management, Environment Iterationen sind einzelne Abschnitte innerhalb einer Pha eines SW-Projektes. Entsprechend der Phan werden schwerpunktmäßig unterschiedliche Aktivitäten in den Disciplines durchgeführt! Jede Pha besteht aus mehreren Iterationen. Folie 29
30 Freigabe der Ressourcen für die Elaboration-Pha Major Milestones Produkt hat ausreichende Reife für erste Auslieferung an die Kunden (BZA) Freigabe der Ressourcen für die Construction- Pha Kundenakzeptanz oder Ende des Lebenszyklus Inception Elaboration Construction Transition Zeitach Quelle: Rational Software LCO (Lifecycle Objective) LCA (Lifecycle Architecture) IOC (Initial Operational Capability) PR (Product Relea) Folie 30
31 Typischer Projektverlauf und -Aufwand Pha Inception Elaboration Schedule 10% 30% Effort 5% 20% Meilenstein LCO LCA Construction Transition 50% 10% 65% 10% IOC PR Kruchten, P., The Rational Unified Process. An Introduction., Addison-Wesley, 2004 Folie 31
32 (Rational) Unified Process U Ca getrieben Die Analy wird für die funktionalen Anforderungen über U Ca Modellierung vorgenommen Die U Cas werden nach Risiko bewertet. U Cas mit hohem Risiko, also für den Kunden wichtigen Prozes, werden zuerst umgetzt. Architektur zentriert Der erste Architekturentwurf entsteht aus den wichtigsten U Cas und den zentralen nichtfunktionalen Anforderungen Je weiterer U Ca-Implementierung wird die Architektur inkrementell verfeinert Inkrementell Jeder Meilenstein soll ein ausführbares Gesamtsystem werden Iterativ Aus der Bewertung früher Inkremente kann der Analyst die noch ausstehenden U Cas optimieren Kundenanforderungen können noch umgetzt werden Folie 32
33 Agile Prozes Leichtgewichtige Prozessmodelle mit Fokussierung auf der Erstellung von Quellcode Weitere typische Merkmale: Focus on clo ating and clo communication Frequent delivery Information from real urs Extreme Programming (Kent Beck) Crystal Methodologies (Alistair Cockburn) Agile Software Development Manifesto ("The Agile Alience") Folie 33
34 Extreme programming (1) "extreme Programming explaid", Kent Beck, Addison- Wesley,1999 Small releas: kurze Iterationszyklen mit testbaren Resultaten Simple design: das einfachste Design, das ausreicht, wird implementiert (keep ist simple!) Testing: Ständige Unit-Tests der Entwickler. Je Klas wird eine eigene Test-Klas implementiert. Es wird sogar die Vorgehenswei empfohlen, zuerst Testfälle zu entwickeln um dann die eigentliche Anwendungs- Implementierung vorzunehmen. Refactoring: Ständiges Überarbeiten der Architektur mit dem Ziel der Vereinfachung bei unveränderter Funktionalität... Folie 34
35 Extreme programming (2)... Pair programming: der Programmcode wird immer von zwei Entwicklern gemeinsam entwickelt Collective ownership: Jeder kann jeden Code jederzeit ändern Continuous integration: häufiger (mehrmals täglich) Build des Gesamtsystems (zumindest immer wenn Teilsysteme fertig gestellt sind) 40-hour-week: niemals in zwei Wochen hintereinander Überstunden (d.h. mehr als 40 Wochenstunden) machen Coding standards: Gemeinsame Code-Richtlinien Folie 35
36 Folie 36
37 The Crystal Methodologies (1) "Agile Software Development", Alistair Cockburn, Addison-Wesley, 2002 Begriff "Crystal" ist einfach ein Name und hat letztlich keine Bedeutung ("Produktname") Tabelle mit Zuordnung Anzahl beteiligter Personen und Risiko zum empfohlenen Prozessmodell Risiko (Criticality, Hardness): Corresponds to more potential damage Je Prozessmodell existiert eine Prozess-Beschreibung mit Empfehlungen zu den beteiligten Personen und Rollen den zu erstellenden Dokumenten den einzutzenden Werkzeugen... Folie 37
38 The Crystal Methodologies (2) Criticality L6 L20 L40 L80 E6 E20 E40 E80 Criticality :Defects cau loss of... L=Life E=esntial money D=Discretionary money C=Comfort D6 C6 D20 C20 D40 C40 D80 C80 Clear Yellow Orange Red Number of people involved Ein Projekt der Criticality "D" und 20 beteiligten Personen wird nach dem Prozessmodell "D20" entwickelt Folie 38
39 "The Agile Alliance" "The Agile Alliance": 17, durchaus bekannte Personen aus dem SE-Umfeld "The Agile Software Development Manifesto", Utah Feb., 2002 Ziel: Es sollen besre Wege zur Software-Entwicklung aufgezeigt werden Vier (sicherlich fragwürdige) Kernpunkte: 1. Individuals and interactions 2. Working software 3. Custommer collaboration 4. Responding to change over over over over process and tools comprehensive documentation contract negotiation following a plan Folie 39
40 Refactoring Rainer Schmidberger
41 Was ist Refactoring? [Fowler 1999]: Refactoring: A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its obrvable behavior Gesucht: Anleitung zum Refactoring Indikatoren/Gegenindikatoren für eine bestimmtes Refactoring Aufwand und Nutzen Risiko [Fowler 1999] Fowler, M., Refactoring. Improving the Design of Existing Code., Addison- Wesley, 1999 Folie 41
42 Refactoring-Struktur nach Fowler Name Summary Motivation Mechanics Examples Kurze, griffige Bezeichnung. Bildet ein Vokabular an Refactorings. Kurze Zusammenfassung, Situationsbeschreibung für Anwendbarkeit des Refactorings. Beschreibt den Nutzen des Refactoring und auch Umstände, unter denen es nicht verwendet werden soll. Detaillierte, schrittwei Beschreibung wie das Refactoring durchgeführt werden soll. Beispielhafte Durchführung des Refactoring mit Veranschaulichung des Nutzens. Folie 42
43 Beispiel Move Method Name Summary Motivation Mechanics Examples Move Method A method is, or will be, using or ud by more features of another class than the class on wich it is defined. Create a new method with a similar body int the class it us most. Either turn the old method into a simple delegation or remove it altogether Method moving is the bread and butter of refactoring. I move methods when class have too much behavior... Examine all features ud by the source method that are defined on the source class. Consider whether they also should be moved. Check the sub- and superclass [...] Declare the method in the target class. Copy the code from the source method to the target. [...] Compile the target class. [...] Decide whether to remove the source method or retain it as a delegating method. [...] An account class illutrates this refactoring... Folie 43
44 Was fehlt bei Fowler (1) Vorbedingung Was muss im Code/Design vorliegen damit die Restrukturierung sinnvoll angewendet werden kann evtl. konkrete Metriken Gegenanzeigen Gründe, die gegen die Restrukturierung sprechen Risiko welcher Schaden kann entstehen Welche Nebenwirkungen sind zu erwarten und wie wären die ggf. zu begrenzen Angenommen, die Restrukturierung zeigt sich als undurchführbar. Wie aufwändig ist ein Undo Organisatorische Rahmenbedingungen welche Information (Dokumente, Ansprechpartner) sind erforderlich welche Kompetenz (Skill) ist erforderlich Folie 44
45 Was fehlt bei Fowler (2) Aufwand Zur Umtzung im Code Zur Qualitätssicherung Zur Pflege der Dokumente Zur Vermittlung an die weiteren Teammitglieder Nutzen Hat sich für das Modul bzw. die Prozedur ein Wartbarkeitsindex geändert? Welche Schaden entsteht durch eine Nichtdurchführung? Hat durch die einfacheren Strukturen das Fehlerrisiko abgenommen? Nachbedingung Das ursprüngliche (funktionale) Verhalten des Systems ist unverändert: Regressionstest. Folie 45
46 Beispiel: Move Method Name Vorbedingung Gegenanzeigen Risiko Organisatorische Rahmenbedingungen Move Method (m1 von K1 in K2) Eine Methode der Klas K1 wird überwiegend aus der Klas K2 heraus genutzt und hat lbst wenig Zugriff auf private Methoden oder Attribute Metriken: C&K nützen nichts, es gibt aber andere Publikationen hierzu Synchronisationen verbinden m1 mit K1 K1 ist abgeleitet und m1 ist auch in einer der Vaterklasn definiert K2 nicht lbst Sorgenkind Es könnte in, dass der Ausbau von K1 noch nicht abgeschlosn ist Reflektion Code-Ownership auf K1 und K2 liegt vor Die Verwendungen von K1 sind bekannt (Achtung bei Frameworks!) Eine Auslieferung steht nicht unmittelbar an (Da QS erfolgen muss) Aufwand Nutzen Nachbedingung Implementierung, Interne Dokumentation (z.b. Javadoc) ändern Externe Dokumentation, z.b. Klasn und Sequenzdiagramme QS Mitteilung an die Teammitglieder Programm leichter lesbar, weniger Delegation Zusammenhalt in K1 und K2 größer, Kopplung zwischen K1 und K2 kleiner Folie 46
Entwurfsmuster. Rainer Schmidberger
Entwurfsmuster Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt. Software Engineering Was sind
MehrKurzübersicht Unified Process und Agile Prozesse
Kurzübersicht Unified Process und Agile Prozes Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt.
MehrEntwurf im Kleinen : Lösungen für bekannte Aufgaben. Entwurf im Großen : Wie entwerfe ich ein System
Entwurf Entwurfsmuster Entwurf im Kleinen : Lösungen für bekannte Aufgaben Refactoring Entwurfsüberarbeitung Entwurf Entwurf im Großen : Wie entwerfe ich ein System Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de
MehrJavaCC Rainer Schmidberger
JavaCC Rainer Schmidberger Universität Stuttgart Institut für Softwaretechnologie, Abt. Software Engineering rainer.schmidberger@informatik.uni-stuttgart.de Übersicht JavaCC ist ein in Java implementierter
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrEinführung in die Objektorientierung
Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten
MehrEinführung in die Objektorientierung
Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten
Mehrconst Zwei Schlüsselwörter bei der Deklaration von Variablen und Member-Funktionen haben wir noch nicht behandelt: const und static.
const Zwei Schlüsselwörter bei der Deklaration von Variablen und Member-Funktionen haben wir noch nicht behandelt: const und static. Eine const Variable kann ihren Wert nicht ändern: const double pi =
MehrProjektmanagement iterativer Projekte
Übersicht Motivation zum iterativen Vorgehen Anleitung zur U Ca getriebenen Vorgehenswei Praktische Tipps Zusammenfassung Projektmanagement iterativer Rainer Schmidberger Universität Stuttgart Institut
MehrEinführung in die Objektorientierung
Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde Nein Prozedural Schleife über alle Projekte Noch was zu tun? Ja Daten Progr. dagobert : Manager 2. angebot Manager
MehrVerteidigung Großer Beleg
Verteidigung Großer Beleg Die GoF-Entwurfsmuster in Java Corinna Herrmann ch17@inf.tu-dresden.de Gliederung 1. Aufgabenstellung 2. Entwurfsmuster 3. Verwandte Arbeiten 4. Beispiele: 4.1. Adapter 4.2. Flyweight
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrDesign Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26
Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:
MehrAgile Softwareprozess-Modelle
Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for
MehrAus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar
Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte
MehrStructural Patterns. B. Sc. Andreas Meißner
Structural Patterns B. Sc. Andreas Meißner Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Systeme, Universität Hannover 11/16/2004 Gliederung 1. Wiederholung Entwurfsmuster
MehrDesign Patterns. OO-GetTogether. Volker Michels
1 Design Patterns OO-GetTogether Volker Michels 2 Muster (engl. Pattern) Züllighoven: Ein Muster ist eine Abstraktion von einer konkreten Form, die wiederholt in bestimmten nicht willkürlichen Kontexten
MehrEntwurfsmuster (Design Patterns)
Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder
MehrSoftware-Architektur. Design Patterns. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Software-Architektur Design Patterns Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 11.07.2017 15:12 Inhaltsverzeichnis Standardwerk.................................... 2 Design
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrDesign Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff
Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:
MehrSoftware Engineering II (IB) Design Patterns
Software Engineering II (IB) Design Patterns Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 20:56 Software Engineering II (IB), Design Patterns 1/43 Standardwerk Gang of Four: Erich Gamma, Richard
MehrStrategy & Decorator Pattern
Strategy & Decorator Pattern Design Patterns Nutzen Wouldn t it be dreamy if only there were a way to build software so that when we need to change it, we could do so with the least possible impact on
Mehr3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP
3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg ARIS meets RUP Der ARIS Unified Information System Development Process Martin Plümicke Berufsakademie
MehrEinführung von XP in der Praxis
Einführung von XP in der Praxis Seminar Agile vs. klassische Methoden der Software- Entwicklung David Kocher, dk@cyberduck.ch Einführung XP bezeichnet sich als leichte Methode des Software Engieneerings
MehrEin Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008
Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrSoftware Engineering II (IB) Design Patterns
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 20:56 Inhaltsverzeichnis Standardwerk.................................... 2 Erzeugungsmuster.................................
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrEntwurfsprinzip. Entwurfsprinzip
Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit
MehrLukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster
Entwurfsmuster Lukas Klich Projektgruppe SHUTTLE Seminar: 28.11.2002 Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1 Motivation Die Menschheit löst Probleme, indem sie beobachtet, Beobachtungen
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrRequirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit
IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational
Mehr3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.
1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes
MehrMSE/SWF - API Design. Arthur Zaczek. Feb 2015
Arthur Zaczek Feb 2015 1 Einleitung Dieses Dokument ist eine Zusammenfassung des Buches Practical API Design: Confessions of a Java Framework Architect. [@Tulach2012] 1.1 Cluelessness Je einfacher eine
MehrEntwurfsmuster. Marc Monecke
Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen
MehrEntwurfsmuster - Iterator & Composite
Entwurfsmuster - Iterator & Composite Alexander Rausch Seminar Entwurfsmuster WS08/09 19. November 2008 Gliederung 1 Einführung 2 Das Iterator Entwurfsmuster 3 Das Composite Entwurfsmuster 4 Quellen 5
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrFactory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis
Factory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis Klaus Kusche, Juni 2013 Inhalt Was ist das? Warum braucht man das? Was bringt das? Wann hilft es noch? Realistisches Beispiel
MehrSoftware Reuse Sommer 2004. Schritt 1: Rechtschreibung, Grammatik, Wortschatz, Semantik Schritt 2: Vertiefung
Design Pattern Peter Sturm Universität Trier Analogie Erlernen einer Fremdsprache Schritt 1: Rechtschreibung, Grammatik, Wortschatz, Semantik Schritt 2: Vertiefung Bildung vernünftiger Sätze, Absätze,...
MehrSeminar Software Engineering
Seminar Software Engineering Klassische vs agile Methoden der Software-Entwicklung Inhalt Einleitung Klassische Methoden Agile Methoden Methoden Organisationen und Konferenzen Fazit Fragen / Diskussion
Mehr3. Entwurfsmuster zur Entkopplung von Modulen
3. Entwurfsmuster zur Entkopplung von Modulen OOP-3.1 Entwurfsmuster (Design Patterns): Software-Entwicklungsaufgaben, die in vielen Ausprägungen häufig auftreten. Objektorientierte Schemata, die als Lösungen
MehrUniversität Bielefeld. Softwarepraktikum. Gernot A. Fink SS Rückblick extreme Programming (XP)
Softwarepraktikum Gernot A. Fink SS 2005 Rückblick extreme Programming (XP) extreme Programming: Die Idee XP takes common sense principles and practices to extreme levels. (Kent Beck, 2001) (d.h. alles,
MehrInhaltsverzeichnis. Vorwort Geleitwort von Grady Booch Einleitung... 23
Vorwort.................................................. 17 Geleitwort von Grady Booch................................. 21 Einleitung................................................ 23 1 Einführung...............................................
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
MehrSoftware Design Patterns Zusammensetzung. Daniel Gerber
Software Design Patterns Zusammensetzung Daniel Gerber 1 Gliederung Einführung Iterator Composite Flyweight Zusammenfassung 2 So wird s werden Problem und Kontext an einem Beispiel vorstellen Lösung des
MehrSoftware-Architektur Design Patterns
Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:
MehrSoftwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2009
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2009 Überblick I 1 Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrDesign Pattern. Motivation, Beispiel Definition "Das" Buch der Gang of Four Ausführliches Beispiel: Facade Beispiele. Aufgabe
, Beispiel der Gang of Four Ausführliches Beispiel: Beispiele Wiederverwendung ist etwas Gutes...!!! Wiederverwendung (auch: Verständlichkeit, Änderbarkeit, Portierbarkeit etc.) wird auf Design-Ebene ermöglicht
MehrHerkömmliche Softwareentwicklungsmodelle vs. Agile Methoden
vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen
MehrSoftwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrVorlesung Programmieren
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrSoftwarearchitektur, UML, Design Patterns und Unit Tests
Softwarearchitektur, UML, Design Patterns und Unit Tests Stefan Wehr Prof. Dr. Peter Thiemann 7. Dezember 2005 Übersicht Softwarearchitektur UML Design Pattern Unit Tests 2 / 34 Softwarearchitektur Softwarearchitektur
MehrEntwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr
Entwurfsmuster Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Was sind Entwurfsmuster (1) Muster (allg.) sind schematische Lösungen für eine Klasse verwandter Probleme Beschreibung:
MehrVorlesung Software-Reengineering
Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2007/08 Überblick I 1 Refactoring Refactorings
MehrKleine Refactoring-Muster
Diplomarbeitsvortrag Kleine Refactoring-Muster Marko Schulz ms@datenreisender.de http://datenreisender.de/da/ Überblick 0 Wieso? (davor) Fragen Muster Was sind Muster? Muster in der Softwaretechnik Refactorings
MehrInformationswirtschaft II Rational Unified Process (RUP)
Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das
MehrInformationswirtschaft II
Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe
MehrInhalt. Design patterns Kernbereiche Creational patterns Factory method Abstract Factory Builder Structural patterns Adapter Facade Decorator
Inhalt Gute OOP-Programmierung ist schwer Objekte Objekte, wird aber so vermittelt (siehe jede Einführung in OOP) Ansprüche an gutes Design diametral welche Ansprüche haben wir überhaupt? Fehler im Design
MehrSoftware Engineering. 10. Entwurfsmuster II. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering 10. Entwurfsmuster II Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: 10. Entwurfsmuster II 2 Die Entwurfsmuster der Gang of Four Die 23 GoF Pattern sind in 3 Gruppen
MehrEntwurfsmuster Martin Fesser 00IN
Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele
MehrUML (Unified Modelling Language) von Christian Bartl
UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...
MehrÜbersicht. Softwarearchitektur. Softwarearchitektur, UML, Design Patterns und Unit Tests. Softwarearchitektur
Übersicht Object Oriented Organization Das System besteht aus Objekten, die mittels Methodenaufrufe (Nachrichten) miteinander kommunizieren. 2 / 34 4 / 34,, Design Patterns und Stefan Wehr Prof. Dr. Peter
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrLehrplan: Architektur und Design. paluno
Lehrplan: Architektur und Design Gliederung 1 Grundlagen der industriellen So9ware Entwicklung 2 Ebenen von Architektur und Design 3 KernakAvitäten von So9ware- Architekten 4 Architekturtypologien von
MehrOOSE 8 Entwurfsmuster (Hörsaalübung)
OOSE 8 Entwurfsmuster (Hörsaalübung) SS 2015 Birgit Demuth Entwurfsmuster in Softwaretechnologie 2015 Prüfungsrelevant Composite Iterator Factory Method Class Adapter Object Adapter Observer Singleton
MehrDecorator Pattern. Analyse- und Design-Pattern CAS SWE FS14. Roland Müller Samuel Schärer
Decorator Pattern Analyse- und Design-Pattern CAS SWE FS14 Roland Müller Samuel Schärer Entwurfsmuster der «Gang of Four» Strukturmuster fassen Klassen und Objekte zu grösseren Strukturen zusammen Adapter
MehrUniversität Bremen. Entwurfsmuster. Thomas Röfer. Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster
Entwurfsmuster Thomas Röfer Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Mein Rückblick: RoboCup 2 Euer Rückblick: Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra
MehrRefactorings in großen Softwareprojekten
Refactorings in großen Softwareprojekten (C) 2004 Martin Lippert lippert@acm.org Stefan Roock stefan@stefanroock.de Was ist Refactoring? A change made to the internal structure of software to make it easier
MehrDesign Patterns I. Observer, Listener & MVC
Design Patterns I Observer, Listener & MVC Design Patterns I - Gliederung - Was sind Design Patterns? - Definition von Design Patterns - Entstehung - Nutzen & Verwendung - MVC - Model, View, Controller
MehrExtreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Extreme Programming Agiles Manifest Individuen und Interaktion wichtiger als Prozesse und Werkzeuge Laufende Software wichtiger als vollständige
MehrWieso Prozesse? Ist das nicht einfach nur mühsam? A. Stucki, Solcept AG
Wieso Prozesse? Ist das nicht einfach nur mühsam? A. Stucki, Solcept AG 1 Was erwartet Sie? Arbeit & Prozesse Ingenieure & Prozesse Organisationen & Prozesse Projekt/ Produkt & Prozesse Agil & Prozesse
MehrUniversität Bremen. Entwurfsmuster. Thomas Röfer. Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster
Entwurfsmuster Thomas Röfer Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Rückblick UML Motivation Historie Spracheinheiten Strukturdiagramme Verhaltensdiagramme 2 Motivation Idee Einige
MehrEinführung des Unified Process: ein Erfahrungsbericht
Einführung des Unified Process: ein Erfahrungsbericht Werner Altmann K&A GmbH, Perlacher Strasse 21, D-81359 München Tel: 089/651071-10 e-mail: wa@ka-muc.de www.ka-muc.de Kölsch & Altmann GmbH 2001 GI-ACM-011008-1
MehrSoftware Engineering. 2. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2010
Software Engineering 2. Methodologien Franz-Josef Elmer, Universität Basel, HS 2010 Software Engineering: 2. Methodologien 2 Wie den Entwicklungsprozess organisieren? Dokumentieren Verwalten Instandhalten
MehrSoftwaretechnik 2015/2016
Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon
Mehra.k.a. Broker a.k.a. Vermittler , Sebastian Gäng, Moritz Moll, Design Pattern, HTWG Konstanz
Mediator Pattern a.k.a. Broker a.k.a. Vermittler 1 2009, Sebastian Gäng, Moritz Moll, Design Pattern, HTWG Konstanz Beschreibung Klassifikation: i Objektbasiertes b Verhaltensmuster hl Zweck: Wenn eine
MehrErzeugungsmuster. Kapselung der Objekt-Erzeugung
Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrObjektorientierteund FunktionaleProgrammierung
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrStudentische Probeklausur
Aufgabe 1 Entwurfsmuster 1. Was ist ein Entwurfsmuster? Studentische Probeklausur SWT SoSe 2010 2. In welche Kategorien werden Entwurfsmuster gewöhnlich unterteilt und wozu dienen die Muster der jeweiligen
MehrSOLID für.net und JavaScript
SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht
MehrSE Besprechung. Übung 4 Architektur, Modulentwurf
SE Besprechung Übung 4 Architektur, Modulentwurf SE, 22.11.11 Mengia Zollinger 2.1 Architekturstile (6 Punkte) 2.1.A Ausgabe eines Monatsabos an Angestellte Lösung: Pipe-and-Filter Beispiel Lösung [Benz,
MehrSoftwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2007
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2007 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen
MehrSoftwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2007 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen
MehrLabor Datenverarbeitung SS 2006
Labor Datenverarbeitung SS 2006 Versuch Speicherprogrammierbare Steuerungen Versuch Objektorientierter Entwurf mit Design-Pattern 1 SPS, Allgemeines Umfang der Versuche Logische Grundverknüpfungen kombinatorische
MehrMVVM (Model View ViewModel) in JavaFX
MVVM (Model View ViewModel) in JavaFX SEP Sommersemester 2019 Nicolas Brauner 30.04.2019 DBS Wissenschaftlicher Betreuer: Maximilian Hünemörder, Ludwig Zellner Verantwortlicher Professor: Prof. Dr. Peer
MehrPraktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl
Praktikum SEP: Java-Programmierung WS 2018/19 Modularisierung Thomas Lemberger und Martin Spießl Basierend auf Folien von Matthias Dangl und Karlheinz Friedberger 1 / 10 Modularisierung Module gliedern
MehrBlockpraktikum Multimediaprogrammierung
Blockpraktikum Multimediaprogrammierung 15. September 26. September 2008 Max Maurer Erfahrungsbericht Extreme Programming Kleiner Rückblick zur Vorlesung Prof. Heinrich Hußmann Agile Development for Multimedia
Mehr29.01.2013. Vorlesung Programmieren. Software Design. Software Design. Entwurfsmuster
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrZuuL - Entwicklung eines Adventures
ZuuL - Entwicklung eines Adventures im Rahmen der Uni-Tage 2009 Team 120 Universität Hamburg 16./17. November 2009 Team 120 (Universität Hamburg) ZuuL - Entwicklung eines Adventures 16.11.09 1 / 21 Übersicht
MehrManagement von Anforderungen im Rational Unified Process (RUP)
Management von Anforderungen im Rational Unified Process (RUP) Peter Fröhlich ABB DECRC 69115 Heidelberg Fröhlich-8/98-1 Themen: Was ist RUP? RM im RUP Core Workflows Dokumente Tools Erfahrungen RUP Objectory
MehrJUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite!
JUnit a Cook s Tour Ziel des Frameworks Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren Design des Frameworks Beginne bei Nichts Schritt für Schritt aus passenden Mustern
MehrRefactoring Transformationen. Martin Freund Januar 2003 Seminar Refactoring in extreme Programming AG Kastens Universität Paderborn
Refactoring Transformationen Martin Freund bbl@upb.de Januar 2003 Seminar Refactoring in extreme Programming AG Kastens Universität Paderborn Gliederung 1. Transformationen-Übersicht 2. Beispiel: Methode
Mehr