Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur
|
|
- Jonas Bösch
- vor 5 Jahren
- Abrufe
Transkript
1 New Van der Aalst Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Version , ) Architekturprinzipien 2) Modularität und Geheimnisprinzip 3) Geschichtete Architekturen Prof. U. Aßmann, Softwaretechnologie 1 Technische Universität Dresden, Fakultät Informatik 2 Obligatorische Literatur Sekundäre Literatur Zuser Kap 10. Ghezzi Pfleeger ST für Einsteiger 5.3, 8 D. Parnas. On a buzzword: hierarchical structure. Proceedings IFIP Congress 1974, North-Holland, Amsterdam. Prof. U. Aßmann, Softwaretechnologie 3 Prof. U. Aßmann, Softwaretechnologie 4
2 Teil IV - Objektorientierter Entwurf (Object-Oriented Design, OOD) Von der Analyse zum Entwurf Vertrag mit dem Kunden 1) Einführung in die objektorientierte Softwarearchitektur (41) 1) Modularität und Geheimnisprinzip 2) Entwurfsmuster für Modularität 3) BCD-Architekturstil (3-tier architectures) 2) Verfeinerung des Entwurfsmodells zum Implementierungsmodell (Anreicherung von Klassendiagrammen) 1) Verfeinerung von Operationen 2) Verfeinerung von Assoziationen 3) Verfeinerung von Vererbung 3) Verfeinerung von Lebenszyklen 1) Verfeinerung von verschiedenen Steuerungsmaschinen 4) Verfeinerung mit Objektanreicherung 5) Objektorientierte Rahmenwerke (frameworks) 6) Softwarearchitektur mit dem Quasar-Architekturstil Analyse Anforderungs- Ermittlung Fachliche Modellierung Anforderungs- Spezifikation Architektur- Entwurf Entwurf Produktdefi nition (Anforderungen und fachliches Modell) Architektur- Spezifi kation Detail- Entwurf Klassen- Spezifi kationen 41.1 Grundlegende Architekturprinzipien Prof. U. Aßmann, Softwaretechnologie 5 Aspekte Prof. U. Aßmann, Softwaretechnologie 6 Typische Bestandteile eines Softwaresystems Anwendungsspezifische Funktionen Benutzungsoberfläche Ablaufsteuerung Datenhaltung Infrastrukturdienste Objektverwaltung Interne Objekt- und Prozeßkommunikation Verteilungsunterstützung Kommunikationsdienste Sicherheitsfunktionen Zuverlässigkeitsfunktionen Systemadministration etc. Installation, Anpassung Systembeobachtung Technische Universität Dresden, Fakultät Informatik 7 Architektur Technik Anwendung (spezifisch) Prof. U. Aßmann, Softwaretechnologie 8
3 Aspekte des Architekturentwurfs Architekturprinzip: Hierarchische Organisation der obersten Ebenen (Grobe) Strukturelle Zerlegung: Physikalische Verteilung: Blockdiagramme Schichten, Sichten, Dimensionen Zentral oder verteilt? Topologie Ablaufsicht Logischer Detail-Entwurf Einhaltung nichtfunktionaler Anforderungen: Architekturbestimmende Eigenschaften (z.b. Realzeitsystem, eingebettetes System) Optimierungen Standardarchitekturen f1 f3a F1 F3 F2 f2 f3b Mit Montagediagrammen, wurden schon in der Top-Level-Architektur behandelt Oberste Ebene des Systems ist meist hierarchisch, nicht objektorientiert strukturiert Damit die letzte Integration zum Gesamtsystem einfach verläuft Dokument- System Adresses DokumentSystem Adress Manager Manager Text TextRep IText IForm Text Manager Buffer Lines Forms Prof. U. Aßmann, Softwaretechnologie 9 Prof. U. Aßmann, Softwaretechnologie 10 Blockdiagramme Konfigurationsdiagramme (Informelle) Blockdiagramme sind kein Bestandteil von UML Blöcke stellen UML-Komponenten ohne Anschlüsse dar Blockdiagramme sind das meistverbreitete Hilfsmittel zum Skizzieren der logischen Struktur einer Systemarchitektur. Konfigurationsdiagramme sind nicht Bestandteil von UML Konfigurationsdiagramme sind das meistverbreitete Hilfsmittel zur Beschreibung der physikalischen Verteilung von Systemkomponenten. Rechner, Knoten Lokales Kommunikationsnetz Speicherndes System Datenkommunikations- Netz Prof. U. Aßmann, Softwaretechnologie 11 Prof. U. Aßmann, Softwaretechnologie 12
4 Beispiel Terminverwaltung Architekturprinzip: Hohe Kohäsion + Niedrige Kopplung PC1 PCn PDA1 PDAm Termin- Server Anzeigetafel- Steuerung Physikalische Konfi guration Subsystem A (z.b. Benutzungsoberfl äche) Hohe Kohäsion: Subsystem B darf keine Information und Funktionalität enthalten, die zum Zuständigkeitsbereich von A gehört und umgekehrt. Niedrige Kopplung: Es muß möglich sein, Subsystem A weitgehend auszutauschen oder zu verändern, ohne Subsystem B zu verändern. Blockdiagramm PC Client PDA Client PDA Sync Termin-Manager Daten- Export Subsystem B (z.b. fachlicher Kern) Änderungen von Subsystem B sollten nur möglichst einfache Änderungen in Subsystem A nach sich ziehen. Termin-Datenbank Prof. U. Aßmann, Softwaretechnologie 13 Prof. U. Aßmann, Softwaretechnologie Veränderungsorientierter Entwurf mit dem Geheimnisprinzip Architekturprinzip: Einteilung in Komponenten Nach dem Teile-und-Herrsche-Prinzip sollte Software in Komponenten (Module) eingeteilt werden Eine Komponente im allgemeinden Sinne ist eine Wiederverwendungseinheit: gruppiert Funktionalität (Kohäsion) unterstützt lose Kopplung: hat keine impliziten, nur explizit in der Schnittstelle angegebene Abhängigkeiten zu anderen Komponenten kann unabhängig von anderen entwickelt werden Komponenten können einzeln getestet werden (Einheitstest, unit test) Fehler können zu individuellen Komponenten verfolgt werden hat eine schlanke Schnittstelle kann ausgetauscht werden, ohne dass das System zusammenbricht (Ersetzbarkeit) kann wiederverwendet werden Technische Universität Dresden, Fakultät Informatik 15 Prof. U. Aßmann, Softwaretechnologie 16
5 Komponentenmodelle und Kompositionssysteme Wie modularisiert man einen Entwurf? Es gibt nicht nur die UML-Komponente. sondern viele verschiedene Komponentenmodelle: Module einer modularen Programmiersprache (Modula, Ada) Klassen in objektorientierten Sprachen UML-Komponenten Fragmentkomponenten, Schablonen Dokumentkomponenten Serverseitige Webkomponenten Ein Kompositionssystem definiert: Komponentenmodell: Eigenschaften der Schnittstelle einer Komponente Kompositionstechnik: Wie werden Komponenten komponiert? Kompositionssprache: Wie wird die Architektur eines großen Systems beschrieben? --> Vorlesung CBSE (SS) Parnas' Prinzip des Entwurfs mit dem Geheimnisprinzip (veränderungsorientierter Entwurf, change-oriented modularization with information hiding) [Parnas, CACM 1972]: 1) Bestimme alle Entwurfsentscheidungen, die sich ändern können 2) Entwickle für jede Entscheidung ein Komponente, die die Entscheidung verbirgt Die Entscheidung nennt man das Komponenten- oder Modulgeheimnis (module secret) 3) Entwerfe eine stabile Schnittstelle für die Komponente die unverändert bleibt, wenn sich die Entwurfsentscheidung und somit die Implementierung des Modulgeheimnisses ändert Das Das Geheimnisprinzip Geheimnisprinzip erniedrigt erniedrigt die die externe externe Kopplung Kopplung und und erhöht erhöht die die innere innere Kohäsion Kohäsion Prof. U. Aßmann, Softwaretechnologie 17 Geheimnisse von Modulen/Komponenten Verschiedene Arten von Komponenten/Modulen Prof. U. Aßmann, Softwaretechnologie 18 Arbeitsweise von Algorithmen Datenformate Texte, Dokumente, Bilder Datentypen Abstrakte Datentypen und ihre konkrete Implementierung Benutzerschnittstellenbibliotheken Bearbeitungsreihenfolgen Verteilung Persistenz Parallelität Prof. U. Aßmann, Softwaretechnologie 19 Funktionale Module ohne Zustand sin, cos, BCD arithmetic, gnu mp, Daten-Repositorien Verbergen Repräsentation, Zugriff und Zustand der Daten Symboltabellen, Materialcontainer, Abstrakte Datentypen Singletons (Konfigurationskomponenten) Klassen mit einer einzigen Instanz Prozesse (aktive Objekte) Klassen Module, die ausgeprägt werden können Generische Klassen (Klassenschablonen) Komplexe Klassen (UML-Komponenten) Fragmentkomponenten für alle gilt das Geheimnisprinzip für alle gilt das Geheimnisprinzip Prof. U. Aßmann, Softwaretechnologie 20
6 Entwurfsmuster für Geheimnisprinzip Viele Entwurfsmuster (z.b. TemplateMethod) sind Variabilitätsmuster, d.h., sie lassen einem bestimmte Geheimnisse verbergen und dann die Implementierungen austauschen (variieren) Fassade verbirgt ein ganzes Subsystem Fabrikmethode verbirgt die Allokation von Produkten TemplateMethod und Strategie verbergen einen Anteil eines Algorithmus Singleton kapselt globale Konfigurationsdaten In UML kann man Entwurfsmuster als Komponenten (Wiederverwendungeinheiten) kapseln, indem man sie als Kollaborationen spezifiziert Entwurfsmuster Fassade zur Reduktion von Kopplung Ein Entwurfsmuster im Geiste Parnas (Wdh.) Entwurfsmuster Fassade (Facade) Prof. U. Aßmann, Softwaretechnologie 21 Technische Universität Dresden, Fakultät Informatik 22 Fassaden verbergen Subsysteme Eine Fassade (Facade) ist ein Objektadapter, der ein komplettes Subsystem verbirgt Die Fassade bildet die eigene Schnittstelle auf die Schnittstellen der verkapselten Objekte ab Eine UML-Komponente ist gleichzeitig eine (einfache) Fassade. Die Delegationskonnektoren werden 1:1 an innere Komponenten delegiert; interne Adapter können adaptieren Prof. U. Aßmann, Softwaretechnologie 23 Eine Fassade bietet eine Sicht auf ein Subsystem an. Es darf mehrere Sichten geben, nur keinen direkten Zugriff auf die inneren Objekte Client Abstract Facade operation() Concrete Facade operation(). adaptedobject.specificoperation() adaptedobject2.specificoperation(). HiddenSubsystem adapted Object1 adapted Object2 adapted Object3 HiddenClass1 specificoperation() HiddenClass2 specificoperation() HiddenClass3 specificoperation() Prof. U. Aßmann, Softwaretechnologie 24
7 Restrukturierung hin zur Fassade Fassaden und Schichten Fassaden entkoppeln; Subsysteme können leichter ausgetauscht werden (Variabilitätsmuster) Falls einzelne Klassen eines Subsystems wieder Fassaden sind, entstehen fassadengeschützte Schichten Clients Clients Facade Facade Upper layer Facade Subsystem Prof. U. Aßmann, Softwaretechnologie 25 Lower layer Prof. U. Aßmann, Softwaretechnologie Entwurfsmuster Fabrikmethode (FactoryMethod) Problem der Fabrikmethode Wie variiert man die Erzeugung für eine polymorphe Hierarchie von Produkten? Problem: Konstruktoren sind nicht polymorph! (vertiefend) zur polymorphen Variation von Komponenten (Produkte) und zum Verbergen von Produkt-Arten Product ConcreteProduct1 Product = new ConcreteProduct1() ConcreteProduct2 Technische Universität Dresden, Fakultät Informatik 27 Prof. U. Aßmann, Softwaretechnologie 28
8 Struktur Fabrikmethode Factory Method (Polymorphic Constructor) FactoryMethod ist eine Variante von TemplateMethod, zur Produkterzeugung Product ConcreteProduct Creator FactoryMethod() anoperation() ConcreteCreator FactoryMethod() Beispiel FactoryMethod Product = FactoryMethod() return new ConcreteProduct Prof. U. Aßmann, Softwaretechnologie 29 Abstract creator classes offer abstract constructors (polymorphic constructors) Concrete subclasses can specialize the constructor Constructor implementation is changed with allocation of concrete Creator // Abstract creator class // Abstract creator class public abstract class Creator { public abstract class Creator { // factory method // factory method public abstract Set createset(int n); public abstract Set createset(int n); public class Client { public class Client { Creator cr = [ subclass ] Creator cr = [ subclass ] public void collect() { public void collect() { Set myset = Creator.createSet(10); Set myset = Creator.createSet(10);.. Lösung mit FactoryMethod // Concrete creator class // Concrete creator class public class ConcreteCreator extends Creator { public class ConcreteCreator extends Creator { public Set createset(int n) { public Set createset(int n) { return new ListBasedSet(n); return new ListBasedSet(n); Prof. U. Aßmann, Softwaretechnologie 30 Rahmenwerk für Gebäudeautomation Klasse Building hat eine Schablonenmethode zur Planung von Gebäuden Abstrakte Methoden: createwall, createroom, createdoor, createwindow Benutzer können Art des Gebäudes verfeinern Wie kann das Rahmenwerk neue Arten von Gebäuden behandeln? Building construct() createwall() createdoor() createwindow() createroom() Skyscraper createwall() createdoor() createwindow() createroom() house = new Building(); house.construct(); house.createwall(); house.createdoor(); house.createwindow(); Framework Extensions Bilde createbuilding() als Fabrikmethode aus // abstract creator class // abstract creator class public abstract class Building { public abstract class Building { public abstract public abstract Building createbuilding(); Building createbuilding(); // concrete creator class // concrete creator class public class Skyscraper extends Building { public class Skyscraper extends Building { Skyscraper() { Skyscraper() { public Building createbuilding() { public Building createbuilding() { fill in more info fill in more info return new Skyscraper(); return new Skyscraper(); Prof. U. Aßmann, Softwaretechnologie 31 Prof. U. Aßmann, Softwaretechnologie 32
9 Factory Method im SalesPoint-Rahmenwerk Einsatz in Komponentenarchitekturen Anwender von SalesPoint verfeinern die StockImpl-Klasse, die ein Produkt des Warenhauses im Lager repräsentiert z.b. mit einem CountingStockImpl, der weiß, wieviele Produkte noch da sind In Rahmenwerk-Architekturen wird die Fabrikmethode eingesetzt, um von oberen Schichten (Anwendungsschichten) aus die Rahmenwerkschicht zu konfigurieren: StockImpl Rahmenwerk +clone() : Object #createpeer(): StockImpl Building Building Style Anwendung CountingStockImpl #createpeer(): StockImpl Skyscraper Castle Bungalow Mideval Style Modern Style Prof. U. Aßmann, Softwaretechnologie Strategie (Strategy, Template Class) Strategy (also called Template Class) Prof. U. Aßmann, Softwaretechnologie 34 Strategy wirkt wie TemplateMethod, nur wird die Hakenmethode in eine separate Klasse ausgelagert Zur Variation der Hakenklasse (und -methode) TemplateClass hookobject HookClass (Strategy) (Wdh.) templatemethod() hookmethod() hookobject.hookmethod() ConcreteHookValueA hookmethod() ConcreteHookValueB hookmethod() Technische Universität Dresden, Fakultät Informatik 35 Prof. U. Aßmann, Softwaretechnologie 36
10 Kombinierter Einsatz in Rahmenwerken FactoryMethod variiert den Konstruktor TemplateMethod oder Strategy (TemplateClass) variiert die Hookmethode Bridge (s. später) variiert die TemplateMethode Entwurfsmuster Einzelstück (Singleton) Rahmenwerk Building createbuilding() animate() CastleTempl createbuilding() drawbuilding() CastleHook drawbuilding() Anwendung Bungalow createbuilding() Template Class ScottishCastle drawbuilding() zur globalen Konfiguration einer Komponente oder Schicht (Wdh) Factory Method Template Method Entwurfsmuster Einzelstück (Singleton) Prof. U. Aßmann, Softwaretechnologie 37 Technische Universität Dresden, Fakultät Informatik 38 Singleton im SalesPoint the Shop Gesucht: globales Objekt, das global oder innerhalb einer Laufzeitkomponente (z.b. Schicht) Daten, z.b. Konfi gurationsdaten, vorhält Idee: Erstelle eine Klasse, von der genau ein Objekt existiert (Invariante) Erstelle einen artifi ziellen Konstruktor (Fabrikmethode), der oft aufgerufen werden kann, aber die Invariante sicherstellt Eigentlicher Konstruktor wird verborgen (private) Austausch der Konfi guration durch Unterklassenbildung (Variabilität) Singleton theinstance: Singleton getinstance(): Singleton 01 theinstance:singleton class Singleton { private static Singleton theinstance = null; private Singleton () { public static Singleton getinstance() { if (theinstance == null) theinstance = new Singleton(); return theinstance; Der Shop im SalesPoint-Rahmenwerk ist ein Einzelstück (die Firma). Dagegen gibt es viele Verkaufsstellen (sales points) Austausch der Eigenschaften des Shops durch Unterklassenbildung Shop #Shop() $gettheshop(): Shop $settheshop (Shop sh) Prof. U. Aßmann, Softwaretechnologie 39 Prof. U. Aßmann, Softwaretechnologie 40
11 41.3 Schichtenarchitekturen (Layered Architectural Styles) Drei-Schichten-Architektur (BCD) Klassische Struktur eines interaktiven Anwendungssystems Schichten sind jeweils stark kohäsiv, und wenig gekoppelt aber warum? Oft kapselt eine Fassade eine Schicht, ein Einzelstück konfiguriert jede Schicht, Fabriken schneiden die Produkte der unteren Schichten zu, TemplateMethod/Class variieren Algorithmen der Produkte Benutzungsschnittstelle <<boundary>> und die benutzt -Relation Basiert auf Analysemodell Fachlicher Kern <<control>> Technische Universität Dresden, Fakultät Informatik 41 Verschiedene Relationen zwischen Komponenten Datenverwaltung <<data>> <<entity>> Prof. U. Aßmann, Softwaretechnologie 42 USES-Relation (Relies-On, Requires, Sees-A) Es gibt verschiedene Beziehungen zwischen den Komponenten eines Systems Ähnlichkeit Vererbungsrelationen: is-a (set inheritance), behaves-like (Verhaltenskonformität), Zugriff accesses-a (access relation) Zugriffsrecht: is-privileged-to, owns-a (security) Aufrufe: calls is-called-by delegates-to (delegation) Senden und Empfangen von Nachrichten Die USES Relation fasst alle diese zusammen Requires an implementation may means visibility: A accesses public variable of B A uses a resource provided by B A allocates an instance of B A delegates work to B (A calls B) or B delegates work to A (B calls A) A calls B by exception or event If the USES relation is a partial order (a tree or a dag), then the system is called hierarchical or layered Component Component A A USES USES (relies-on, (relies-on, sees-a) sees-a) component component B B iff iff A A requires requires a a correct correct implementation implementation of of B B for for its its own own correct correct execution. execution. (A (A requires requires the the presence presence of of B) B) because partial orders can be layered Prof. U. Aßmann, Softwaretechnologie 43 Prof. U. Aßmann, Softwaretechnologie 44
12 Repeat: BCD/BCED Classification Example: USES Relation in 3- and 4-Tier Architectures (BCED) Boundary classes: Represent an interface item that talks with the user May persist beyond a run Control class: Controls the execution of a process, workflow, or business rules Does not persist Entity class: Describes persistent knowledge. Caches a persistent object from a database (data access object, DAO) Database class Adapter class for the database <<boundary>> Often, Entity and Database classes are unified <<entity>> <<database>> BCD/BCED is linked with the 3-tier architecture <<control>> 3- and 4-tier architectures have an acyclic USES relation, divided into 3 (resp. 4) layers that use each other in an acyclic relationship Upper layers see lower layers, but not vice versa Graphical user interface (GUI, Benutzerschnittstelle) Application logic (business logic, Fachlicher Kern, Anwendungslogik) Middleware (memory access, distribution) <<boundary>> <<control>> <<entity>> Data access object (DAO) Data Repository Layer (database, memory) <<database>> Example: 3- and 4-Tier Architectures (BCD/BCED) Good encapsulation of cohesive knowledge in a layer Low coupling due to acyclic USES relationship Better exchange of subsystems of the application GUI encapsulates user interactions and look Prof. U. Aßmann, Softwaretechnologie 45 Data repository layer encapsulates how data is stored (database, transient, persistent component platforms such as Enterprise JavaBeans) Middleware mediates between both The middleware hides distribution and deals with security The BCD/BCED architecture is the architecture for business-oriented software and for projects in the projects Prof. U. Aßmann, Softwaretechnologie 46 Example: 4-Tier Web System (Thick Client) Middleware Thick client Web Systems have a http-based middleware, in which GUI and application logic reside on the client, data is managed on the server Graphical user interface Client Application logic (business logic) Server http <<boundary>> <<page>> <<control>> <<applet>> <<entity>> Data access object (DAO) Data Repository Layer (database, memory) <<database>> Prof. U. Aßmann, Softwaretechnologie 47 Prof. U. Aßmann, Softwaretechnologie 48
13 Example: 4-Tier Web System (Thin Client) Example: ISO-OSI 7 Layers Network Architecture Thin client Web Systems have a http-based middleware, in which GUI resides on the client, application logic and data is managed on the server Every layer contains an abstract machine (set of operations) Graphical user interface Client Application logic (business logic) Middleware Server http <<boundary>> <<page>> <<control>> <<servlet>> <<entity>> Data access object (DAO) Presentation Layer Session Layer Presentation Layer Session Layer Data Repository Layer (database, memory) <<database>> Data Transport Layer Data Transport Layer Prof. U. Aßmann, Softwaretechnologie 49 Prof. U. Aßmann, Softwaretechnologie 50 Example: Operating Systems Example: Database Systems UNIX: User Space Kernel Apple- UNIX User Space Kernel SQL compiler Microkernel (Mach) transaction manager lock manager table manager Windows NT/XP: User Space Kernel Hardware Abstraction Layer (HAL) physical storage management record management layer Prof. U. Aßmann, Softwaretechnologie 51 Prof. U. Aßmann, Softwaretechnologie 52
14 Why are Layered Architectures Successful? What Have We Learned Layered architectures require an acyclic USES relationship They are successful, Because the dependencies within the system are structured as a dag System is structured Internals of layers can be abstracted away Designing the global architectural style of your application is important (Architekturentwurf) Layers play an important role The USES (relies-on) relation is different from is-a (inheritance) and part-of (aggregation) It deals with prerequisites for correct execution Can be used to layer systems, if it is acyclic Examples of architectural styles with acyclic USES relation: The BCED 4-tier architecture Layered abstract machines for interactive applications Layered behavioral state machines Both styles can be combined Prof. U. Aßmann, Softwaretechnologie 53 Prof. U. Aßmann, Softwaretechnologie 54 Conway s Law on Software Structure The End Software is always structured in the same way as the organisation which built it. 55 Prof. U. Aßmann, Softwaretechnologie 55 Prof. U. Aßmann, Softwaretechnologie 56
New. Van der Aalst. Prof. U. Aßmann, Softwaretechnologie 1
New Van der Aalst Prof. U. Aßmann, Softwaretechnologie 1 Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für
MehrTeil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur
Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie
MehrTeil IV: Objektorientierter Entwurf
Teil IV: Objektorientierter Entwurf OOD.1 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie
Mehr4. Objektorientierter Entwurf
4. Objektorientierter Entwurf 4.1 Entwurf der Softwarearchitektur Softwaretechnologie, Prof. Uwe Aßmann 1 Obligatorische Literatur Zuser Ghezzi 4.1-4.2 Pfleeger 5.1-5.3 Prof. Uwe Aßmann, Softwaretechnologie
MehrTeil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien Prof. Dr. rer. nat. Uwe Aßmann Institut für
Mehr43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten)
43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für
MehrOOD.3 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten)
OOD.3 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für
MehrTeil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien Prof. Dr. rer. nat. Uwe Aßmann Institut für
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
Mehr46 Softwarearchitektur mit dem Quasar-Architekturstil
46 Softwarearchitektur mit dem Quasar-Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://st.inf.tu-dresden.de
MehrSoftwarearchitektur mit dem Quasar- Architekturstil
Softwarearchitektur mit dem Quasar- Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://www-st.inf.tu-dresden.de
Mehr43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten)
43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) 1 Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik
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
MehrSoftware Engineering. 5. Architektur
Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement
MehrOOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung)
OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung) SS 2015 Birgit Demuth Analyse Anforderungs- Ermittlung Von der Analyse zum Entwurf System- Modelierung Anforderungs- Spezifikation (Pflichtenheft)
Mehr1.3 Charakteristische Eigenschaften von objektorientierten Systemen
1.3 Charakteristische Eigenschaften von objektorientierten Systemen Einkapselung (Encapsulation) Geheimhaltungsprinzip (Information / Implementation hiding) Persistenz (State retention) Objektidentität
MehrErinnerung: UML-Aufgaben im Praktomaten
Erinnerung: UML-Aufgaben im Praktomaten einführende Aufgaben zur Java-Programmierung Aufgaben zum Übungsmaterial zusätzliche, komplexere Aufgaben Klausurrelevante Aufgaben (Implementierungsteil) Prof.
MehrTeil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA
Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät
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
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
MehrAufbau eines modernen Betriebssystems (Windows NT 5.0)
Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung
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
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
MehrAlternative Architekturkonzepte
Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung
MehrObjektorientierte Analyse
Objektorientierte Analyse 1) Überblick über die Objektorientierte Analyse Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik
Mehr185.A Software-Entwurfsmuster 1 OOP. Software-Entwurfsmuster
2013-12-11 Software-Entwurfsmuster 1 185.A01 OOP Software-Entwurfsmuster 2013-12-11 Software-Entwurfsmuster 2 OOP Zweck von Entwurfsmustern Benennen wiederkehrender Probleme und Lösungen Austasch von Erfahrungen
MehrOOP. Tagesprogramm. Software-Entwurfsmuster. Factory-Method. Prototype
1 2014-12-10 Tagesprogramm Software-Entwurfsmuster Factory-Method Prototype 2 2014-12-10 Software-Entwurfsmuster Zweck von Entwurfsmustern Benennen wiederkehrender Probleme und Lösungen Austasch von Erfahrungen
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
MehrModul Software Komponenten 01 Komponenten
Modul Software Komponenten 01 Komponenten Martin Jud Inhalt 1. Begriff 2. Bedeutung 3. Nutzen 4. Entwurf mit Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 2 1. Begriff Definition
MehrObjektorientierteund FunktionaleProgrammierung
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
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:
MehrEinführung in die Informatik II
Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine
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
MehrObjektorientierte und Funktionale Programmierung
Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP
Mehr33. Strukturelle System- Modellierung (Kontextmodell und Top-Level-Architektur)
33. Strukturelle System- Modellierung (Kontextmodell und Top-Level-Architektur) 1 Mit komplexen Objekten und UML-Komponenten Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik
MehrAusnahmebehandlung in Java
Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception
Mehr33 Strukturelle Modellierung für das Kontextmodell und die Top-Level- Architektur
33 Strukturelle Modellierung für das Kontextmodell und die Top-Level- Architektur Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für
MehrTeil II Objektorientierte Programmierung (OOP) 20. Objektnetze
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze Prof. Dr. rer. nat. Uwe Aßmann Institut für Software-
MehrOrder Ansicht Inhalt
Order Ansicht Inhalt Order Ansicht... 1 Inhalt... 1 Scope... 2 Orderansicht... 3 Orderelemente... 4 P1_CHANG_CH1... 6 Function: fc_ins_order... 7 Plug In... 8 Quelle:... 8 Anleitung:... 8 Plug In Installation:...
MehrExercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrTeil II Objektorientierte Programmierung (OOP) 20. Objektnetze
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze Prof. Dr. rer. nat. Uwe Aßmann Institut für Software-
MehrArchitecture Blueprints
Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,
MehrEntwurfsmuster. 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
MehrModellierung CORBA-basierter Anwendungssysteme mit der UML
Verteidigung der Diplomarbeit über das Thema: Modellierung CORBA-basierter Anwendungssysteme mit der UML Andreas Mucha Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl
MehrEAM-Vorlesung (SS2017)
EAM-Vorlesung (SS2017) V4: TOGAF und das Metamodel Vassilios Goumas Frankfurt University of Applied Science 1 V4: Verlauf Was ist ein Metamodell Aufbau des Metamodells in TOGAF Aufteilung nach Core Metamodel
MehrH.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications
Motivation The ed-object Approach Java RMI ed Objects in Java RMI Conclusions Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.1 1 Motivation Distributed object-oriented
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
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 =
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 3. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Wiederholung: Begriffsübersicht Strukturierte vs. objektorientierte Programmierung
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
MehrISO 15504 Reference Model
Process flow Remarks Role Documents, data, tools input, output Start Define purpose and scope Define process overview Define process details Define roles no Define metrics Pre-review Review yes Release
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
MehrMarkus BöhmB Account Technology Architect Microsoft Schweiz GmbH
Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH What is a GEVER??? Office Strategy OXBA How we used SharePoint Geschäft Verwaltung Case Management Manage Dossiers Create and Manage Activities
MehrSoftware-Entwurfsmuster
Software-Entwurfsmuster benennen wiederkehrende Probleme und Lösungen dienen dem Austasch von Erfahrungen Wiederverwendung von Erfahrung wo Wiederverwendung von Code versagt sehr abstrakt, daher häufig
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
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
MehrNumber of Maximal Partial Clones
Number of Maximal Partial Clones KARSTEN SCHÖLZEL Universität Rostoc, Institut für Mathemati 26th May 2010 c 2010 UNIVERSITÄT ROSTOCK MATHEMATISCH-NATURWISSENSCHAFTLICHE FAKULTÄT, INSTITUT FÜR MATHEMATIK
MehrArtefakte, Linktypen und Besonderheiten von OOSE/RUP
Artefakte, Linktypen und Besonderheiten von OOSE/RUP Matthias Riebisch TU Ilmenau Workshop AK Traceability 07.12.2007 Darmstadt Eigenschaften von Traceability Links Obligatorisch: Identifier Startelement
MehrOOP. Tagesprogramm. Aspekte und Annotationen. Software-Entwurfsmuster. Factory-Method. Prototype
1 2017-01-11 Tagesprogramm Aspekte und Annotationen Software-Entwurfsmuster Factory-Method Prototype 2 2017-01-11 Aspekte und Annotationen Aspektorientierte Programmierung Paradigma der Modularisierung
MehrKapitel 5: Das Design
Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,
MehrGliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.
Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner
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
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
MehrKapitel
10.11.005 Kapitel 4-10.11.005 Lehrbeispiel: Sortieralgorithmus " Bubble Sort" Sortieren von Primitivtypen Der "Abstrakte Datentyp" Grundlagen der Objektorientierung: Abstraktion, Kapselung, Modularität,
Mehrprorm Budget Planning promx GmbH Nordring Nuremberg
prorm Budget Planning Budget Planning Business promx GmbH Nordring 100 909 Nuremberg E-Mail: support@promx.net Content WHAT IS THE prorm BUDGET PLANNING? prorm Budget Planning Overview THE ADVANTAGES OF
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
MehrKarlsruhe Institute of Technology Die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)
Combining Cloud and Grid with a User Interface Jie Tao Karlsruhe Institute of Technology jie.tao@kit.edu Die Kooperation von Outline Motivation The g-eclipse Project Extending gg-eclipse for a Cloud Framework
MehrExercise (Part VIII) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part VIII) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises.
MehrHIR Method & Tools for Fit Gap analysis
HIR Method & Tools for Fit Gap analysis Based on a Powermax APML example 1 Base for all: The Processes HIR-Method for Template Checks, Fit Gap-Analysis, Change-, Quality- & Risk- Management etc. Main processes
MehrGemeinsam mehr erreichen.
Gemeinsam mehr erreichen. Microservices, ein Vorgehensmodell zur Softwareentwicklung - Nürnberg - 17. November 2016 "Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und
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
MehrKonfiguration von eduroam. Configuring eduroam
eduroam Windows 8.1 / 10 Konfiguration von eduroam Configuring eduroam 08.10.2018 kim.uni-hohenheim.de kim@uni-hohenheim.de Wissenschaftliche Einrichtungen und Universitäten bieten einen weltweiten Internetzugang
Mehrinfrastructure definitions example versioning
infrastructure definitions example versioning ATLAS9000 GmbH Landauer Str. - 1 D-68766 Hockenheim +49(0)6205 / 202730 Infrastructure documents Storage ATLAS PLM Archives Drawing Circuit Diagram Work Plan
MehrAuf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
Mehr3. Entwurfsmuster zur Entkopplung von Modulen. Übersicht zu Entwurfsmustern
3. Entwurfsmuster zur Entkopplung von Modulen OOP-3.1 Vorlesung Objektorientierte Programmierung WS 2013/2014 / Folie 301 Entwurfsmuster (Design Patterns): Idee der Entwurfsmuster verstehen Software-Entwicklungsaufgaben,
MehrObjektorientierter Entwurf. Verfeinerung von Klassendiagrammen. Was ist Verfeinerung? OOD.2) Verfeinerung des Klassenmodells
Objektorientierter Entwurf OOD.2) Verfeinerung des Klassenmodells K abc xyz abra kadabra Version 0-0., 04.07.0 K abc: T xyz: T2 abra (x:t) T2 kadabra (y: T2): T Softwaretechnologie, Prof. Uwe Aßmann, Prof.
Mehr33 Strukturelle Modellierung für das Kontextmodell und die Top-Level- Architektur. Obligatorische Literatur
33 Strukturelle Modellierung für das Kontextmodell und die Top-Level- Architektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät
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
MehrContract Based Design
Contract Based Design The Problem + = How can we avoid this in complex software and systems? How do we describe what we want? Requirement or Specification: REQ-1: The two traffic lights must not be green
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?
MehrAnnotation based presentation models for view rendering and data binding with Linkki and Vaadin
Annotation based presentation models for view rendering and data binding with Linkki and Vaadin jan.ortmann@faktorzehn.de 20.02.2017 Faktor-IPM - Architektur 1 Annotation based presentation models for
Mehrsystems landscape engineering - übung -
systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik
MehrV-Modell mit UML. Max Kleiner
V-Modell mit UML Max Kleiner Open or programming for change The Unified Modeling Language [UML95] is a thirdgeneration object-oriented modeling language for specifying, visualizing, and documenting the
MehrBVM-Tutorial 2010: BlueBerry A modular, cross-platform, C++ application framework
BVM-Tutorial 2010: BlueBerry A modular, cross-platform, C++ application framework Daniel Maleike, Michael Müller, Alexander Seitel, Marco Nolden, Sascha Zelzer Seite 2 Overview General introduction Workbench
MehrWebbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient
Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient Zhihang Yao, Kanishk Chaturvedi, Thomas H. Kolbe Lehrstuhl für Geoinformatik www.gis.bgu.tum.de 11/14/2015 Webbasierte Exploration
MehrKlausur Verteilte Systeme
Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table
MehrProduct Lifecycle Manager
Product Lifecycle Manager ATLAS9000 GmbH Landauer Str. - 1 D-68766 Hockenheim +49(0)6205 / 202730 Product Lifecycle Management ATLAS PLM is powerful, economical and based on standard technologies. Directory
MehrÜbung 3: VHDL Darstellungen (Blockdiagramme)
Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei
MehrExercise (Part V) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part V) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
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
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:
MehrArchitektur & Design. Martin Jud Software-Engineering Construction Architecture 1. Architecture
Architektur & Design Die Erfahrung hat mich gelehrt, dass man jede Person, die mit gesundem Menschenverstand ausgestattet ist, zu einem guten Systemanalytiker ausbilden kann. Software Architekten und Designer
MehrHow-To-Do. Communication to Siemens OPC Server via Ethernet
How-To-Do Communication to Siemens OPC Server via Content 1 General... 2 1.1 Information... 2 1.2 Reference... 2 2 Configuration of the PC Station... 3 2.1 Create a new Project... 3 2.2 Insert the PC Station...
MehrRaber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft.
Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version Schimon.Mosessohn@microsoft.com Herzlich Willkommen 1996 2004 2010 2014 Navision 3.7 Microsoft
MehrExercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrSARA 1. Project Meeting
SARA 1. Project Meeting Energy Concepts, BMS and Monitoring Integration of Simulation Assisted Control Systems for Innovative Energy Devices Prof. Dr. Ursula Eicker Dr. Jürgen Schumacher Dirk Pietruschka,
Mehr