Moderne Softwarearchitektur

Größe: px
Ab Seite anzeigen:

Download "Moderne Softwarearchitektur"

Transkript

1 Johannes Siedersieben Moderne Softwarearchitektur Umsichtig planen, robust bauen mit Quasar dpunkt.verlag

2 1 Softwarearchitektur als Herausforderung Was ist Softwarearchitektur? Quasar: Qualitätssoftwarearchitektur Der Fahrplan Klassen und Schnittstellen (Kapitel 2) Komponenten und Schnittstellen (Kapitel 3) Softwarekategorien - wie findet man Komponenten? (Kapitel 4) Fehler und Ausnahmen - Rechte und Pflichten (Kapitel 5) Wie spezifiziert man Schnittstellen? (Kapitel 6) Softwarearchitekturen (Kapitel 7) Anwendungskern und Anwendungskomponenten (Kapitel 8) Pools, Persistenz und Transaktionen (Kapitel 9) GUI-Architektur (Kapitel 10) Quasar - Hilfe oder Korsett? Warum brauchen wir Quasar? Argumente gegen Quasar Quasar und Muster Quasar und Wissenschaft Quasar und UML Was sagen andere? 12 2 Klassen und Schnittstellen Schnittstellen Listen und Iteratoren 17

3 xii Inhalt 2.3 Vom Nutzen des Iterators Das Kleingedruckte: Was kann alles schief gehen? Konfiguration und Implementierung von Klassen Schnittstellen und Muster Eigene Listen implementieren Schnittstellen und Test Weitere Java-Behälter Arbeit sparen durch Schnittstellen Prinzip der minimalen Annahme Rückrufschnittstellen (callbacks) Beispiel: Fahrstuhl mit virtueller Zeit Java-Schnittstellen und funktionale Programmierung Pakete in Java Wie baut man Java-Pakete? Schnittstellen in anderen Sprachen Schnittstellen in C Schnittstellen in C Schnittstellen in typfreien Sprachen: Beispiel Python Zusammenfassung 40 3 Komponenten und Schnittstellen Komponenten Drei Definitionen, sechs Merkmale Schnittstellen Mehr Beispiele für Komponenten Semantik und Verfeinerung von Schnittstellen Beispiel Berechtigung Komponenten und Objektorientierung Rollen im Entwicklungsprozess Wie findet man Komponenten: Beispiel Konfiguration: Komponenten verbinden Kompositionsmanager: Konfiguration und Komposition 61

4 xiii_ 3.11 Symmetrische Komposition Konfiguration mit XML Wer definiert Schnittstellen? Standardschnittstellen Angebotene Schnittstelle Angeforderte Schnittstellen und Adapter Wie beschreibt man Komponenten? Zusammenfassung 71 4 Softwarekategorien - wie findet man Komponenten? Beispiel: Schafkopfen mit dem Computer Softwarekategorien und Komplexität Was gehört zu 0-Software? Softwarekategorien und Variabilität Kommunikation zwischen Komponenten verschiedener Kategorien Kommunikation mit neutralen Schnittstellen und R-Software Beispiel 1: Vektoren und Matrizen Beispiel 2: Anwendung und Persistenz R-Software und Sichtbarkeit A- und T-Software A-Software T-Software Kombination von A und T A und T - Revolution oder Selbstverständlichkeit? Variabilitätsanalyse mit SAAM Zurück zum Beispiel: Schafkopfen mit dem Computer SAAM und Softwarekategorien Fünf Regeln zu Softwarekategorien 95 5 Fehler und Ausnahmen - Rechte und Pflichten Ausnahmen und Programmiersprachen Ausnahmen und Softwarearchitektur Optionen der Ausnahmebehandlung 103

5 5.4 Architektur der Ausnahmebehandlung Sicherheitsfassade Diagnose und Reparatur Experten für Diagnose und Reparatur Komposition als Risikogemeinschaft Beispiel Anwendungsserver Java-Ausnahmen und Performance Java-Ausnahmen: Geprüft oder ungeprüft? Vor- und Nachbedingungen Neun Regeln zu Fehlern und Ausnahmen Spezifikation von Schnittstellen Die Schnittstelle als virtuelle Komponente Zustand, Konsistenz, Konstanz Ausnahmen ACID und RR Zusammenfassung: Annahmen bei der Spezifikation Elemente der Spezifikation Zustandsmodell Invarianten Vor- und Nachbedingungen Testfälle Weitere Angaben Vorgehen bei der Spezifikation Erweiterung und Verfeinerung von Schnittstellen Erweiterung von Schnittstellen Verfeinerung von Schnittstellen Quasar Specification Language (QSL): Design by Contract OCL Parnas-Tabellen Eiffel JML QSL Definition der QSL-Syntax mit Java 131

6 T Inhalt xv 6.6 Beispiel: Einfaches Berechtigungssystem ACID und RRR bei einem Prozess Seiteneffekte und RRR Rückruf und ACID Konsistenz und Konstanz Zusammenfassung Softwarearchitekturen Übersicht Architektur eines Informationssystems A-Architektur A und T: Zwei Welten TI-Architektur T-Architektur und Standard-T-Architektur Rolle der Architektur im Entwicklungsprozess Alternative Ansätze Die Architektursichten von Hofmeister, Nord, Soni MDA und MDC Quasar-Konformität Anwendungskomponenten und Anwendungskern A-Komponenten und Anwendungskern Welche Schnittstellen importiert der Anwendungskern? Robert: Rosenheimer Stadtbücherei Außensicht von A-Komponenten: Gebühren und Ausleihe Gebühren Ausleihe Entitätstypen und Datentypen Implementierung von Datentypen Beispiele: ISBN, Versichertenart Fehler, die man vermeiden sollte Spezielle Transformationen 182

7 8.7 Enge und lose Koppelung Objektorientierte und dienstorientierte Schnittstellen Assoziationen Datenhoheit Schnittstellen im Entwicklungsprozess Zusammenfassung Pools, Persistenz und Transaktionen Standardprobleme Zugriffsschichten im Überblick Außensicht Innensicht Transaktionen aus Anwendungssicht Pools Pool-Schnittstellen SimplePool: Ein einfacher transaktionsfähiger Pool SimplePool: Was kann er nicht? Spätes Lesen: Virtuelle Objekte, virtuelle Attribute Objektidentität und Beziehungen Sperren und Transaktionen Mapping MappingManager Außensicht Abbildungsmodell Innensicht Wer verantwortet die Konsistenz der Daten? Gespeicherte Prozeduren (Stored Procedures) Mehrere Benutzer: Sperren und Sichtbarkeit Sperren und Sperrmodi Isolationsstufen Transaktionen (Vertiefung) Geschachtelte Transaktionen Parallele Transaktionen Verteilte Transaktionen Weiche Transaktionen 222

8 9.10 QuasarPersistence 223 % Was leistet die Anwendung? Pool Abfragen Transaktionen, Sperren OR-Abbildung Eigenschaften von QuasarPersistence im Überblick JDO (Java Data Objects) Was leistet die Anwendung? PersistenceManager Abfragen Transaktionen, Sperren OR-Abbildung Neun Regeln zu Pools, Persistenz und Transaktionen Architektur grafischer Bedienoberflächen 235 \ 10.1 Begriffe Prinzip lokaler Bedienoberflächen Standardarchitektur einer lokalen GUI-Engine Model-View-Controller (MVC) Web-Oberflächen und lokale Oberflächen Wertschöpfungskette grafischer Bedienoberflächen GUI-Frontend und Präsentation Präsentation und Dialogkern Dialogkern und Anwendungskern Dialogkern Präsentation Spezielle Themen Prüfung von Benutzereingaben Behandlung von Fehlern und Ausnahmen Komposition von Dialogen Zusammenfassung 253

9 xviii Inhalt A Autorisierung und QSL 255 A.l Autorisierung: Übersicht 255 A.2 Autorisierung: Außensicht 256 A.3 Der algorithmische Kern 259 A.4 Beispiel Robert 259 A.5 QSL-Spezifikation 262 A.5.1 Operative Schnittstelle 262 A.5.2 Administration 263 A.5.3 Instrumentierung 267 Nachwort 269 Literatur 271 Index 275 t

Quasar. Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin. von Tichomir Jabarski

Quasar. Seminar Beiträge zum Software Engineering Freie Universität t Berlin. von Tichomir Jabarski Quasar von Tichomir Jabarski Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin 1 Inhaltsverzeichnis Quasar Schnittstellen Komponenten Softwarekategorien Zusammenfassung 2 1.Quasar

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf 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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

Mehr

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Model Driven Architecture

Model Driven Architecture Roland Petrasch Oliver Meimberg Model Driven Architecture Eine praxisorientierte Einführung in die MDA Mit Gastbeiträgen von Florian Fieber und Karsten Thoms dpunkt.verlag Inhaltsverzeichnis Vorwort 1

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung Inhaltsverzeichnis 1 Grundbegriffe der Programmierung... 1 1.1 Das erste Programm: Hallo Welt... 1 1.2 Vom Problem zum Algorithmus... 3 1.2.1 Begriff des Algorithmus... 3 1.2.2 Eigenschaften eines Algorithmus...

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr

Modellierung mit UML

Modellierung mit UML Bernhard Rumpe Modellierung mit UML Sprache, Konzepte und Methodik Mit 210 Abbildungen und Tabellen Springer Inhaltsverzeichnis Einführung 1 1.1 Ziele dieses Buchs 2 1.2 Überblick 3 1.3 Notationelle Konventionen

Mehr

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1

Mehr

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7 CARL HANSER VERLAG Erika Horn, Thomas Reinke Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7 www.hanser.de Inhalt Vorwort...IX 1 Einleitung... 1 1.1 Software

Mehr

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte Inhaltsverzeichnis 1 Einleitung... 1 1.1 Entwicklungsumgebung... 1 1.2 Vom Quellcode zum ausführbaren Programm... 3 1.3 Erste Beispiele... 4 1.4 Wichtige Merkmale der Programmiersprache Java... 6 1.5 Zielsetzung

Mehr

Software Engineering

Software Engineering Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie

Mehr

6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Software

Mehr

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

Mehr

2 Anlegen und Konfigurieren von Datenbanken 35

2 Anlegen und Konfigurieren von Datenbanken 35 Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Ein Kompaß für die Praxis rsl dpunkt.verlag 1 Der Weg zur Objektorientierung bei Datenbanksystemen 1 1.1 Zum Einsatz von Datenbanksystemen 1 1.2 Was sind Objekte? 3 1.3 Eigenschaften

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Analyse und Entwurf von Softwaresystemen mit der UML

Analyse und Entwurf von Softwaresystemen mit der UML Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Softwarearchitektur mit dem Quasar- Architekturstil

Softwarearchitektur 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

Mehr

Warum Programme Verträge schließen sollten

Warum Programme Verträge schließen sollten 1 Warum Programme Verträge schließen sollten RALF HINZE Institut für Informatik, Lehrstuhl Softwaretechnik, Universität Freiburg Georges-Köhler-Allee, Gebäude 079, 79110 Freiburg i. Br. Email: ralf@informatik.uni-bonn.de

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Hauptseminar Management von Softwaresystemen

Hauptseminar Management von Softwaresystemen Hauptseminar Management von Softwaresystemen Technische Universität München WS 2005/06 Autor : Ceren Alkis Thema: Standardarchitekturen am Beispiel von QUASAR Datum: 29.11.2005 [1] Inhaltsverzeichnis:

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Verteilte Web-Anwendungen mit Ruby. Ruben Schempp Anwendungen

Verteilte Web-Anwendungen mit Ruby. Ruben Schempp Anwendungen Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 Gliederung Motivation Verteilte Web-Anwendungen Definition Beispiele Gemeinsamkeiten Szenario Ausrichtung Anforderungen Abgrenzungen Technologien

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung

Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung TKeasy Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung Software Engineering 2007, 27.-30.3.2007, Hamburg Ralf Degner, Frank Griffel Überblick Das Projekt TKeasy Technische

Mehr

Software Engineering. 5. Architektur

Software 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

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr

Obj ektorientierte Systemanalyse

Obj ektorientierte Systemanalyse Sally Shlaer Stephen J. Mellor Obj ektorientierte Systemanalyse Ein Modell der Welt in Daten h HANSER I Eine Coedition der Verlage Carl Hanser und Prentice-Hall International IX Warum Daten-Modellierung?

Mehr

Qualitätssicherung in der Softwareentwicklung

Qualitätssicherung in der Softwareentwicklung VU 3 Institut für Softwaretechnologie (IST) TU Graz Sommersemester 2012 Übersicht der Vorlesung 1 Invarianten in JML 2 3 4 5 JML Beispiele Invariant package org.jmlspecs.samples.jmlrefman Purse [Burdy

Mehr

2 Softwarearchitektur in der Organisationsstruktur 25

2 Softwarearchitektur in der Organisationsstruktur 25 xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

Praxis der Softwareentwicklung

Praxis der Softwareentwicklung Praxis der Softwareentwicklung SS 2013 Prof. Dr. Gregor Snelting LEHRSTUHL 0 KIT 9. Universität April 2013 des Landes Baden-Württemberg Praxis der Softwareentwicklung und SS 2013 LEHRSTUHL nationales Forschungszentrum

Mehr

MVC Ein wichtiges Konzept der Software-Architektur

MVC Ein wichtiges Konzept der Software-Architektur MVC Ein wichtiges Konzept der Software-Architektur Dr. Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Softwareentwicklungspraktikum Wintersemester 2011/12

Mehr

Inhaltsverzeichnis Was ist Web Dynpro? SAP Easy Access Designen einer Web-Dynpro-Komponente ABAP Dictionary

Inhaltsverzeichnis Was ist Web Dynpro? SAP Easy Access Designen einer Web-Dynpro-Komponente ABAP Dictionary Inhaltsverzeichnis 1 Was ist Web Dynpro?... 1 2 SAP Easy Access... 5 2.1 Ändern des SAP Easy Access... 6 2.2 Favoriten-Liste... 6 2.3 FestlegeneinerTransaktionalsStarttransaktion... 8 2.4 Erstellen einer

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

Klausur zum BM Einführung in die Wirtschaftsinformatik SS 2014 Schriftlicher Teil

Klausur zum BM Einführung in die Wirtschaftsinformatik SS 2014 Schriftlicher Teil Friedrich-Schiller-Universität Jena Hinweise: Wirtschaftswissenschaftliche Fakultät Lehrstuhl Die Aufgaben für Wirtschaftsinformatik der Altklausur dienen lediglich der Orientierung. Aufgabenstellungen,

Mehr

Inhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5

Inhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5 Inhalt 1 Einleitung 1 1.1 Warum dieses Buch? 1 1.2 Der rote Faden 2 1.3 Danksagung 3 1.4 URL zum Buch 4 TEIL I Einführung 5 2 XML-Grundlagen 7 2.1 Einleitung 7 2.2 WasistXML? 7 2.3 Dokumenttypen und Namensräume

Mehr

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:

Mehr

Effektive Software-Architekturen Ein praktischer Leitfaden

Effektive Software-Architekturen Ein praktischer Leitfaden Gernot Starke Effektive Software-Architekturen Ein praktischer Leitfaden ISBN-10: 3-446-41215-8 ISBN-13: 978-3-446-41215-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41215-6

Mehr

Programmierung Paradigmen und Konzepte

Programmierung Paradigmen und Konzepte Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1

Mehr

Multi-Tool Testlandschaft mit DDS

Multi-Tool Testlandschaft mit DDS Multi-Tool Testlandschaft mit DDS MATLAB UND SIMULINK ALS ENABLER FÜR RAPID TOOL PROTOTYPING SEBASTIAN BEWERSDORFF ASSYSTEM GERMANY MATLAB EXPO 2017 MÜNCHEN 27.06.2017 EINFÜHRUNG Tools in Unternehmensprozessen

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Programmieren 2 - Java

Programmieren 2 - Java Programmieren 2 - Java Fachhochschule Wiesbaden, FB Informatik Studiengang Medieninformatik Vorlesung im SS 2002 1 Ziele Ausbau der bisherigen Fertigkeiten und Techniken des Programmierens in Java mit

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute

Mehr

PHP OOP, Design Patterns und UML. Marco Skulschus

PHP OOP, Design Patterns und UML. Marco Skulschus PHP OOP, Design Patterns und UML Marco Skulschus Page ta Controller Transfer bject Two-Step-View Row Transaction Script Data Mapper Data Gateway Application Controller Table Module Transform View Front

Mehr

Objektorientierung in Oracle

Objektorientierung in Oracle Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21 xi 1 Grundlagen 1 1.1 Daten und Befehle......................................... 2 1.2 Algorithmen............................................. 4 1.3 Variablen................................................

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Programmierung von Java- Webanwendungen. paluno

Programmierung von Java- Webanwendungen. paluno Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte

Mehr

Inhaltsverzeichnis. Einleitung Zielsetzung und Inhalt Didaktisches Konzept Voraussetzungen Literaturquellen...

Inhaltsverzeichnis. Einleitung Zielsetzung und Inhalt Didaktisches Konzept Voraussetzungen Literaturquellen... Inhaltsverzeichnis 1 2 Einleitung... 1 1.1 Zielsetzung und Inhalt... 1 1.2 Didaktisches Konzept... 2 1.3 Voraussetzungen... 5 1.4 Literaturquellen... 5 Geschäftsprozessmanagement und Prozessmodellierung...

Mehr

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

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

- Eine dienstbasierte Infrastruktur für mobile elearning-anwendungen - Stefan Kurz und Marius Podwyszynski

- Eine dienstbasierte Infrastruktur für mobile elearning-anwendungen - Stefan Kurz und Marius Podwyszynski Stud.IP mobile - Eine dienstbasierte Infrastruktur für mobile elearning-anwendungen - Stefan Kurz und Marius Podwyszynski Universität Passau, Projekt InteLeC Stud.IP-Entwicklerworkshop 31. März / 1. April

Mehr

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

46 Softwarearchitektur mit dem Quasar-Architekturstil

46 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

Mehr

Komponentenbasierter

Komponentenbasierter Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27 Inhaltsverzeichnis Einleitung 19 Über dieses Buch 19 Konventionen in diesem Buch 20 Was Sie nicht lesen müssen 21 Törichte Annahmen über den Leser 21 Wie dieses Buch aufgebaut ist 22 Teil I: Einführung

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel... Vorwort..................................................... 13 Kapitel 1 Einleitung......................................... 15 1.1 Reisebeschreibung............................ 18 1.2 Zielpublikum.................................

Mehr

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

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Abschnitt 20: Ein Grundprinzip der Software-Architektur

Abschnitt 20: Ein Grundprinzip der Software-Architektur Abschnitt 20: Ein Grundprinzip der Software-Architektur 20. Ein Grundprinzip der Software-Architektur 20 Ein Grundprinzip der Software-Architektur Einf. Progr. (WS 08/09) 770 Modelle und Anwendungen Unsere

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL. Edwin Schicker Datenbanken und SQL Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL 4., überarbeitete Auflage Springer Vieweg Inhaltsverzeichnis 1 Übersicht über Datenbanken

Mehr

Praxis der Softwareentwicklung WS 2015/16

Praxis der Softwareentwicklung WS 2015/16 Praxis der Softwareentwicklung WS 2015/16 Prof. Dr. Gregor Snelting LEHRSTUHL PROGRAMMIERPARADIGMEN 0 KIT 28. Universität Oktober des 2015- Landes Praxis Baden-Württemberg der Softwareentwicklung und WS

Mehr

Praxis der Softwareentwicklung

Praxis der Softwareentwicklung Praxis der Softwareentwicklung SS 2014 Prof. Dr. Gregor Snelting LEHRSTUHL 0 KIT 22. Universität April 2014 des Landes Baden-Württemberg Praxis der Softwareentwicklung und SS 2014 LEHRSTUHL nationales

Mehr

Grundkurs C++ Einführung

Grundkurs C++ Einführung Grundkurs C++ Einführung Martin Knopp & Johannes Feldmaier 13.04.2016 Folie 1/34 GK C++: Einführung Martin Knopp & Johannes Feldmaier 13.04.2016 Martin Knopp Martin.Knopp@tum.de Büro Z934 Johannes Feldmaier

Mehr

Alexander Schill Thomas Springer. Verteilte Systeme. Grundlagen und Basistechnologien. 2. Auflage. 4y Springer Vieweg

Alexander Schill Thomas Springer. Verteilte Systeme. Grundlagen und Basistechnologien. 2. Auflage. 4y Springer Vieweg Alexander Schill Thomas Springer Verteilte Systeme Grundlagen und Basistechnologien 2. Auflage 4y Springer Vieweg Inhaltsverzeichnis 1 Einleitung 1.1 Anwendungsbeispiel 3 1.2 Zielsetzung Verteilter Systeme

Mehr

MVC-Architektur am Beispiel von OLAT

MVC-Architektur am Beispiel von OLAT MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster

Mehr

Gliederung der Folien

Gliederung der Folien 1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung

Mehr

Harald Störrle UML 2 für Studenten

Harald Störrle UML 2 für Studenten Harald Störrle UML 2 für Studenten ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Inhaltsverzeichnis Vorwort 11 Teil

Mehr

2. Programmieren gegen Schnittstellen Advanced Programming Techniques

2. Programmieren gegen Schnittstellen Advanced Programming Techniques 2. Programmieren gegen Schnittstellen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2011 1 Einordnung in den gesamten Kurs 2 1. Einführung 2.

Mehr

Java als erste Programmiersprache

Java als erste Programmiersprache Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste

Mehr