Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -
|
|
- Lothar Pfaff
- vor 6 Jahren
- Abrufe
Transkript
1 Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern, Standort Zweibrücken
2 Vererbung Einfach- und Mehrfachvererbung Polymorphismus Konkrete und abstrakte Klassen Pakete CRC-Karten Wie findet man Klassen? Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
3 Vererbung Generalisierung / Spezialisierung ( ist ein ) Z. B. Quadrat ist ein Rechteck Extension der Unterklasse ist eine Teilmenge der Extension ihrer Oberklasse Eine Unterklasse verfügt über die Eigenschaften, das Verhalten und die Assoziationen der Oberklassen (d. h. sie erbt diese von der Oberklasse) Die Unterklasse ist vollständig konsistent mit der Oberklasse, erweitert diese aber um zusätzliche Informationen (Attribute, Operationen, Assoziationen) Ein Objekt einer Unterklasse kann überall dort verwendet werden, wo ein Objekt der Oberklasse erlaubt ist Es sind mehrere Stufen der Vererbung möglich, d. h. eine Unterklasse kann wiederum Oberklasse von weiteren Klassen sein (Klassenhierarchie, Vererbungsstruktur) Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
4 Vererbung Geometrische Figur x : int y : int sichtbar : bool zeichnen() entfernen() verschieben() Oberklasse Unterklassen radius Kreis a b Rechteck x2 y2 x3 y3 Dreieck Jede Objekt zu einer der Unterklassen verfügt automatisch auch über die Attribute x, y, sichtbar und die Operations zeichnen(), entfernen(), verschieben() Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
5 Beispiel für Vererbung Kunde -Kunden-Nr Lieferadresse Adresse -Straße -Hausnr -PLZ -Ort Privatkunde Firmenkunde 1 Rechnungsadresse 1 -Vorname -Nachname -Geschlecht -Telefon -Kreditkarten-Nr -Firmenname 1 Ansprechpartner * 0..1 Mitarbeiter -Vorname -Nachname -Geschlecht -Telefon Stammkunde -Kreditlimit Rechnungsadresse 0..1 Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
6 Generalisierung im Beispiel Jeder Stammkunde ist ein Privatkunde Jeder Firmenkunde ist ein Kunde, jeder Privatkunde ist ein Kunde Kunden Privatkunden Stammkunden Firmenkunden Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
7 Was wird vererbt? Attribute Attribute der Oberklasse incl. Typ (Werte werden nicht vererbt) Klassenattribute und ihre Werte (es handelt sich um dasselbe Attribut) Operationen Alle Operationen, die auf Objekte der Oberklasse angewendet werden könne, können auch auf Objekte der Unterklasse angewendet werden. Wird eine Nachricht an ein Objekt geschickt, so wird zunächst bei dessen Klasse nach der entsprechenden Operation gesucht, anschließend bei der direkten Oberklasse, anschließend bei deren Oberklasse usw. Klassenoperationen können ebenfalls auf Unterklassen angewendet werden Assoziationen Wenn Objekte der Oberklasse Beziehungen mit Objekten einer bestimmten Klasse eingehen können, dann können Objekte der Unterklasse dies ebenfalls Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
8 Einfach- und Mehrfach-Vererbung Einfachvererbung: Jede Klasse kann maximal eine direkte Oberklasse haben Mehrfachvererbung: Klassen können auch zwei oder mehr Oberklassen haben (und von diesen erben) Mehrfachvererbung wird von vielen Programmiersprachen (z. B. Java) nicht unterstützt Wirft eine Reihe von Problemstellungen auf, was passiert z. B. bei Vererbung gleichnamiger Operationen von verschiedenen Oberklassen? Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
9 Merfach-Vererbung Privatkunde erbt Kunden-Nr von Kunde und Vorname, Nachname, Geschlecht, Telefon von Person Privatkunde Kreditkarten-Nr Stammkunde Kreditlimit Kunde Kunden-Nr Firmenkunde Firmenname 1 Ansprechpartner * Person Vorname Nachname Geschlecht Telefon Mitarbeiter Vorname Nachname Geschlecht Telefon Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
10 Merfach-Vererbung Geometrische Figur x : int y : int sichtbar : bool zeichnen() entfernen() verschieben() Kreis Rechteck Raute Quadrat ist ein Rechteck und Quadrat ist eine Raute. radius a b x2 y2 c Quadrat Nachteil dieser Modellierung: Quadrat erbt alle Attribute von Rechteck und Raute und muss diesen auch Werte zuweisen (a=b=c, x2=x+a, y2=y+b) Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
11 Polymorphismus Vielgestaltigkeit Verschiedene Objekte, die auf die gleiche Botschaft reagieren, können unterschiedliche Implementierungen besitzen Eine Unterklasse kann eine von der Oberklasse geerbte Operation überschreiben Sie muss allerdings die gleichen Parameter und Rückgabewerte besitzen Im Falle einer abstrakten Oberklasse kann die Operation in der Oberklasse eine abstrakte Operation sein, d. h. sie verfügt selbst über keine Implementierung, sondern überlässt die Implementierung den Unterklassen Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
12 Polymorphismus Geometrische Figur radius x : int y : int sichtbar : bool zeichnen() entfernen() verschieben() Kreis zeichnen() a b Rechteck zeichnen() Es existieren verschiedene Implementierungen für die Operation zeichnen(), je nachdem ob ein Kreis oder ein Rechteck gezeichnet werden soll. Diese Operations überschreiben die gleichnahmige Operation der Oberklasse. Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
13 Konkrete und abstrakte Klassen Von konkreten Klassen kann es Objekte geben Von abstrakten Klassen selbst kann es keine Objekte geben, nur von ihren Unterklassen. Abstrakte Klassen werden durch Kursivschreibung des Namens gekennzeichnet Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
14 Abstrakte Operation Die Oberklasse verfügt nur über die Definition der Operation, nicht aber über eine Implementierung. Die Unterklassen müssen entsprechende Implementierungen bereit stellen. Zweck: Aufgrund der Definition in der Oberklasse weiß man, dass man jedem Objekt einer beliebigen Unterklasse eine entsprechende Nachricht schicken kann, selbst wenn man die genaue Unterklasse noch gar nicht kennt. Abstrakte Operationen werden durch Kursivschreibung des Namens gekennzeichnet. Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
15 Beispiele für abstrakte und konkrete Klassen Von dieser Klasse können keine Objekte angelegt werden, d. h. jede geometrische Figur muss entweder ein Kreis oder ein Rechteck sein. Kennzeichnung von abstrakten Klassen durch Kursivschreibung. Geometrische Figur x : int y : int sichtbar : bool zeichnen() entfernen() verschieben() Abstrakte Operation, d. h. die Klasse Geometrische Figur verfügt nur über die Definition der Operation, nicht aber über eine Implementierung. Die Unterklassen Kreis und Rechteck müssen Implementierungen bereit stellen. radius Kreis zeichnen() a b Rechteck zeichnen() Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
16 Beispiel für abstrakte und konkrete Klassen Abstrakt Kunden müssen immer Privat- oder Firmenkunden sein. Kunde Kunden-Nr Konkret, d. h. es können auch Privatkunden angelegt werden, die keine Stammkunden sind. Privatkunde Vorname Nachname Geschlecht Telefon Kreditkarten-Nr Firmenkunde Firmenname Stammkunde Kreditlimit Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
17 Pakete (Packages) UML-Konstrukt zur Gruppierung von Modellelementen (z. B. Klassen) Ein Paket kann selbst wieder Pakete enthalten Dient der Strukturierung großer, komplexer Modelle (Zerlegung in Teilmodelle) Zwischen den Paketen können Abhängigkeiten modelliert werden, um bei einer Änderung herauszufinden, wo möglicherweise weitere Änderungen erforderlich sind. Jedes Modellelement gehört zu maximal einem Paket Pakete definieren einen Namensraum (namespace), in dem die Namen eindeutig sein müssen. Außerhalb des Pakets werden sie folgendermaßen identifiziert: Paketname::Klassennname Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
18 Beispiel für Package Diagram Kundenverwaltung Jedem Package kann wieder ein Modell, z. B. ein Klassendiagramm hinterlegt sein. Auftragsverwaltung Lagerverwaltung Abhängigkeiten Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
19 Notation von Paketen System Package1 Package2 Package3 Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
20 CRC-Karten Class/Responsibility/Collaboration CRC-Karte: Karteikarte, in die Klassenname, Verantwortlichkeiten der Klasse (Wissen und Operationen) und die Zusammenarbeit mit anderen Klassen eingetragen wird Ergänzung zum OOA-Modell Dienen der Ausarbeitung, Diskussion und Detaillierung der Klassendefinitionen Werden im Rahmen von CRC-Workshops von interdisziplinären Teams genutzt CRC-Karten werden an Whiteboard geheftet, durch Linien verbunden (zur Entwicklung von Vererbungen, Aggregationen, Assoziationen), wieder geändert usw. Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
21 Beispiel für CRC-Karte Class Reservierung Responsibilities Gewünschter Kfz-Typ Mietzeitraum von bis Gewünschte Ausstattung Abhol-Niederlassung Rückgabe-Niederlassung Anlegen Bestätigen Ändern Stornieren Collaborations Kunde Kfz-Typ Ausstattungsmerkmal Vermietung Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
22 CRC-Karte vs. UML-Klassendiagramm Class Bestellung Responsibilities Verwaltet eine Bestellung Delegiert Aufgaben an Bestellpositionen Collaborations Bestellposition Bestellung Nummer Datum erfassen() drucken() 1 1..* Bestellposition Artikelnr Bezeichnung Anzahl Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
23 Wie findet man Klassen? (1) Dokumentenanalyse Dokumente, z. B. Formulare, enthalten Attribute sowie Hinweise auf Klassen und Assoziationen Hieraus kann bottom-up ein Klassendiagramm entwickelt werden Beschreibung der Use Cases Top-down-Ableitung von Klassen Substantive und z. T. Verben stellen potenzielle Klassen dar, die dann auf mögliche Attribute usw. untersucht werden müssen Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
24 Wie findet man Klassen? (2) Untersuchung, ob folgende Kategorien vorkommen: Konkrete Objekte (Dinge) Personen und deren Rollen Informationen über Aktionen Orte Organisationen Behälter Dinge in einem Behälter Ereignisse Kataloge Verträge Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
25 Zusammenfassung Generalisierungen stellen Vererbungsbeziehungen zwischen Klassen mit der Bedeutung ist ein dar. Die Unterklassen erben Attribute, Operationen und Assoziationen von den Oberklassen. Man unterscheidet Einfachvererbung, wo jede Klasse nur eine Oberklasse haben darf, und Mehrfachvererbung. Unterklassen können die in der Oberklasse definierten Operationen überschreiben (Polymorphismus). Klassen, von denen keine direkten Objekte gebildet werden können, nennt man abstrakt, die anderen konkret. Pakete (Packages) strukturieren komplexe Modelle. CRC-Karten sind ein Mittel zur Entwicklung von Klassen. Klassen können über Dokumentenanalyse, die Beschreibung der Use Cases und die Identifikation von typischen Kategorien gefunden werden. Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
26 Übungsfragen Was versteht man unter Vererbung? Was wird vererbt? Erläutern Sie: Einfach- und Mehrfachvererbung Konkrete und abstrakte Klassen Polymorphismus Was sind CRC-Karten? Wie sind sie aufgebaut? Wozu verwendte man Pakete in der UML? Wie findet man Klassen? Prof. Dr. Hans-Jürgen Steffens Systemanalyse SS
Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
Mehr3. 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
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrSystemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 -
Systemanalyse - Seminar für AI/DM 3 im Wintersemester 2004/05 - Prof. Dr. Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern,
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
MehrOrientierte Modellierung mit der Unified Modeling Language
UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?
MehrUML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at
UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt
MehrSoftware Engineering Klassendiagramme weiterführende Konzepte
Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen
MehrPRÜFUNG. 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 Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:
Mehr2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)
Objektmodellierung 2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Erklären
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrGrundbegriffe der Objektorientierung
Grundbegriffe der Objektorientierung Objekt Merkmale Zustand Verhalten Lebenszyklus Beziehungen zwischen Objekten Kategorisierung von Objekten Grundbegriffe der Objektorientierung Objekt Merkmale Zustand
MehrPRÜFUNG. 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:
MehrWintersemester 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
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrObjektorientierte Programmiersprachen
Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht
MehrAlgorithmen und Datenstrukturen 07
5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7
MehrUnified Modeling Language (UML)
Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine
MehrObjektorientierte 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/
MehrEinführung in die Programmierung mit Java. Hörsaalübung
Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrProgrammieren - Vererbung & Polymorphie
Programmieren - Vererbung & Polymorphie Reiner Nitsch r.nitsch@fbi.h-da.de Vererbung - Was ist das? Vererbung ist ein wichtiges Konzept zur Unterstützung der Wiederverwendbarkeit, wenn auch nicht das Wichtigste.
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
MehrEinführung in die Informatik II
Einführung in die Informatik II SS 2011 3 Objektorientierter Entwurf mit UML und Java Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester
MehrSWE5 Slide 1. Software-Engineering. Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel
SWE5 Slide 1 Software-Engineering Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel SWE5 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
MehrSystemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 2-
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 2- Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrMusterlö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
MehrModellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014
Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme
MehrProbeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrKapitel 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
Mehr4. Übung zu Software Engineering
4. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Klassendiagramm: Projektmanagement AUFGABE 10 1 OOA-Methode von Heide Balzert 1. Klassen finden 2. Assoziationen und Kompositionen finden
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrC++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern
C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches
MehrGrundlagen 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:
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
MehrObjektorientierte Analyse (OOA) Logischer Aufbau (statische Sicht)
Inhalte Klassen(-Diagramm) Objekte Assoziation Multiplizität Aggregation Vererbung Logischer Aufbau (statische Sicht) OOA-Muster Model-View-Controller Konzept (MVC) - noch in Arbeit Seite 1 Klassen Eine
MehrVon der UML nach C++
22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete
MehrWhiteStarUML Tutorial
WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/
MehrKapitel 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
Mehr7. 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
MehrUML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish
UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrLiteratur. 3. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten. Die Rolle von Entwurfsmethoden in der Softwareentwicklung.
3. Erste Schritte in der Objektorientierte Analyse mit Literatur Obligatorische Literatur Zuser Kap 9 Weiterführende Literatur Scott Ambler. The Object Primer. Cambridge University Press. Gutes Kapitel
MehrSoftware Entwicklung II (SS12)
Prof. Dr. P. Liggesmeyer Dipl.-Inf. K. Bizik M.Sc. K. Nehring TU Kaiserslautern Fachbereich Informatik AG Software Engineering: Dependability Software Entwicklung II (SS12) Übung 5 Ausgabe: 04.06.2012
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon
MehrInhalt: Version 1.7.5
Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten
MehrER-Modell. Entity-Relationship-Model
+ ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).
Mehr4. Informatiktag NRW 14.3.05. Projekt online Shop. Barbara Leipholz Schumacher Euregio Kolleg, Würselen
1/51 Projekt online Shop 4. Informatiktag NRW 14.3.05 Barbara Leipholz Schumacher Euregio Kolleg, Würselen 2/51 Die Firma Sprachen Lernen möchte ihr Angebot auf online Bestellungen ausweiten. Sprache Art
Mehr1.4 Attribute die objektorientierten Datenfelder
1.4 Attribute 21 1.4 Attribute die objektorientierten Datenfelder Die Attribute beschreiben die Daten, die von den Objekten einer Klasse angenommen werden können. Jedes Attribut ist von einem bestimmten
MehrSoftwarepraktikum: Enigma
Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement
MehrObjektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern
Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben
MehrLösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen
Universität Karlsruhe (TH) Fakultät für Informatik Lehrveranstaltung Informatik II Sommersemester 2008 Prof. Dr. K. Böhm Dipl.-Wirtsch.-Inf. C. Kühne Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen
MehrVorkurs 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:
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
MehrTechnische Universität München WS 2011/12 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 31.
2/ Technische Universität München WS 20/2 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 3. Oktober 20 Übungen zu Grundlagen der Programmierung Aufgabe 4 (Lösungsvorschlag)
Mehr1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"
im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der
MehrObjektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation
Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh
MehrSoftware 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
MehrKurs OPR. Objektorientierte Programmierung
Kurs OPR Objektorientierte Programmierung Lektion: 005-Vererbung, Polymorphismus Zürcher Hochschule für Angewandte Wissenschaften Mitglied der Fachhochschule Zürich Version 1.4 Inhaltsverzeichnis 1 Vererbung
MehrSoftware Entwicklung 2. UML in der Analyse
Software Entwicklung 2 UML in der Analyse Inhalt Objektorientierte vs. klassische Softwareentwicklung Imperative Programmierung Objektorientierte Programmierung Grundprinzipien der objektorientierten Denkweise
Mehr1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung
K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:
MehrKlausur "OOAD" im SS 2009. Name, Vorname: Matrikel-Nr:
Klausur "OOAD" im SS 009 Name, Vorname: Matrikel-Nr:.... Bitte tragen Sie zuerst Ihren Namen und Ihre Matrikelnummer ein. Lesen Sie jeweils vor Erarbeitung der Lösung die ganze Aufgabenstellung durch.
MehrInhaltsverzeichnis. 1. Fragestellung
Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.
MehrModellarbeit I: Entwurfsgerechte Klassenmodellierung
Modellarbeit I: Entwurfsgerechte Klassenmodellierung Vom Analysemodell zum Entwurfsmodell Nach der Etablierung der Techologien: Überarbeitung des Fachlichen Modells zu einem geeigneten Entwurfsmodell Navigationen
MehrVererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
MehrEinführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...
Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft
MehrEINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
MehrSoftware-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH 27.01.2009 1
Übungen zur Wiederholung IT works. Metris GmbH 27.01.2009 1 Ein Kunde beauftragt Sie mit der Erstellung eines neuen betrieblichen Informationssystems für seine Firma. Welche UML-Diagrammformen würden Sie
MehrProgrammieren in Java
FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML
MehrObjektorientierung: Klassen und Objekte
Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen
MehrVgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
MehrJ.2 Objektorientiertes Modellieren mit UML
Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrDer Design-Workflow im Software-Entwicklungs-Prozess
Der -Workflow im Software-Entwicklungs-Prozess Universität Bonn, Vorlesung Softwaretechnologie SS 2000 1 Der -Workflow stellt zum Ende der Elaborations- und Anfang der Konstruktionsphase den Schwerpunkt
MehrSoftwaretechnik für den Entwurf
Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase
MehrObjektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11
Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen
MehrDatenbanken. Erstellen des Semantischen Modells. Manuel Friedrich. Schiller-Gymnasium Hof
Datenbanken Erstellen des Semantischen Modells Die Objektorientierte Sichtweise! Die Objektorientierte Sichtweise! Alles ist ein Objekt! Mensch Lehrgang Produkt Kunde Lieferant Beispiel Kreis Linienfarbe
MehrSoftware Engineering Analyse und Analysemuster
Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse
MehrReversi: Suche und GUI
Reversi: Suche und GUI Plenum Programmierpraktikum 2006-12-21 Probeturnier Bis Ende des Jahres: Wir stellen offiziellen Server zur Verfügung. Montag, 8.1.2007: Erstes freiwilliges Turnier. Wer teilnehmen
MehrSoftware Engineering: Strukturelle Modellierung
www.mathematik-netz.de Copyright, Page 1 of 13 Software Engineering: Strukturelle Modellierung 1.0 Motivation und Voraussetzungen Zum Verständnis sind Kenntnisse aus dem Bereich der objektorientierten
MehrProgrammieren 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
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger
Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90 Minuten.
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter Java, Objektorientierung 5.1 (U )
MehrTechniken der Projektentwicklung
diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrDrei-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
MehrJava 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
MehrObjektorientierter Software-Entwurf Die Unified Modeling Language 4 1
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.
Mehr