Den Hintergrund komponentenbasierter Softwareentwicklung kennen. Den Unterschied zwischen Klassen und Komponenten erklären können

Größe: px
Ab Seite anzeigen:

Download "Den Hintergrund komponentenbasierter Softwareentwicklung kennen. Den Unterschied zwischen Klassen und Komponenten erklären können"

Transkript

1 Grundlagen der Softwaretechnik 8 Komponentenbasierte Softwareentwicklung Lernziele Den Hintergrund komponentenbasierter Softwareentwicklung kennen Verstehen, was eine Komponente ist Den Unterschied zwischen Klassen und Komponenten erklären können Einen Überblick über die Java Komponententechnologie JavaBeans bekommen Das Ereignismodell bei JavaBeans verstehen 448

2 8.1 Komponentenbasierte Software 8 Komponentenbasierte Softwareentwicklung 8.1 Komponentenbasierte Software 8.2 Einführung in JavaBeans 8.3 Zusammenfassung 449

3 8.1 Komponentenbasierte Software Warum Komponenten? Probleme bei der Entwicklung komplexer Systeme Kosten Termintreue Qualität Wartbarkeit Idee: Einsatz von vorgefertigten Softwarekomponenten Neues Programmierparadigma auf Basis objektorientierter Konzepte Prinzip der Komponententechnologie 1. Komponentensammlung 2. Komposition zu einer Anwendung Kaufen ( Off the shelf ) Auswählen Konfigurieren Verknüpfen 450

4 8.1 Komponentenbasierte Software Aufgaben beim Einsatz von Komponenten Entwicklung mehrfach verwendbarer Komponenten Bereitstellung von mehrfach verwendbaren Software-Bausteinen Kein Abfall-Produkt eines Entwicklungsprojekts Erstellung muss technisch und finanziell geplant werden, basierend auf wohlfundierter Softwaretechnologie Anwendung der Komponenten zur Realisierung neuer Systeme Auswahl von Komponenten aus Komponentenkatalogen Anpassung der Komponenten an die Aufgabenstellung Integration der Komponenten Aufwand im Vergleich zur Individualprogrammierung um die Größenordnung einer Zehnerpotenz reduziert Beschleunigung des Entwicklungsprozesses Parametrierung und Konfiguration statt Erhöhung der Flexibilität Programmierung Nutzung der Wiederverwendung 451

5 8.1 Komponentenbasierte Software Nutzen des Einsatzes von Komponenten Kostenverlauf bei der Verwendung von Komponenten Kosten Kostenfaktoren Gesamtkosten Transaktionskosten Entwickeln Testen Suchen Beschaffen Herstellkosten Anteil Komponenten Min ( Kosten)? 452

6 8.1 Komponentenbasierte Software Einordnung der Komponententechnologie + Paketierung + Kombinierbarkeit + Interoperabilität Komponententechnologie Abstraktion Kapselung OO Technologie Klassische Softwareentwicklung (3GL Technologie) Komponententechnologien Microsoft - Component Object Model (COM, ActiveX) Sun - JavaBeans CORBA Component Model (CCM) Web Services 453

7 8.1 Komponentenbasierte Software Was ist eine Komponente? (1) Definition 1: A reusable software component is a logical cohesive, loosely coupled module that denotes a single abstraction. [Booch 1987] Definition 2: Kleine überschaubare Softwareeinheiten werden schnell und unabhängig voneinander entwickelt und dann zu größeren Anwendungen zusammengesetzt. Dadurch erreicht man Reduktion der Komplexität und bessere Qualität durch getestete Komponenten. [Piemont 1999] Vcc1 Software CHIP GND

8 8.1 Komponentenbasierte Software Was ist eine Komponente? (2) Eigenschaften Abgeschlossene funktionale Softwareeinheit (black-box) in einem Anwendungskontext Qualitativ hochwertig und gut dokumentiert Eigenständig ablauffähig Kapselung von Funktionalität und Verhalten Mehrfach verwendbar Skalierbar und parametrisierbar Einsatzbereit für eine bestimmte Komponenteninfrastruktur Vollständig spezifizierte und standardisierte Schnittstelle (Eigenschaften, Methoden, Ereignisse) Hierarchiefähigkeit, ermöglicht die Konstruktion von neuen Komponenten aus existierenden Komponenten 455

9 8.1 Komponentenbasierte Software Vergleich Komponenten und Klassen (1) Gemeinsamkeiten Unterstützung objektorientierter Konzepte und Methoden Kapselung von Verhalten und Zustand Polymorphismus Verwendung von Schnittstellen Komponenten können als Klassen realisiert werden Unterschiede Klassen Klassen sind Abstraktionen Jede Klasse hat bestimmte Verantwortlichkeiten Engere Beziehungen untereinander Komponenten Komponenten sind höherwertige Abstraktionen Stellen Dienste über definierte Schnittstellen zur Verfügung Größere Eigenständigkeit 456

10 8.1 Komponentenbasierte Software Vergleich Komponenten und Klassen (2) Klassen Klassen stellen Standardfunktionalität zur Verfügung Funktionsumfang auf konkrete Problemlösung ausgerichtet Minimalistische Vorgehensweise beim Entwurf Erweiterungen durch Vererbung möglich Komponenten Komponenten werden als Bausteine verwendet Größerer Funktionsumfang als Klassen Eigenschaften werden konfiguriert Komponenten werden nicht geändert Hohe Produktivität, da keine Programmierung erforderlich Unterschiedliche Anwendung von Komponenten und Klassen muss beim Entwurf berücksichtigt werden Komponente muss flexibler gestaltet sein für Konfiguration Bei Komponenten müssen möglichst viele Eigenschaften einstellbar sein Bei Komponenten findet Kommunikation über Ereignisse statt 457

11 8 Komponentenbasierte Softwareentwicklung Frage zur Kapitel 8.1 Welche Vorteile bietet der Einsatz von Softwarekomponenten? Antwort Vorteile: höhere Produktivität, da keine Eigenentwicklung erforderlich höhere Qualität, da bereits getestet höhere, Verständlichkeit da einheitliche Schnittstellen bessere, Einsetzbarkeit da plattformunabhängig 458

12 8.2 JavaBeans 8 Komponentenbasierte Softwareentwicklung 8.1 Komponentenbasierte Software 8.2 Einführung in JavaBeans 8.3 Zusammenfassung 459

13 8.2 JavaBeans Überblick (1) Das JavaBeans-Modell ist eine Komponententechnik für die Programmiersprache Java Ein JavaBean ist eine wiederverwendbare und plattformunabhängige Softwarekomponente, die eine normierte Schnittstelle nach Außen besitzt Bean-Spezifikation festgelegt durch Sun JavaBean-Konzept ermöglicht dem Anwendungsentwickler das Zusammensetzen von Bean-Komponenten: entweder manuell mit Hilfe von Programmcode oder visuell über einen sogenannten BeanBuilder 460

14 8.2 JavaBeans Überblick (2) Ein JavaBean besitzt drei Strukturelemente: Eigenschaften (Properties) Zustände und Datenwerte Methoden (Methods) sichtbare Verhaltensmerkmale Ereignisse (Events) Nachrichtentransfer Methoden (Methods) Ereignisse (Events) Eigenschaften (Properties) JavaBean 461

15 8.2 JavaBeans Beispiel Die JavaBean SimpleBean realisiert ein Textfeld, das eine Integerzahl darstellt public class SimpleBean extends java.awt.textfield { // Konstruktoren public SimpleBean() { super(); public SimpleBean (int pcolumns){ super(pcolumns); // Bean-Eigenschaft value public int getvalue() { return Integer.parseInt(super. gettext()); public void setvalue(int pvalue) { super. settext ( " " +pvalue ) ; // Bean-Methode checkvalue public boolean checkvalue () { String s = super.gettext().trim(); if (s.length() == 0) return false; for(int i=0; i < s.length(); i++) { if (!Character.isDigit (s.charat(i))) return false; return true; 462

16 8.2 JavaBeans Eigenschaften Beschreibung der Beans Darstellung der nach außen sichtbaren Datenwerte und Zustände Lese- (GETeigenschaft) und eine Schreibmethode (SETeigenschaft), zur Veränderung der Eigenschaften Geheimnisprinzip ( Information Hiding ) Implementierungsänderung leicht möglich Methoden Bean-Methoden sind gewöhnliche öffentliche Methoden einer Java-Klasse Mit Hilfe dieser Methoden können die verschiedenen Aktionen einer Bean- Komponente aufgerufen werden 463

17 8.2 JavaBeans Ereignisse Publisher-Subscriber-Ansatz Ereignisse (Events) dienen zur Realisierung eines quasi-asynchronen Nachrichtentransfers Ermöglichen eine Kommunikation verschiedener Bean-Komponenten Durch das Versenden von Ereignissen können Bean-Komponenten bestimmte Programmsituationen anderen Bean-Komponenten mitteilen Ereignisse werden in Java mit der Basisklasse EventObject realisiert Damit eine Bean-Komponente ein Ereignis empfangen kann, muss sie sich als sogenannter Listener bei der Quellkomponente registrieren 2 Konzepte zum Nachrichtentransfer zwischen Beans Direkte Kommunikation Kommunikation über Event Adapter 464

18 8.2 JavaBeans Prinzip des Nachrichtentransfers (1) Variante 1: Direkte Kommunikation AddEvent Listener Bean A (Event Source) 1. Registrierung als EventListener Bean B (Ziel) OnEvent Registrieren bei Quellkomponente (Bean A) Eintrag in Eventliste Beim Eintreten des Ereignisses: 2. Event auslösen Instanzierung des EventObjects EventObject Event Interface Aufruf der onevent- Methode mit Übergabe des EventObjects Vorteil: Quell- und Ziel-Komponenten sind direkt miteinander verbunden Nachteil: Blockierung der Quellkomponente (durch direkten Methodenaufruf) 465

19 8.2 JavaBeans Prinzip des Nachrichtentransfers (2) Variante 1: Direkte Kommunikation /* --- Bean-Component A (Source) --- */ public class BeanA { // EventListener Liste protected SendListener listener = null; // Constructor public BeanA() { // Add Listenermethod public void addsendlistener(sendlistener l){ listener = l; public void continioussend() { for(;;) { // Loop Forever wait(500); // Wait For 500 Millisec. // Fire Event if (listener!= null) { System.out.println("SendEvent fired"); listener.onsend(new SendEvent(this)); /* --- Bean-Component B (Target) --- */ class BeanB implements SendListener { // Component A (Source) protected BeanA komponentea; // Constructor public BeanB(BeanA komponente) { komponentea = komponente; // Add Listener komponentea.addsendlistener(this); // Event method public void onsend(sendevent evt) { System.out.println ("SendEvent received"); /* --- SendEventObject --- */ class SendEvent extends EventObject { // Constructor public SendEvent(Object source) { /*...*/ /* --- Interface SendListener --- */ interface SendListener { public abstract void onsend(sendevent e); 466

20 8.2 JavaBeans Prinzip des Nachrichtentransfers (3) Variante 2: Kommunikation über Event Adapter Erweiterung von Variante 1 addevent Listener 1. Registrierung als EventListener Event Adapter onevent Bean B (Ziel) Bean A (Event Source) 2. Event auslösen Methode EventObject Interface Event Event Adapter als eine Zwischenklasse Event Adapter registriert sich bei der Quellkomponente (A) Event Adapter leitet ausgelösten Event an die Methode der Zielkomponente (B) Komponenten bleiben unverändert Keine Blockierung der Quellkomponente 467

21 8.2 JavaBeans Vorgehen zur Realisierung einer Ereigniskommunikation 1. Definieren einer Beobachter-Schnittstelle mit dem Namen <Ereignisname>Listener Schnittstelle deklariert Operation, die bei Eintreffen des Ereignisses zur Benachrichtigung aufgerufen wird: void <ereignisname> (<Ereignisname>Event e); ( Operationsname gleich Ereignisname, nur klein geschrieben) 2. Implementieren einer Ereignisklasse mit dem Namen <Ereignisname>Event 3. Hinzufügen der Funktionalität zum An- und Abmelden von Ereignisabhörern Liste für die Verwaltung der Ereignisabhörer, z.b. mit java.util.vector Implementieren der Operationen zum An- und Abmelden von Ereignisabhörern: add<ereignisname>listener remove<ereignisname>listener Implementieren einer Operation zum Benachrichtigen registrierter Ereignisabhörer 468

22 8.2 JavaBeans Weitere Merkmale von Beans (1) Eigenschafteneditoren (property editors) Dienen zur Änderung der Beans-Eigenschaften Diese Editoren können speziell für jede Bean-Komponente programmiert werden Sie ermöglichen eine einfache Konfiguration der Bean-Komponenten während des Entwurfes Serialisierung (persistence) Zur Abspeicherung des momentanen Zustands einer Bean- Komponente Dieser Zustand kann später wieder hergestellt werden Diese Eigenschaft ist besonders wichtig bei der Konfiguration bzw. Parametrisierung der Bean-Komponente 469

23 8.2 JavaBeans Weitere Merkmale von Beans (2) Introspektion Die Introspektions-APIs definieren Techniken, die Komponenten dazu veranlassen, ihre interne Struktur zur Entwurfszeit direkt zur Verfügung zu stellen Zur Realisierung wird eine eigene Klasse erzeugt, die das Interface java.beans.beaninfo implementiert Standardklasse java.beans.simplebeaninfo implementiert alle Methoden prototypisch Sie dient zur Vereinfachung der Introspektion Hinweis: JavaBeans-Spezifikationen JavaBeans-Homepage 470

24 8.2 JavaBeans Weitere Merkmale von Beans (3) Beispiel Introspektion package MyPackage; import java.beans.*; public class MyClassBeanInfo extends SimpleBeanInfo { private final static Class beanclass = MyClass.class; // Allgemeine Informationen ueber die Komponente public BeanDescriptor getbeandescriptor() { BeanDescriptor bd = new BeanDescriptor (beanclass); bd.setdisplayname("mybean"); return bd; // Informationen ueber Eigenschaften der Komponente public PropertyDescriptor[] getpropertydescriptors() { // Information ueber Methoden der Komponente public MethodDescriptor[] getmethoddescriptors() { 471

25 8 Komponentenbasierte Softwareentwicklung Frage zur Kapitel 8.2 (1) Die Bean Temperatursensor soll das Ereignis BereichsFehler verschicken, falls das Messergebnis außerhalb des vorgegebenen Messbereichs liegt. Implementieren Sie alle notwendigen Schritte zur Weiterleitung des Ereignisses. Antwort 1. Schritt: Schnittstelle für Abhörer definieren public interface BereichsFehlerListener extends java.util.eventlistener{ // Alle Ereignis-Abhörer müssen diese Schnittstelle implementieren void bereichsfehler(bereichsfehlerevent e); 2. Schritt: Klasse für Ereignis implementieren public class BereichsFehlerEvent extends java.util.eventobject { public float minneu, maxneu; BereichsFehlerEvent(Object Ereignisquelle, float minneu, float maxneu){ // Konstruktor zum Anlegen eines neuen Event-Objekts super(ereignisquelle); this.minneu = minneu; this.maxneu = maxneu; 472

26 8 Komponentenbasierte Softwareentwicklung Frage zur Kapitel 8.2 (2) 3. Schritt: Funktionalität in der Klasse Temperatursensor zum Anund Abmelden sowie zum Benachrichtigen von Ereignisabhörern //Vector, der die Abhörer verwaltet private java.util.vector Abhoerer = new java.util.vector();... //An- und Abmelden von BereichsFehlerListener-Objekten public synchronized void addbereichsfehlerlistener(bereichsfehler Listener l){ Abhoerer.addElement(l); public synchronized void removebereichsfehlerlistener(bereichsfehler Listener l){ Abhoerer.removeElement(l); //Alle angemeldeten BereichsFehlerListener benachrichtigen protected void notifybereichsfehler() { java.util.vector AbhoererKopie; //Hier wird ein synchronized-block eingefügt, um zu gewährleisten, dass alle vor Verschicken des Ereignisses angemeldeten Beobachter benachrichtigt werden synchronized(this) { AbhoererKopie = (java.util.vector)abhoerer.clone(); for (int i=0; i < AbhoererKopie.size(); i++) { ((BereichsFehlerListener)AbhoererKopie.elementAt(i)).bereichsFehler(einEreignis); 473

27 8.3 Zusammenfassung 8 Komponentenbasierte Softwareentwicklung 8.1 Komponentenbasierte Software 8.2 Einführung in JavaBeans 8.3 Zusammenfassung 474

28 8 Komponentenbasierte Softwareentwicklung Zusammenfassung 8 Vorteile des JavaBeans Ansatzes Komponentenmodell für Klienten und Server Dynamisches Nachladen von Klassen möglich Introspektion Umfangreiche Bibliotheken Nachteile des JavaBeans Ansatzes Zur Zeit nicht echtzeitfähig Einfache Implementierungsvererbung teils hinderlich, z.b. bei Entwurfsmustern Keine hinreichende Unterstützung bei der Erzeugung von Komponenten Video: Automatisierter Tischkicker 475

29 8 Komponentenbasierte Softwareentwicklung Vorbereitungsfragen zu 8 Frage 1: Welche der folgenden Aussagen zur direkten Ereigniskommunikation von JavaBeans sind richtig? (WS 06/07) Antwort Damit eine Bean-Komponente ein Ereignis empfangen kann, muss sie sich als Ereignisabhörer bei der Quellkomponente (Ereignisquelle) registrieren. Ein Ereignisabhörer informiert eine Ereignisquelle über das Eintreten eines Ereignisses. Jede Ereignisquelle lässt nur einen Ereignisabhörer zu. Alle Ereignisquellen müssen eine Beobachter-Schnittstelle implementieren. Alle Ereignisquellen müssen Operationen zum Anmelden von Ereignisabhörern enthalten. 476

30 8 Komponentenbasierte Softwareentwicklung Vorbereitungsfragen zu 8 Frage 2: Welche der folgenden Aussagen zur komponentenbasierten Softwareentwicklung sind richtig? (WS 06/07) Antwort Durch komponentenbasierte Softwareentwicklung erreicht man eine Reduktion der Komplexität und bessere Qualität durch getestete Komponenten. Komponenten stellen Dienste über definierte Schnittstellen zur Verfügung. Komponenten besitzen engere Beziehungen untereinander als Klassen. Komponenten besitzen einen kleineren Funktionsumfang als Klassen. Der Einsatz von Komponenten ermöglich die Nutzung der Wiederverwendung, verlangsamt jedoch den Entwicklungsprozess. 477

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.

Mehr

Grundlagen der Softwaretechnik

Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

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

Java Beans. von Raoul Schneider

Java Beans. von Raoul Schneider Java Beans von Raoul Schneider Java Beans Was ist ein Bean? Idee Eigenschaften Die Beanbox Vom Java-Programm zum Java-Bean Beans in JBuilder Was ist ein Bean? Ein Bean ist eine eigenständige, wiederverwendbare

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

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

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Java Beans. http://java.sun.com/beans/

Java Beans. http://java.sun.com/beans/ Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

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

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Benachrichtigungsmöglichkeiten in SMC 2.6

Benachrichtigungsmöglichkeiten in SMC 2.6 Benachrichtigungsmöglichkeiten in SMC 2.6 Support April 2011 www.avira.de Irrtümer und technische Änderungen vorbehalten Avira GmbH 2011 Benachrichtigungsmöglichkeiten in SMC 2.6 Folgende Benachrichtigungsmöglichkeiten

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

PHP Aufbaukurs. Tag 3. PHP5 & Klassen

PHP Aufbaukurs. Tag 3. PHP5 & Klassen PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: olkhovskiy@rrzn.uni-hannover.de PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung 1. HorstBox Konfiguration 1.1 Einleitung Im Folgenden wird die Voice over IP Konfiguration in der HorstBox beschrieben. Sie werden einen Internet Zugang über DSL zu Ihrem Provider konfigurieren und für

Mehr

Objektorientiertes JavaScript

Objektorientiertes JavaScript Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

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

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2 Lastenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 2 Produkteinsatz 2 3 Produktübersicht 3 4 Produktfunktionen 4 4.1 Muss-Funktionen................................. 4 4.1.1 Benutzerfunktionen...........................

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI? Service Was ist eine Enterprise Service Architecture und wie reagiert SAP Allgemeine Definition Was gehört in ZENOS (Service-Layer)? Business Logik ZENOS als Provider für SAP-based Services (ESA/SOA) Warum

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

GUI Programmierung in Java

GUI Programmierung in Java vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Datenverteiler-System

Datenverteiler-System Externe Externe Externe Schnittstelle Schnittstelle Schnittstelle Externe Externe Schnittstelle Schnittstelle Aktuelle Situation 2-mal implementiert 1-mal implementiert UZ 1 M1 M2 DB Mn neu 3-mal implementiert

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 robotron*e count robotron*e sales robotron*e collect Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 Seite 2 von 5 Alle Rechte dieser Dokumentation unterliegen dem deutschen Urheberrecht. Die Vervielfältigung,

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

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

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

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

Die Software für Visualisierung und Analyse von Strukturinformationen aus EDM- und PDM-Systemen.

Die Software für Visualisierung und Analyse von Strukturinformationen aus EDM- und PDM-Systemen. Die Software für Visualisierung und Analyse von Strukturinformationen aus EDM- und PDM-Systemen. : Der Markt verändert sich bei der Produktentwicklung. Kürzere Entwicklungszeiten, umfangreichere Produktspektren

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

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

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine Seite 1 von 11 Anleitung Inhalt Inhalt... 1 1. Installation... 2 2. Setup... 2 2.1 Login... 2 2.2 Benutzer erstellen... 2 2.3 Projekt erstellen... 4 2.4 SVN/Git Integration... 6 2.4.1 Konfiguration für

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Bedienungsanleitung für den Online-Shop

Bedienungsanleitung für den Online-Shop Hier sind die Produktgruppen zu finden. Zur Produktgruppe gibt es eine Besonderheit: - Seite 1 von 18 - Zuerst wählen Sie einen Drucker-Hersteller aus. Dann wählen Sie das entsprechende Drucker- Modell

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

SupplyWEB Supplier Training Registration

SupplyWEB Supplier Training Registration Lieferanten Administration Die SupplyWeb Anwendung ist ein webbasiertes System zur Übermittlung von Lieferinformationen zwischen Ihnen und den Magna-Werken. Bereitgestellt werden Informationen bezüglich

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung

Mehr

Im folgenden wird die Outlookanbindung an organice/pi beschrieben.

Im folgenden wird die Outlookanbindung an organice/pi beschrieben. Einleitung Einleitung Im folgenden wird die Outlookanbindung an organice/pi beschrieben. Wir unterscheiden dabei Termine und Kontakte. Über das Outlookmenü werden zusätzliche Aktivitäten gesteuert. "Normale"

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

Mehr

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr