Architekturbeschreibung PSA/BikeShop Version 1.0

Größe: px
Ab Seite anzeigen:

Download "Architekturbeschreibung PSA/BikeShop Version 1.0"

Transkript

1 Architekturbeschreibung PSA/BikeShop Version 1.0 Rainer Koschke Universität Bremen 4. Februar Einführung 1.1 Zweck Dieses Dokument dient als Vorlage für die Gliederung Ihrer Architekturbeschreibung. Gleichzeitig dient es als Beispiel für Ihre Architekturbeschreibung. Hierzu sind exemplarisch einige Architekturelemente näher beschrieben. Dieses Beispiel soll Ihnen eine Idee vermitteln, wie wir uns die Beschreibung vorstellen. Um den Text des Beispiels von den Meta-Kommentaren zur Architekturbeschreibung unterscheiden zu können, sind letztere kursiv gesetzt. Dieses Dokument beschreibt die Architektur von PSA/Bikeshop. Die Architektur soll zeigen, wie die Anforderungen, die in der Anforderungsspezifikation PSA/Bikeshop [Anforderungsspezifikation Version 1.0] angegeben sind, realisiert werden können. Dieses Dokument dient den Entwicklern als Vorgabe für die Implementierung, den Testern für die Vorbereitung der Black-Box-Tests und den Wartungsingenieuren für die Beurteilung der Änderbarkeit des Systems für mögliche zukünftige Anforderungen, wie sie in der Anforderungsspezifikation beschrieben sind. 1.2 Status Diese Dokument beschreibt den ersten Entwurf. Es wurde noch nicht durch ein Architektur-Review freigegeben. 1.3 Definitionen, Akronyme und Abkürzung GUI Graphical User Interface PDA Personal Digital Assistant PSA Personal Shopping Assistant 1.4 Referenzen Literatur [IEEE P1471] IEEE Recommended Practice for Architectural Description of Softwareintensive Systems Std ISBN , IEEE, New York, NY, USA,

2 [Hofmeister et al., 2000] Christine Hofmeister, Robert Nord, Dilip Soni. Applied Software Architecture. Addison Wesley, Object Technology Series, [Anforderungsspezifikation Version 1.0] DreamBikers. Anforderungspezifikation PSA/Bikeshop. Version 1.2 vom 18. Januar intranet.dreambikers.com/nowhere 1.5 Übersicht über das Dokument Die Architekturbeschreibung genügt dem IEEE-Standard [IEEE P1471] und folgt den Architekturblickwinkeln von Hofmeister et al. [Hofmeister et al., 2000]. Zunächst werden in Kapitel 2 die Einflussfaktoren für den Entwurf, Probleme sowie mögliche Lösungsstrategien dargestellt. Dann werden in den Kapiteln 3, 4 und 5 drei der vier Sichten nach [Hofmeister et al., 2000] beschrieben (auf die Code-Sicht wird in diesem Projekt verzichtet). Im Abschnitt 6 wird dargelegt, wie das System geändert werden muss, wenn sich Rahmenbedingungen oder Anforderungen ändern. 2 Globale Analyse Hier werden Einflussfaktoren aufgezählt und bewertet sowie Strategien zum Umgang mit interferierenden Einflussfaktoren entwickelt. 2.1 Einflussfaktoren Faktor Flexibilität und Änderbarkeit Auswirkung P2 : Funktionale Eigenschaften P2.1 : Zugrundeliegendes Datenmodell Fahrraddomäne Neue Domänen sollen zukünftig erschlossen werden. Betrifft Datenrepräsentation und -haltung, Constraint- Auflösung sowie Benutzerschnittstelle (mit anderen Worten: alles) 2

3 <<component>> : PDA Client <<component>> : Main caller <<connector>> :Control callee <<component>> : GUI caller <<connector>> :Data pull <<connector>> :Control callee <<component>> : Article Base <<connector>> :Data pull <<component>> : Constraint Solver Abbildung 1: Aufbau des PSA 2.2 Probleme und Strategien Neue Domänen Neue typen können zu einer Domäne hinzukommen. Ganz neue Domänen sollen erschlossen werden. Die Änderungen sollen mit möglichst geringem Aufwand realisiert werden können. Eine Neuübersetzung und -installation ist akzeptabel. Einflussfaktoren O1.1: Time-To-Market 02.1: Anzahl Entwickler P2.1: Zugrundeliegendes Datenmodell P6.3: Softwareinstallation und -aktualisierung Lösung Strategie: S1: Gekapseltes Datenmodell Das Datenmodell wird in einer Komponente gekapselt. Das Schema kann statisch (d.h. zur Übersetzungszeit) konfiguriert werden. Das Schema selbst ist durch ein Meta-Schema beschrieben, das als Konzepte, Eigenschaften und Abhängigkeiten umfasst. Andere Komponenten, insbesondere die graphische Benutzeroberfläche beziehen sich nur auf diese Meta-Konzepte, d.h. nicht direkt auf die konkreten Konzepte der Fahrraddomäne (z.b. Sattel). Beschreiben Sie möglichst mehrere Alternativen und geben Sie an, für welche Sie sich letztlich aus welchem Grunde entschieden haben. 3 Konzeptionelle Sicht Diese Sicht beschreibt das System auf einer hohen Abstraktionsebene, d.h. mit sehr starkem Bezug zur Anwendungsdomäne und den geforderten Produktfunktionen und -attributen. Sie legt die Grobstruktur fest, ohne gleich in die Details von spezifischen Technologien abzugleiten. Sie wird in den nachfolgenden Sichten konkretisiert und verfeinert. 3

4 Der PSA besteht aus den folgenden Komponenten (vergleiche Abbildung 1): Main: das Hauptprogramm, das die PSA-Komponenten initialisiert und hernach der GUI die Kontrolle übergibt. Will der Benutzer das Programm beendet, übergibt die GUI die Kontrolle wieder zurück an Main. Main fährt dann das Programm herunter. GUI: die grafische Benutzeroberfläche, mit der der Benutzer interagiert. Article Base: die Datenhaltung für die, die der Kunde bereits gekauft hat. Constraint Solver: der Abgleich von Einschränkungen zu n; hier wird geprüft, ob ein zu kaufender zu den bereits gekauften n passt. Folgende Konnektoren werden hierfür verwendet: Control: Der Caller übergibt die Kontrolle an den Callee; beschreibt den Kontrollfluss. Data: Die Rolle pull übermittelt mögliche Eingabeparameter, anhand derer Daten hergeleitet werden sollen, an die andere Rolle, übergibt dieser die Kontrolle und empfängt schließlich von der anderen Rolle die Daten. Anschließend hat die pull-rolle wieder die Kontrolle. Der Datenaustausch verläuft synchron. 4 Modulsicht Diese Sicht beschreibt den statischen Aufbau des System mit Hilfe von Modulen, Subsystemen, Schichten und Schnittstellen. Diese Sicht ist hierarchisch, d.h. Module werden in Teilmodule zerlegt. Die Zerlegung endet bei Modulen, die ein klar umrissenes Arbeitspaket für eine Person darstellen und in einer Zeitwoche implementiert werden können. Die Modulbeschreibung der Blätter dieser Hierarchie ist genau genug und ausreichend, um das Modul zu implementieren. Die Module werden durch ihre Schnittstellen beschrieben. Konkrete Implementierungen dieser Schnittstellen sind das Geheimnis des Moduls und können vom Programmier festgelegt werden. Sie werden sollen hier nicht beschrieben werden. Die Schnittstellen eines Moduls M ist die Menge aller Annahmen, die andere Module über M machen dürfen, bzw. jene Annahmen, die M über seine verwendeten Module macht (bzw. seine Umgebung, wozu auch Speicher, Laufzeit etc. gehören). Jeder Schnittstelle liegt ein Protokoll zugrunde. Das Protokoll beschreibt die Vor- und Nachbedingungen der Schnittstellenelemente. Dazu gehören die erlaubten Reihenfolgen, in denen Methoden der Schnittstelle aufgerufen werden dürfen, sowie Annahmen über Eingabe- und Zusicherungen über Ausgabeparameter. Das Protokoll von Modulen soll einmal in der Modulsicht beschrieben werden. Die Ausführungssicht verwendet das Protokoll, es soll aber die Protokollbeschreibung nicht noch einmal wiederholen. 4.1 Konkretisierung Article Base Verhältnis GUI und Abbildung 2 beschreibt die Modulsicht zum Verhältnis von GUI zur Article Base. Die Zuordnung der Module zur Article Base ist in Tabelle 1 wiedergegeben. 4

5 bestand Attribut Attributwert String Attributwert Integer Attributwert Float Attributwert verwaltet die vollständige Liste aller vom Kunden gekauften ein einzelner ; definiert die Schnittstelle für alle und die Attribute, die alle haben (Preis und Nummer, letztere beschreibt den eindeutig); domänenspezifische Attribute werden durch die Klasse Attribut beschrieben; die konkreten der Domäne werden von Klasse abgeleitet (sie sind in [Anforderungsspezifikation Version 1.0] beschrieben und sollen hier nicht wiederholt werden). domänenspezfisches Attribut eines s abstrakte Klasse für Attributwerte konkretes String-Attribut konkretes Integer-Attribut konkretes Float-Attribut Tabelle 1: Liste der Module zur Article Base. Blatt Behälter ein nicht zusammengesetzter ein, der aus weiteren n besteht Tabelle 2: Fortgesetzte Liste der Module zur Article Base. Hier muss noch die Schnittstelle der Module beschrieben werden. Als Beispiel sei auf Abschnitt verwiesen. Die GUI verwendet nur die Schnittstelle von, nicht jedoch Schnittstellen der konkreten Unterklassen, die domänenspezifisch sind. Umgesetzt wird bei dieser Modularisierung die Strategie S1: Gekapseltes Datenmodell. Die GUI benötigt nur eine Zeichenkettenrepräsentation der werte und verwendet somit nur die Klasse Attributwert, nicht jedoch deren Unterklassen. Auf diese Weise können weitere Attributwerte leicht eingeführt werden. Relevant sind die konkreten Werte für den Leser der daten und den Constraint Solver Realisierung zusammengesetzter bestehen aus Teilartikeln. Um der GUI eine einheitliche Schnittstelle zusammengesetzter Attribute zur Verfügung zu stellen, wird an dieser Stelle das Entwurfsmuster Composite verwendet. Der Zusammenhang ist in Abbildung 3 beschrieben. Die Rolle des Verwenders nimmt hier die GUI ein. Die Schnittstellenelemente sind in den Tabellen 3, 4 und 5 detailliert. Die domänenspezifischen werden entweder von Blatt oder Behälter abgeleitet. entfernen () hinzufügen () alleteile () löscht einen und alle seine Teile fügt einen als Teil ein liefert alle Teile eines s als Liste (im Falle von Blättern wird dies immer die leere Liste sein) Tabelle 3: Schnittstelle 5

6 GUI bestand +Alle(): list of +lies(dateinamen) * +Preis(): float +AlleAttribute(): list of Attribut +Attributnummer(): int * Attribut +Wert(): Attributwert +Name(): string 1 Attributwert +To_String(): string String Attributwert +To_String(): string +Value(): string Integer Attributwert +To_String(): string +Value(): int Float Attributwert +To_String(): string +Value(): float Abbildung 2: Bezug GUI und Verwender +hinzufügen() +alleteile(): list of Teile Blatt +hinzufügen() Behälter for each t in Teile t.entfernen() Mantel Felge Rahmen Laufrad Rad Abbildung 3: Zusammengesetzte entfernen () hinzufügen () löscht den wirft die Ausnahme leaf_has_no_parts Tabelle 4: Schnittstelle Blatt entfernen () löscht einen und alle seine Teile Tabelle 5: Schnittstelle Behälter 6

7 Leser liest von einer Datei und erzeugt sie; die genaue Syntax der Eingabedatei ist das Geheimnis dieses Moduls Tabelle 6: Teilmodule von bestand. GUI Leser +lies(dateinamen) id = datei.liesid() f.fabrikmethode(id) Schöpfer +FabrikMethode(id) +Eintragen(id) artikel = FabrikMethode (id) artikelliste.einfuegen (artikel) Rahmen Blatt Felge Behälter FahrradSchöpfer +FabrikMethode(id) <<create>> <<create>> Laufrad <<create>> if (id=="rahmen") return new Rahmen; if (id=="felge") return new Felge;... Abbildung 4: Entwurfsmuster Factory Method für das Einlesen von n Einlesen von n Das Einlesen von n von Datei wird vom Modul Leser realisiert (siehe Abbildung 6. Hierzu wird das Entwurfsmuster Abstract Factory verwendet (siehe 4). Hier muss noch die Schnittstelle der Module beschrieben werden. Als Beispiel sei auf Abschnitt Ausführungssicht Das Laufzeitverhalten wird in der Ausführungssicht beschrieben. Hier werden die Laufzeitelemente aufgeführt und beschrieben, welche Module sie zur Ausführung bringen. Ein Modul kann von mehreren Laufzeitelementen zur Laufzeit verwendet werden. Die Ausführungssicht beschreibt darüber hinaus, welche Laufzeitelemente spezifisch miteinander kommunizieren.... und hier erklären wir das Diagramm in Abbildung Evolution Beschreiben Sie in diesem Abschnitt, welche Änderungen sie vornehmen müssten, wenn sich das zugrunde liegende Datenmodell für für Ihre Software ändern würde. Untersuchen Sie hierbei zwei Änderungsszenarien: (1) neue typen in ihrer Domäne kommen hinzu und (2) die Software soll auf eine völlig neue Domäne übertragen werden (mit fortgesetzter, paralleler Unterstützung der ursprünglichen Domäne, versteht sich). 7

8 : PDA : Ladenrechner : Datenbankrechner <<process>> * <<process>> n <<process>> 1 Personal Shop Assistant <<module>> PDA client * TCP/IP 1 Shop Server <<module>> Server * TCP/IP 1 Data Base Server <<subsystem>> transaction monitor <<subsystem>> SQL manager <<subsystem>> data base Abbildung 5: Ausführungssicht 8

Architekturbeschreibung

Architekturbeschreibung Software Projekt 2004/05 VAK 03-901.01 Architekturbeschreibung Version 1.0 xxxxxx xxxxxxx xxxxxxxx@tzi.de 1234567 xxxx xxxxxxxx xxxx@tzi.de 2345678 xxxx xxxxx xxxxxx@tzi.de 3456789 xxxxxxxx xxxxxxxxxx

Mehr

Komponentenbasierter

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

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

Komponentenbasierter Taschenrechner mit CORBA

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

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Software-Projekt Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2008/09 Überblick I 1 1 Objektorientierte Modellierung Softwarearchitektur

Mehr

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Software-Projekt Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2008/09 Überblick I 1 Antworten auf gesammelte Fragen im

Mehr

[Hier klicken und Text eingeben] [Hier klicken und Text eingeben] Auftragsnummer: [Hier klicken und Text eingeben] Auftragnehmer:

[Hier klicken und Text eingeben] [Hier klicken und Text eingeben] Auftragsnummer: [Hier klicken und Text eingeben] Auftragnehmer: Pflichtenheft Auftraggeber: Auftragsnummer: Auftragnehmer: Bearbeiter: Berlin, den (microtool GmbH, Berlin) Pflichtenheft Inhalt 1 Einleitung (Introduction) 3 1.1 Zielsetzung (Purpose) 3 1.2 Scope (Scope)

Mehr

Entwurfsmuster (Design Patterns)

Entwurfsmuster (Design Patterns) Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder

Mehr

Dokumentation nach IEEE Empfehlungen

Dokumentation nach IEEE Empfehlungen Inhalte einer Anforderungsspezifikation Einleitung (Introduction) allgemeine Beschreibung Produktumgebung, Funktionen, Eigenschaften, Randbedingungen Spezifische funktionale Anforderungen beschreiben,

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

OOP. Tagesprogramm. Aspekte und Annotationen. Software-Entwurfsmuster. Factory-Method. Prototype

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

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte

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

Software Design basierend auf dem Plug-In Konzept

Software Design basierend auf dem Plug-In Konzept Software Design basierend auf dem Plug-In Konzept Michael Antes Seminar Simulation und Bildanalyse mit Java, WS2003 Universität Ulm Software-Design basierend auf dem Plug-In-Konzept Inhalt: Einführung:

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau 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

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

Software Design Patterns Zusammensetzung. Daniel Gerber

Software Design Patterns Zusammensetzung. Daniel Gerber Software Design Patterns Zusammensetzung Daniel Gerber 1 Gliederung Einführung Iterator Composite Flyweight Zusammenfassung 2 So wird s werden Problem und Kontext an einem Beispiel vorstellen Lösung des

Mehr

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008 Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Vorgehen, Modellstruktur und Spezifikationsdokument - Ein Fazit Burkhardt Renz THM, Fachbereich MNI Wintersemester 208/9 Übersicht Vorgehen Struktur des Modells Metamodell Generierung

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts

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

Mehr

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

SE Besprechung. Übung 4 Architektur, Modulentwurf

SE Besprechung. Übung 4 Architektur, Modulentwurf SE Besprechung Übung 4 Architektur, Modulentwurf SE, 22.11.11 Mengia Zollinger 2.1 Architekturstile (6 Punkte) 2.1.A Ausgabe eines Monatsabos an Angestellte Lösung: Pipe-and-Filter Beispiel Lösung [Benz,

Mehr

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Software-Projekt. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Software-Projekt Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2008/09 Überblick I 1 1 Was ist ein Entwurfsmuster? Bestandteile

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

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

OOP. Tagesprogramm. Software-Entwurfsmuster. Factory-Method. Prototype

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

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2007

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2007 Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2007 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2007 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational 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

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Waitomo. Compilerbaupraktikum Wintersemester 2006/2007. Stefan Wehr. 24. Oktober 2006

Waitomo. Compilerbaupraktikum Wintersemester 2006/2007. Stefan Wehr. 24. Oktober 2006 Waitomo Compilerbaupraktikum Wintersemester 2006/2007 Stefan Wehr 24. Oktober 2006 1 Einleitung Quellsprache für das Compilerbaupraktikum ist Waitomo, ein Java-ähnliche Sprache mit Unterstützung für Typklassen

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 09. SW-Architektur - Dokumentation Architektur-Review Wir treten einen Schritt zurück und betrachten nochmal das Ganze. Sind wir noch auf dem richtigen

Mehr

185.A Software-Entwurfsmuster 1 OOP. Software-Entwurfsmuster

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

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Design Patterns. 3. Juni 2015

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

Mehr

Info B VL 11: Innere Klassen/Collections

Info B VL 11: Innere Klassen/Collections Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections

Mehr

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff

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

Mehr

Die Warenkorbfunktion (workbasket)

Die Warenkorbfunktion (workbasket) Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2012/13 Überblick I Software-Produktlinien Software-Produktlinien

Mehr

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2006

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2006 Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2006 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

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

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.

Mehr

Objektkatalog für das Straßen- und Verkehrswesen

Objektkatalog für das Straßen- und Verkehrswesen Seite: 1 von 8 Objektkatalog für das Straßen- und Verkehrswesen Version: 1.03 Datum: 03.09.2009 Status: Dateiname: Verantwortlich: akzeptiert T0005.doc J. Hettwer Seite: 2 von 8 0 Allgemeines 0.1 Inhaltsverzeichnis

Mehr

Kapitel

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

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 12.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 8 Abgabe: Montag, 19.12.2011, 12.00 Uhr, Informatik

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

Mehr

Kapitel 5: Das Design

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

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Enterprise JavaBeans Überblick

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

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

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

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

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Pakete Software Entwicklung 1

Pakete Software Entwicklung 1 Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.

Mehr

Vorhandener Code zur Gäste-Optimierung

Vorhandener Code zur Gäste-Optimierung Kapitel 1 Vorhandener Code zur Gäste-Optimierung Zur Implementierung und zum Testen des A*-Algorithmus müssen sie nun nicht mehr alles selbst erfinden. Sie erhalten bereits eine Menge Code. Laden Sie dazu

Mehr

Einführung in die Objektorientierung (OO)

Einführung in die Objektorientierung (OO) Einführung in die Objektorientierung (OO) I) Warum OO? II) Grundbegriffe der OO III) IV) Darstellung von Klassen und Objekten Kapselung I) Warum OO? 1) Früher: Prozedurale / strukturierte Programmierung

Mehr

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006) Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006) Alles, was in dieser Schriftart gesetzt ist, dient nur zur Erläuterung und sollte im fertigen Dokument nicht mehr enthalten sein! Projekt:

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Teil 8: Interfaces Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Einführung 2. Schnittstellen in Java 3. Exkurs: Marker-Interfaces

Mehr

Semestralklausur Informatik I - Programmierung

Semestralklausur Informatik I - Programmierung RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2 Prof. Dr. Jürgen Giesl LuFG

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht

Mehr

Programmieren 1 09 Vererbung und Polymorphie

Programmieren 1 09 Vererbung und Polymorphie Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen

Mehr

Entwurfsmuster. Marc Monecke

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

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:

Mehr

Informatik I Eprog HS12

Informatik I Eprog HS12 software evolution & architecture lab Informatik I Eprog HS12 Übung 11 1 Aufgabe: Interfaces & Visitor-Pattern 1.1 Lernziele 1. Die Verwendung von Interfaces trainieren. 2. Das Visitor Design-Pattern kennenlernen.

Mehr

Übungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise

Übungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise Informatik II (D-ITET) Frühjahrssemester 2015 Prof. Friedemann Mattern Christian Beckel (beckel@inf.ethz.ch) ETH Zürich Institut für Pervasive Computing Gruppe für Verteilte Systeme http://vs.inf.ethz.ch

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double

Mehr

datenlink-schnittstelle Version 1.0

datenlink-schnittstelle Version 1.0 www.datenlink.info datenlink-schnittstelle Version 1.0 Inhalt 1 Allgemeines 2 1.1 Datenaustausch... 2 1.2 Zugriffstypen... 2 2 Format der Rückgabewerte 3 2.1 HTTP-Statuscodes... 3 2.2 Rückgabewerte...

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Der agile Software Architekt

Der agile Software Architekt Der agile Software Architekt Ingmar Kellner 2013-09-25 Agil == Beweglich == Zur Handlung Fähig Source: http://de.wiktionary.org/wiki/agil Gegebene Versprechen schränken meine Agilität ein! 2013, hello2morrow

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

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Liste MI / Liste I Programmieren in C++

Liste MI / Liste I Programmieren in C++ Liste MI / Liste I Programmieren in C++ Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Medieninformatik WS 2007/2008 Kapitel 1-4 1 Ziele Kennenlernen einer weiteren objektorientierten

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Vererbung Advanced. Ziele. Überschreiben von Methoden der Eltern Einführung Interface & Abstrakte Klasse Sichtbarkeit von Methoden bei Vererbung

Vererbung Advanced. Ziele. Überschreiben von Methoden der Eltern Einführung Interface & Abstrakte Klasse Sichtbarkeit von Methoden bei Vererbung Vererbung Advanced Ziele Überschreiben von Methoden der Eltern Einführung Interface & Abstrakte Klasse Sichtbarkeit von Methoden bei Vererbung Vererbung (Wiederholung) public class Mutter { public int

Mehr

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

Abstrakte Klassen, Interface. DVG Abstrakte Klassen, Interface

Abstrakte Klassen, Interface. DVG Abstrakte Klassen, Interface Abstrakte Klassen, Interface Beispiel: Vögel Definition von Klassen enthält Abstraktion von den konkreten Objekten. Z.B.: Klasse: Vogel Kann ein Objekt der Klasse Vogel instanziiert werden? Nein, es gibt

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates

Mehr