6 Architektur-Mittel (WOMIT)

Größe: px
Ab Seite anzeigen:

Download "6 Architektur-Mittel (WOMIT)"

Transkript

1 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte und Techniken aufzeigt, die heutzutage in den Werkzeugkasten eines Software- Architekten gehören. Nach dem Lesen dieses Kapitels haben Sie eine Vorstellung davon erhalten, welche Mittel Sie einsetzen können, um Architekturen zu bewerten, zu beschreiben, zu erstellen und weiterzuentwickeln. Übersicht 6.1 Architektur-Prinzipien Grundlegende architektonische Konzepte Architektur-Taktiken, -Stile und -Muster Basisarchitekturen Referenzarchitekturen Architektur-Modellierungsmittel Architekturrelevante Technologien

2 spielsweise kann eine Referenzarchitektur je nach Umfang die fachliche als auch die technische Architektur umfassen. Die Verwendung der technischen Aspekte einer Referenzarchitektur setzt jedoch voraus, dass die Rahmenbedingungen auch die Verwendung der durch die Referenzarchitektur festgelegten Technologien erlauben. Sollte dies nicht zutreffen, kann bereits ein Teil der Referenzarchitektur nicht mehr verwendet werden. Ein Architekt muss daher eine Balance zwischen den durch Architektur-Mittel gemachten Vorgaben und der konkreten Problemstellung finden. Es empfiehlt sich, bei der Identifikation der Architektur-Mittel zunächst solche zu begutachten, die einen hohen Wiederverwendungsgrad besitzen. Erst wenn keine höherwertigen Mittel (z. B. Basis- und Referenzarchitekturen) zur Verfügung stehen, sollte auf grundlegendere Mittel (Architektur-Prinzipien) zurückgegriffen werden. 6.1 Architektur-Prinzipien Einflussfaktoren auf eine Architektur Wie in den vorhergehenden Kapiteln erläutert, beschäftigt sich die Software-Architektur in erster Linie mit den Bausteinen eines Software- Systems und deren Interaktion. Diese übernehmen die Umsetzung der funktionalen Anforderungen an ein Software-System. Zusätzlich dazu spielen eine große Anzahl von nicht-funktionalen Anforderungen, wie beispielsweise Performanz, Produkteinführungszeit, Kosten, Wartbarkeit, Wiederverwendbarkeit, Änderbarkeit, Verfügbarkeit und Einfachheit, eine zentrale Rolle (siehe auch Kapitel 5). Diese Einflussfaktoren bestimmen wesentlich den Aufbau einer Software-Architektur. Dies heißt aber, dass zwei Software-Systeme mit gleichen technischen Anforderungen, die von zwei unterschiedlichen Architekten in unterschiedlichen Organisationen erstellt werden, unweigerlich voneinander abweichende Software-Architekturen haben. Es stellt sich die Frage: Wie erkennt man eine gute Software-Architektur? Gute und schlechte Architekturen In der Tat kann man schwerlich sagen, dass eine Architektur an sich gut oder schlecht ist sie erfüllt nur die gesetzten funktionalen und nicht-funktionalen Anforderungen, die an das Software-System gestellt werden, mehr oder weniger gut. Das heißt in anderen Worten: Die Architekturen haben unterschiedliche Ausprägungen der Qualitätsattribute. Beispielsweise mag eine hochflexible und konfigurierbare Server- Architektur für einen Anwendungsserver sehr geeignet sein. Hingegen ist dieselbe Architektur im Vergleich zu einer weit inflexibleren Architektur für einen Server im Bereich von eingebetteten Systemen Architektur-Mittel (WOMIT)

3 Den Begriff der Kopplung kann man sich an einigen Beispielen klarmachen. Eine Klasse ist ein zentraler Baustein eines objektorientierten Systems. Daher macht es Sinn, die Kopplung der Klassen zu betrachten. Allgemein kann die Kopplung eines Bausteins der Architektur durch einfaches Zählen der Beziehungen zu einem anderen betrachteten Baustein gemessen werden. Also, auf Klassen bezogen, kann man z. B. messen, wie stark Klassen mit anderen Klassen gekoppelt sind. Dies geschieht, indem man die Anzahl der anderen Klassen ermittelt, die mit einer gegebenen Klasse in Beziehung stehen. Eine solche einfache Metrik der Kopplung liefert einen ersten Eindruck über die Kopplung in einer Architektur. Es ist aber auch wichtig, zu betrachten, auf welche Weise die Bausteine einer Architektur gekoppelt sind. Verschiedene Realisierungen einer Beziehung zwischen den Bausteinen bedeuten als Resultat oft verschieden starke Abhängigkeiten. Angenommen zwei Klassen benötigen gemeinsame Daten. Als Beispiele sollen die folgenden drei Arten der Kopplung betrachtet werden (es gibt noch viele andere Arten der Kopplung): > Die Klassen können gegenseitig auf ihre (privaten) Daten zugreifen, was eine sehr starke Form der Kopplung darstellt, denn man kann keine der beiden Klassen mehr ändern, ohne die andere zu betrachten. > Eine weniger starke Kopplung liegt vor, wenn die Klassen über eine globale Datenstruktur kommunizieren, denn die direkten Abhängigkeiten der Klassen werden aufgelöst und in die globale Datenstruktur ausgelagert. Trotzdem ist die Kopplung noch recht stark, denn alle Änderungen, die die globalen Daten betreffen, betreffen auch alle Klassen, die mit den Daten arbeiten. > Wenn die Klassen nur über Methodenparameter kommunizieren, ist die Kopplung deutlich geringer: Die beteiligten Methoden enthalten nur die wirklich notwendigen Daten. Somit ziehen Änderungen an dieser Datenkopplung meist auch nur lokale Änderungen an den beteiligten Methoden der beteiligten Klassen nach sich. Kopplungsmetriken können auch für andere Architektur-Sichten und Arten von Bausteinen betrachtet werden. Eine andere sinnvolle Sicht ist die Betrachtung der Objekt- und Aufrufstrukturen zur Laufzeit. Hier kann man sagen, ein Objekt x hat dann eine hohe Kopplung zu einem anderen Objekt y, wenn es y oft aufruft. Das Prinzip der losen Kopplung besagt, dass die Kopplung zwischen Systembausteinen möglichst niedrig gehalten werden soll. Das Prinzip Prinzip der losen Kopplung 6.1 Architektur-Prinzipien 131

4 beschäftigt sich mit dem Problem, dass es für das Verstehen und Ändern eines Bausteins oft auch notwendig ist, weitere Bausteine zu verstehen oder zu ändern [Yourdon und Constantine 1978]. Es wird angenommen, dass diese Qualitätsattribute positiv durch lose Kopplung beeinflusst werden. Ein Zweck der losen Kopplung ist also, die Komplexität von Strukturen gering zu halten: Je weniger stark ein Baustein mit anderen Bausteinen gekoppelt ist, umso einfacher ist es, den Baustein zu verstehen, ohne viele andere Bausteine gleichzeitig verstehen zu müssen. Ein zweiter Zweck ist, die Änderbarkeit der Architektur zu erhöhen: Je weniger Bausteine durch starke Kopplung von einer Änderung in einem anderen Baustein betroffen sind und je loser die existierenden Beziehungen sind, umso einfacher ist es, Änderungen lokal an einzelnen Bausteinen ohne Betrachtung ihrer Umwelt durchzuführen. Zusammenhang zu anderen Prinzipien Wie man sieht: Lose Kopplung ermöglicht den Entwurf für Veränderung, ein weiteres wichtiges Prinzip der Software-Architektur. Überdies führt lose Kopplung zum Prinzip der hohen Kohäsion, denn wenn man die externen Beziehungen lose hält, ist häufig eine direkt Konsequenz, dass die Bausteine intern stärker zusammenhängend entworfen werden. Erreicht werden kann lose Kopplung insbesondere durch Umsetzung der Prinzipien Abstraktion, Separation of Concerns und Information Hiding. Die Einführung von Schnittstellenabstraktionen ist hier ein wichtiger Aspekt. Das heißt, die Belange Schnittstelle und Implementierung werden separiert und die Implementierungsinformationen werden hinter den Schnittstellen verborgen. Um dann lose Kopplung zu erreichen, sollte man versuchen, die Anzahl der Schnittstellenelemente gering zu halten und auch die Häufigkeit des Austausches von Informationen über Schnittstellen zu begrenzen. Grundsätzlich sollten Bausteine einer Architektur nur über wohl definierte Schnittstellen kommunizieren. Dies dient der Abstraktion und zusätzlich macht es auch die Kopplung von Systembausteinen kontrollierbar. Gesetz von Demeter Ein verwandtes Prinzip zu loser Kopplung ist das Gesetz von Demeter (Law of Demeter) [Lieberherr und Holland 1989], das besagt: Ein Systembaustein sollte nur eng verwandte Bausteine benutzen ( Sprich nicht mit Fremden ). Dies ist insbesondere wichtig, da Menschen nur eine begrenzte Anzahl an Informationen im Kurzzeitgedächtnis halten können. Somit macht es Sinn, Systembausteine nicht mit zu viel externer Information zu überladen, um ihre Verstehbarkeit zu erhöhen Architektur-Mittel (WOMIT)

5 Ein wichtiges Teilprinzip der losen Kopplung ist die Vermeidung zirkulärer Abhängigkeiten zwischen den Bausteinen eines Systems, weil zirkuläre Abhängigkeiten eine besonders hohe Kopplung der Bausteine nach sich ziehen. Zirkuläre Abhängigkeiten sind die Ursache für viele Probleme in der Software-Entwicklung, wie z. B. Deadlocks und erschwerte Änderbarkeit. Ein wichtiges architektonisches Problem ist hier, dass keiner der zirkulär abhängigen Bausteine verstanden oder getestet werden kann, ohne den gesamten Zyklus zu verstehen oder zu testen. Das heißt, die arbeitsteilige Entwicklung solcher Bausteine gestaltet sich schwierig. Vermeidung zirkulärer Abhängigkeiten Statt zirkulärer Abhängigkeiten sollten die Beziehungen der Bausteine dem sogenannten Hollywood-Prinzip Don t call us, we call you! folgen also lose gekoppelt sein. Dies bezeichnet man auch als Inversion of Control. Hollywood-Prinzip und Inversion of Control Dependency Inversion ist eine Anwendung des Hollywood-Prinzips bzw. der losen Kopplung: Ein Baustein definiert eine Schnittstelle, mit der er arbeitet und andere Bausteine realisieren die Schnittstelle. Dependency Inversion Dependency Injection ist eine weitere Anwendung des Hollywood- Prinzips. Sie überträgt die Verantwortung für das Erzeugen und Verknüpfen von Bausteinen an ein extern konfigurierbares Rahmenwerk (englisch: framework), um die Kopplung zu der Umgebung des Bausteins zu reduzieren. Dadurch werden auch Abhängigkeiten leichter verwaltbar. Dependency Injection Prinzip der hohen Kohäsion Kopplung beschäftigt sich mit den Abhängigkeiten von verschiedenen Bausteinen einer Architektur. Ein Baustein besteht aber häufig selbst aus vielen Teilen. Beispielsweise besteht eine Klasse aus Variablen und Methoden. Die Abhängigkeiten innerhalb eines Systembausteins werden als Kohäsion bezeichnet. Kohäsion Auch die Kohäsion kann man sich an Beispielen klarmachen. Bezogen auf die Methoden einer Klasse kann man die Kohäsion sinnvoll durch die Aufrufbeziehungen der Methoden dieser Klasse untereinander messen. In der Laufzeitsicht hat ein Objekt x dann eine hohe Kohäsion, wenn es sich oft selbst aufruft. 6.1 Architektur-Prinzipien 133

6 Prinzip der hohen Kohäsion Die Kohäsion innerhalb eines Systembausteins soll möglichst hoch sein. Wie bei der losen Kopplung geht es auch hier um die lokale Änderbarkeit und Verstehbarkeit von Systembausteinen [Yourdon und Constantine 1978]: Wenn ein Systembaustein alle die zum Verstehen und Ändern relevanten Eigenschaften in seiner Beschreibung vereint, kann man ihn folglich ändern, ohne andere Systembausteine verstehen oder ändern zu müssen. Zusammenhang zur losen Kopplung Kopplung und Kohäsion stehen normalerweise miteinander in einer Wechselbeziehung. Zumeist gilt: Je höher die Kohäsion individueller Bausteine einer Architektur ist, desto geringer ist die Kopplung zwischen den Bausteinen. Dieser Zusammenhang wird schematisch in Abbildung dargestellt. Abb : Links sieht man ein Beispiel mit starker Kopplung und geringer Kohäsion; rechts sind lose Kopplung und hohe Kohäsion umgesetzt. Eine Architektur mit loser Kopplung und hoher Kohäsion ist gut geeignet, will man die Gesamtstruktur des Software-Systems schnell verstehen. Zusammenhang zu anderen Prinzipien Eine hohe Kohäsion führt oft zu einer losen Kopplung und umgekehrt also haben diese beiden Prinzipien in vielen Fällen eine Wechselwirkung untereinander. Erreicht werden kann hohe Kohäsion wiederum insbesondere durch Umsetzung der Prinzipien Abstraktion, Separation of Concerns und Information Hiding. Eine hohe Kohäsion lässt sich durch Kapselung verwandter Anforderungen in einem Systembaustein erreichen. Das heißt insbesondere, man wendet Separation of Concerns und Information Hiding beim Entwurf an: Verwandte Anforderungen tendieren zu hohem Kommunikationsbedarf, daher sollten sie Teil desselben Systembausteins sein, um die Kohäsion des Bausteins zu erhöhen. Ein solcher Baustein sollte alle Interna vor der Außenwelt verbergen, um die Kopplung lose zu halten. Architekturen mit hoher Kohäsion ermöglichen es, die einzelnen Systembausteine als Black Boxes zu betrachten, die unabhängig voneinander geändert und ausgetauscht werden können Architektur-Mittel (WOMIT)

Inhaltsverzeichnis. xiii

Inhaltsverzeichnis. xiii Inhaltsverzeichnis 1 Einleitung... 1 1.1 Ausgangslage und Zielsetzung des Buches...2 1.2 Was ist Software-Architektur?...8 1.3 Leser-Leitfaden... 11 1.3.1 Buchaufbau... 11 1.3.2 Zielpublikum... 15 1.3.3

Mehr

Software Engineering. Grundlagen von Softwarearchitekturen

Software Engineering. Grundlagen von Softwarearchitekturen Software Engineering Grundlagen von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der jeweils angegebenen Literatur erstellt. Darüber hinaus finden sich ausgewählte Beispiele

Mehr

vii Inhaltsverzeichnis 1 Einleitung 1

vii Inhaltsverzeichnis 1 Einleitung 1 vii 1 Einleitung 1 1.1 Softwarearchitektur als Disziplin im Software Engineering........ 2 1.2 isaqb International Software Architecture Qualification Board.......... 4 1.3 Certified Professional for Software

Mehr

Software-Architektur. Spektrum k_/takademischht VERLAG

Software-Architektur. Spektrum k_/takademischht VERLAG Oliver Vogel / Ingo Arnold /Arif Chughtai / Edmund Ihler/Uwe Mehlig/Thomas Neumann/ Markus Völter/Uwe Zdun Software-Architektur Grundlagen - Konzepte - Praxis ELSEVIER SPEKTRUM AKADEMISCHER VERLAG Spektrum

Mehr

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 sverzeichnis Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Kapitel 1 Applikations-Architektur II

Kapitel 1 Applikations-Architektur II Kapitel 1 Applikations-Architektur II Software Engineering FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Gesamtüberblick I. Software Architektur Grundbegriffe II. Prinzipien & Taktiken III. Stile

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen ...we make the invisible visible... Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen 1 Inhalt Qualitätsbegriff und Qualitätsmodelle Abstraktion Analysen und deren Anwendung Erfahrungen

Mehr

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0. Weitere Informationen oder Bestellungen unter

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0. Weitere Informationen oder Bestellungen unter Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im Buchhandel.

Mehr

4 Architektur-Perspektiven (WO)

4 Architektur-Perspektiven (WO) 4 Architektur-Perspektiven (WO) Abb. 4-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WO-Dimension des architektonischen Ordnungsrahmens. Es erläutert, auf welchen

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Softwarearchitekten. Basiswissen für. dpunkt.verlag. Foundation Level

Softwarearchitekten. Basiswissen für. dpunkt.verlag. Foundation Level Mahbouba Gharbi Arne Koschel Andreas Rausch Gernot Starke Basiswissen für Softwarearchitekten Aus- und Weiterbildung nach isaqb-standard zum Certified Professional for Software Architecture - Foundation

Mehr

Was die OOP-Tutorials verschweigen

Was die OOP-Tutorials verschweigen oder: Wie man objektorientiert denkt Delphi-Treff Delphi-Tage 2010 Vorstellung Einführung Informatikstudent an der TU Kaiserslautern Moderator und Redakteur bei Delphi-Treff http://www.christian-rehn.de

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5.

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren 1 Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren W3L AG info@w3l.de 2011 2 Agenda Softwarearchitektur und Architekturentwurf Definition Überblick

Mehr

Effektive Software- Architekturen

Effektive Software- Architekturen Gemot Starke Effektive Software- Architekturen Ein praktischer Leitfaden 4., aktualisierte und erweiterte Auflage HANSER Inhalt Vorwort Vorwort zur vierten Auflage XIII XIV 1 Einleitung 1 1.1 Software-Architekten

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

Contexts and Dependency Injection. W3L AG info@w3l.de

Contexts and Dependency Injection. W3L AG info@w3l.de 1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation

Mehr

Whitepaper. The Big Ball of Mud. Flexible Architekturen (Stand: August 2009)

Whitepaper. The Big Ball of Mud. Flexible Architekturen (Stand: August 2009) Whitepaper Flexible Architekturen (Stand: August 2009) The Big Ball of Mud The most frequently deployed software architecture: the Big Ball of Mud, so haben Foote und Yoder das Ergebnis von 30 Jahren Software-Engineering

Mehr

...we make the invisible visible...

...we make the invisible visible... ...we make the invisible visible... 1 Inhalt Qualitätsbegriff Fragestellungen im Zusammenhang mit innerer Softwarequalität Analysen und deren Anwendung Erfahrungen 2 Ausfallsicherheit Datensicherheit Zuverlässigkeit

Mehr

Langlebige Softwarearchitekturen

Langlebige Softwarearchitekturen Langlebige Softwarearchitekturen Dr. Carola Lilienthal Carola.Lilienthal@wps.de www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Die zwei Architekturziele für diesen Vortrag Architekturziel 1:

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Maria Spichkova

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

Mehr

SOA Bund. Wolfgang Tietz; Philipp Hoernes Projektausschuss Projektmitarbeiter, Projektausschuss

SOA Bund. Wolfgang Tietz; Philipp Hoernes Projektausschuss Projektmitarbeiter, Projektausschuss Eidgenössisches Finanzdepartement EFD Informatikstrategieorgan Bund ISB Architekturen, Standards, Technologie AST SOA Bund Klassifizierung * Status ** Projektname Projektabkürzung Projektnummer 7766 Projektleiter

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte 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

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

Mehr

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung

Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung Skript zur Vorlesung Softwaretechnik Folge 8 Methoden für Entwurf und Realisierung IT Kompaktkurs Sommersemester 2001 Prof. Dr. Herbert Fischer Fachhochschule Deggendorf 1 Methoden für Entwurf und Realisierung

Mehr

Konstruktive Software-Architektur

Konstruktive Software-Architektur !!!!!!!!!!!!!!!!!!!!!!! Fachhochschule Köln Cologne University of Applied Sciences Forschungsschwerpunkt Software-Qualität Konstruktive Software-Architektur Grundzüge einer Methodenlehre für Softwarearchitekten

Mehr

Kapitel 1 Applikations-Architektur VI

Kapitel 1 Applikations-Architektur VI Kapitel 1 Applikations-Architektur VI Software Engineering FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Gesamtüberblick I. Software Architektur Grundbegriffe II. Prinzipien & Taktiken III. Stile

Mehr

Software Engineering I. Architektur

Software Engineering I. Architektur Skript zur Vorlesung Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln

Mehr

IT für Intralogistiksysteme 2015

IT für Intralogistiksysteme 2015 Vorlesung: IT für Intralogistiksysteme 2015 Kapitel 6: Adaptive IT - zukunftsorientierte Software-Architektur Prof. Dr.-Ing. Frank Thomas Dr. Thomas + Partner GmbH & Co. KG, Karlsruhe Karlsruhe, den 01.07.2015

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 1) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Besonderheiten und Eigenschaften von Software; Interne und Externe Eigenschaften 1 Aufgabe 1.1 Software

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering Vorlesung VIII Inhalt der Vorlesung Wiederholung Vorlesung VII Factory Method Observer s Übung Vorstellung des (Gruppe Jukebox) Folie 2 Definiert ein Objekt zur

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010 Architekturentscheidungen für große langlebige Softwaresysteme: Vendor-Lock-in- und Netz-Effekte Menschen beraten Menschen beraten BTC zeigt Wege auf - Sie entscheiden BTC zeigt Wege auf - Sie entscheiden

Mehr

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag OOD Objektorientiertes Design Peter Coad und Edward Yourdon Prentice Hall Verlag New York, London, Toronto, Sidney, Tokio, Singapur, München, Mexiko Vorwort 9 Vorwort der Übersetzer 11 Danksagungen 13

Mehr

Effizienzsteigerung durch Komplexitätsreduktion

Effizienzsteigerung durch Komplexitätsreduktion Effizienzsteigerung durch Komplexitätsreduktion Die Herausforderung Kosten schon kleine Änderungen in den Abläufen Ihres Unternehmens Unsummen? Haben Sie Schwierigkeiten, alle notwendigen Änderungen schnell

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing

Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing Das Forschungsprojekt Das Forschungsprojekt Strategische t Flexibilität durch komponentenbasierte t Software-Entwicklung

Mehr

Umsichtig planen, robust bauen

Umsichtig planen, robust bauen Umsichtig planen, robust bauen iks Thementag Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.2012 Autor: Christoph Schmidt-Casdorff Agenda Softwarearchitektur Architekturkonformität

Mehr

Software- Qualitätsmanagement

Software- Qualitätsmanagement Software- Qualitätsmanagement Thomas Kugel Brandenburg, den 10.12.2002 Agenda Einleitung Was heißt Softwarequalitätssicherung und Test Die Rolle von Test und QS in Softwareprojekten Wie wird getestet Statische

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 378

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 378 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 378 Umsetzung ausgewählter Supply-Chain-Operations-Reference-Metriken durch das

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Zusammenfassung: Architekturprinzipien

Zusammenfassung: Architekturprinzipien Zusammenfassung: Architekturprinzipien Prinzip der losen Kopplung Prinzip der hohen Kohäsion Prinzip des Entwurfs für Veränderung Separation-of-Concerns-Prinzip Information-Hiding-Prinzip Abstraktionsprinzip

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Welche agilen Prozesse führen zum Ziel?

Welche agilen Prozesse führen zum Ziel? Welche agilen Prozesse führen zum Ziel? Andreas Lechner, hotel.de AG Dr. Florian Irmert, hotel.de AG 24.10.2012 PM Forum Nürnberg Seite 1 Andreas Lechner Jahrgang 1974 Studium der Informatik mit Nebenfach

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Teil D Objektorientierte Programmierung Kapitel D 2001 Prof. Dr. Rainer Manthey Informatik I 1 Teil D Grundlagen der objektorientierten Programmierung 2001 Prof. Dr. Rainer Manthey Informatik I 2 Objektorientierung

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

VisualCockpit. agile business analytics

VisualCockpit. agile business analytics VisualCockpit agile business analytics Agile Business Analytics mit VisualCockpit Für Unternehmen wird es immer wichtiger die gesamte Wertschöpfungskette aus Daten, sowohl für das operative Geschäft als

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Mufid Sulaiman mufidsulaiman@web.de

Mufid Sulaiman mufidsulaiman@web.de Mufid Sulaiman mufidsulaiman@web.de Überblick Frameworks Applikationsentwicklung mit Frameworks Komponentenbasierte Frameworks Einführung in Enterprise JavaBean Einführung in SanFrancisco Vergleich Enterprise

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

Definition: Software-Entwurf (SW Design) Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt. Entwurf: Wann? Entwurf vs.

Definition: Software-Entwurf (SW Design) Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt. Entwurf: Wann? Entwurf vs. Definition: Software-Entwurf (SW Design) Ziele Entwurf vs. Architektur Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt Vorgehen Festlegung der Struktur eines Softwaresystems Welche Teile gibt

Mehr

Grob- und Detailplanung bei der Implementierung nutzen

Grob- und Detailplanung bei der Implementierung nutzen Softwarearchitektur Grob- und Detailplanung bei der Implementierung nutzen Bereich Realisierung Aktivität Softwareinkrement realisieren Ziele Vermitteln einer Orientierungshilfe für alle Entwickler Etablierung

Mehr

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Michael Saecker Bekannte Lösungen für bekannte Probleme benutzen Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Gemeinsames Vokabular für Designer 2 http://www.clickpix.de/sommer/architektur.jpg

Mehr

Architekturleitfaden. Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten

Architekturleitfaden. Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten Architekturleitfaden Definieren Sie fachliche und implementieren Sie Ihre Aufgaben in technischen Schichten Illustration: Designed by Freepik.com Zwei Architektursichten prägen den Bau von Software-Systemen

Mehr

Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan

Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan ITech Progress GmbH 2012 Wer bin ich? Mahbouba Gharbi Geschäftsführerin der ITech Progress GmbH Trainerin,

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Integration der HIS-Softwareprodukte intern/extern. Dortmund 4.12.2007

Integration der HIS-Softwareprodukte intern/extern. Dortmund 4.12.2007 Integration der HIS-Softwareprodukte intern/extern Dortmund 4.12.2007 Inhalt Bestandsaufnahme Datenintegration Datenreplikation Schnittstellen Aspekte, Beispiele Aktuelle Kopplungstechniken Beispiele aus

Mehr

Funktionskapselung in Steuergeräten

Funktionskapselung in Steuergeräten Funktionskapselung in Steuergeräten Mobilität und Echtzeit Boppard am Rhein, 07.12.2007 Stand: 07.12.2007 1 Funktionskapselung in Steuergeräten Inhalt Ausgangssituation und Motivation Begriff "Kapselung"

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Modularisierung und Softwarearchitekturen

Modularisierung und Softwarearchitekturen Modularisierung und Softwarearchitekturen O.Univ.-Prof. Dipl.-Ing. Dr. Wolfgang Pree Fachbereich Informatik cs.uni-salzburg.at Inhalt Der Begriff Softwaremodul (= Softwarekomponente) Erwünschte Eigenschaften

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining

Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining Ausgangssituation Kaizen Data Mining ISO 9001 Wenn andere Methoden an ihre Grenzen stoßen Es gibt unzählige Methoden, die Abläufe

Mehr

Der SBB Online-Ticketshop Mit SOA zum Erfolg

Der SBB Online-Ticketshop Mit SOA zum Erfolg Der SBB Online-Ticketshop Mit SOA zum Erfolg BAT 03 Stefan Meichtry, Stefan Becker Bern, den 17.03.2006 SBB Informatik 1 Das Ziel SBB Informatik 2 Agenda Problemraum Lösungsraum Analyse Wir sind hier Synthese

Mehr

Struktur und Architektur

Struktur und Architektur Struktur und Architektur Grundlagen der Software-Architektur: Vorarbeit für die Komponentenentwicklung (c)schmiedecke 07 SE1-10 - Struktur und Architektur 1 Vom Analysemodell zur Anwendungssoftware Analysemodell

Mehr

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Dipl. Inform. Olaf Maibaum DLR, Abt. Simulations- und Softwaretechnik DLR, Abt. Simulations- und Softwaretechnik 1 Übersicht Bird-Satellit

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Softwaretechnik 3. Klausurnachbesprechung. 09.05.2008, Phillip Ghadir

Softwaretechnik 3. Klausurnachbesprechung. 09.05.2008, Phillip Ghadir Softwaretechnik 3 Klausurnachbesprechung 09.05.2008, Phillip Ghadir Benotungsschema Fest vorgegeben Volle Punktzahl und Negativliste Positivliste Bestehen ab 40 Punkte Aufgabenarten Abfrage von auswendig

Mehr

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

Mehr

Implementierung von IBM Connections bei der Robert Bosch GmbH: Erfahrungen und Empfehlungen

Implementierung von IBM Connections bei der Robert Bosch GmbH: Erfahrungen und Empfehlungen Implementierung von IBM Connections bei der Robert Bosch GmbH: Erfahrungen und Empfehlungen 19. September 2012, Dr. Erik Wüstner, Technischer Projektleiter im Zentralbereich IT Social Business bei Bosch

Mehr

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle Software- und smodelle Software- Klassische Objektorientierte Seminar Moderne Softwareentwicklung SS 2005 Gliederung Software- und smodelle 1 und smodelle Klassische Objektorientierte 2 Klassische Objektorientierte

Mehr

Softwaretool Data Delivery Designer

Softwaretool Data Delivery Designer Softwaretool Data Delivery Designer 1. Einführung 1.1 Ausgangslage In Unternehmen existieren verschiedene und häufig sehr heterogene Informationssysteme die durch unterschiedliche Softwarelösungen verwaltet

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

17 Architekturentwurf Vorgehen und Dokumentation

17 Architekturentwurf Vorgehen und Dokumentation 17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Einführung in die Softwaretechnik

Einführung in die Softwaretechnik : Modul/Modulare Architektur 1 Auf dem Weg zur objektorientierten Architektur Überblick Architekturbegriff: Zerlegung in Komponenten, Qualitätsanforderungen, Entwurfskriterien, Struktur und Interaktion

Mehr

Online Analytical Processing

Online Analytical Processing Online Analytical Processing Online Analytical Processing Online Analytical Processing (OLAP) ermöglicht die multidimensionale Betrachtung von Daten zwecks E rmittlung eines entscheidungsunterstützenden

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Template der gleichnamigen Action des geerbten Controllers, also AssetsController.

Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs 7 Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs Das Buch ist in sechs Kapitel unterteilt. Im ersten Kapitel Grundlagen findet

Mehr