Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014
|
|
- Oswalda Winkler
- vor 8 Jahren
- Abrufe
Transkript
1 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014
2 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme von der Object Management Group entwickelt: Welche Systemaspekte werden modelliert? Objektorientierte Software-Modellierung mit der UML Welche Objektstrukturen werden mit Klassendiagrammen modelliert? Welche nicht? Wie unterscheiden sich Klassen- von Objektdiagrammen? Wie ist die Beziehung zwischen Klassenmodellen und Java-Klassen? speziell: Vererbungsbeziehungen, Kardinalitäten > 1 Taentzer Einführung in die Softwaretechnik 128
3 Die Unified Modeling Language (UML) Die UML ist eine einheitliche Modellierungssprache für Softwaresysteme. Verschiedene Systemaspekte werden mit verschiedenen Diagrammarten modelliert: (a) für die Datenstrukturen (Statische Strukturen): Klassen- und Objektdiagramme (Class and Object Diagram) (b) für das Systemverhalten (Dynamik): Anwendungsfalldiagramm (Use Case Diagram) Interaktionsdiagramm (Interaction Diagram, früher: Sequence Diagram) Kollaborationsdiagramm (Collaboration Diagram) Zustandsdiagramm (State Diagram) Aktivitätsdiagramm (Activity Diagram) (c) für den Systementwurf (Statische Strukturen): Komponentendiagramm (Component Diagram) Einsatzdiagramm (Deployment Diagram) Taentzer Einführung in die Softwaretechnik 129
4 UML-Klassendiagramme Ein Klassendiagramm zeigt die statische Struktur eines Systems bildet den Kern des Analysemodells enthält Elemente der folgenden Arten: Paket Objektklasse Attribut und Operation Assoziation (mit Bezeichnung, Kardinalitäten und Rollen) Generalisierungs-/Spezialisierungsbeziehung Taentzer Einführung in die Softwaretechnik 130
5 Klassen und Attribute Eine Klasse spezifiziert eine Klassifikation von Objekten mit gleichen Strukturmerkmalen (Attributen) gleichen Verhaltensmerkmalen (Operationen) gleichen Beziehungen zu anderen Objekten Objekte sind Instanzen von Klassen. Abstrakte Klassen haben keine Objekte. Person Klasse: name: String vorname: String geburtstag: Datum adresse: String alterberechnen() adressedrucken() Objekt: Maier: Person name = Maier vorname = Alfons geburtstag = adresse = Krummbogen 29, Marburg Taentzer Einführung in die Softwaretechnik 131
6 Assoziationen bidirektional / 2-stellig unidirektional Komposition / starke Aggregation schwache Aggregation Zusätzliche Charakterisierungen: {ordered - sortiert Assoziationsbezeichner [+ mögl. Pfeil f. Leserichtung] Rollen-Bez. Kardinalität Rollen-Bez. Kardinalität Die Kardinalität (engl. multiplicity) a.. b gibt die minimale / maximale Anzahl (gleichzeitig) möglicher Objektbeziehungen an. * entspricht 0.. beliebig viele 1 entspricht Taentzer Einführung in die Softwaretechnik 132
7 Beispiele für Assoziationen Fachbereich 1 ist angestellt bei 1 * Dozent 1..3 hält bietet an * * Lehrveranstaltung Vorlesung untergebener Person * 1 vorgesetzter ist vorgesetzt besteht aus 1 * Lehreinheit Taentzer Einführung in die Softwaretechnik 133
8 Objektbeziehungen: Assoziationsinstanzen Assoziation: Objektbeziehungen: A 1 0..* B :A :B :B:B A 0..* 0..* B :A :B :B:B :A :B :B Taentzer Einführung in die Softwaretechnik 134
9 Assoziationsklassen Assoziationen können selbst komplex sein und eigene Attribute bzw. Methoden tragen. In diesem Fall ist oft eine Modellierung als eigene Klasse am zweckmäßigsten. Wir nennen diesen Vorgang Objektifizierung (engl. reification = Vergegenständlichung) und die entstehende Klasse Assoziationsklasse. In der UML gibt es eine eigene Notation dafür. Assoziationsklassen verhalten sich wie andere Klassen. Ihre Existenz ist aber von der Existenz der Klassen abhängig, welche die Assoziation begründen. besucht Beispiel: Student Lehrveranstaltung * * LV_Besuch - status: Status - note: Note + statusändern () + examenablegen () Taentzer Einführung in die Softwaretechnik 135
10 Generalisierung / Spezialisierung Klassen lassen sich spezialisieren, dabei entstehen aus einer Oberklasse (i.a. mehrere) Unterklassen. Umgekehrt lassen sich ähnliche (Unter-) Klassen zu einer gemeinsamen (Ober-) Klasse generalisieren. Jedes Objekt einer Unterklasse ist gleichzeitig auch Objekt der Oberklasse, aber nicht umgekehrt. Zwischen (Objekten) einer Oberklasse OK und einer Unterklasse UK besteht eine "ist_ein" (engl.: "is_a") -Beziehung. Die Umkehrung der Beziehung lässt sich charakterisieren als "kann_sein". Beispiel: Vorlesung ist_ein(e) Lehrveranstaltung, Seminar ist_ein(e) Lehrveranstaltung, Lehrveranstaltung kann_sein Vorlesung oder Seminar Student besucht 3..* 0..* Lehrveranstaltung Vorlesung Seminar Taentzer Einführung in die Softwaretechnik 136
11 Abstrakte und konkrete Klassen Abstrakte Klassen haben keine Instanzen. Abstrakte Klassen treten meist als Oberklassen auf. Sie vereinigen Klassenmerkmale, die alle Unterklassen haben. Beispiel: Lehrveranstaltung ist eine abstrakte Klasse. Eine Lehrveranstaltung muss eine konkrete Ausprägung haben, also eine Vorlesung oder ein Seminar sein. Beispiel für ein Objektdiagramm: :Student :Vorlesung :Student :Vorlesung :Student :Seminar :Student :Lehrveranstaltung Taentzer Einführung in die Softwaretechnik 137
12 Vererbung Spezialisierung bzw. Generalisierung geht in der Regel einher mit Vererbung: Klassen-Merkmale (Attribute und Operationen) der Oberklasse werden an alle Unterklassen weitergegeben ("vererbt"). Ober- und Unterklassen bilden eine Vererbungshierarchie: Klasse_1 (Unter-) Klasse_2 (Unter-) Klasse_ Die Vererbungshierarchie entspricht häufig einer Baumstruktur ("Einfachvererbung", "single inheritance") zuweilen auch einer Netzstruktur ("Mehrfachvererbung", "multiple inheritance") Taentzer Einführung in die Softwaretechnik 138
13 Aggregation und Komposition Spezielle Assoziationen: Enthaltenseins-Beziehungen Komposition: Teil gehört zu einem Ganzen. Aggregation: Teil kann selbstständig existieren. Beispiel: Feld gehört zu Spielbrett. Lehreinheit ist Teil einer Vorlesung. Spielbrett Vorlesung 0..* 1..* Feld Lehreinheit Taentzer Einführung in die Softwaretechnik 139
14 Beispiele für Objektdiagramme : Feld : Feld : Feld : Spielbrett : Feld : Feld : Vorlesung : Lehreinheit : Lehreinheit : Lehreinheit : Lehreinheit : Lehreinheit Taentzer Einführung in die Softwaretechnik 140
15 Ausbau des Analysemodells Analyse der Anwendungsfallbeschreibung bezüglich Objekteigenschaften und fähigkeiten. Welche Mengenangaben werden in der Anwendungsfallbeschreibung gemacht? Analyse von Formularen hinsichtlich Objekteigenschaften. Falls generalisiert wird,......ist die Oberklasse abstrakt?...welche Klasse enthält welche Attribute und welche Operationen?...welche Klasse hält welche Beziehungen? Taentzer Einführung in die Softwaretechnik 141
16 Analyse der Anwendungsfälle (1) Anwendungsfall Bestellung annehmen Das Zentrum empfängt Bestellungen der Einzelhändler telefonisch von 9 bis 17 Uhr (S7). Die eingehenden Bestellungen der Kunden werden vom Sachbearbeiter in Bestellformularen erfasst (S8). Mengenangaben Eine Kundenbestellung kann aus mehreren Bestellposten bestehen. Diese beziehen sich auf einzelne Produkte (S9). Jeder Bestellposten wird auf dem Formular in einer Zeile notiert (S10). Taentzer Einführung in die Softwaretechnik 142
17 Mengenangaben Analyse der Anwendungsfälle (2) Anwendungsfall Bestellung bearbeiten Der Anwendungsfall Lagerbestand ermitteln wird benutzt, um für jeden Posten der gerade bearbeiteten Kundenbestellung den aktuellen Lagerbestand des zugehörigen Produktes zu ermitteln (S11). Wenn das Zentrum eine Bestellung entgegennimmt, wird jeder Bestellposten in eine der beiden folgenden Karteien eingeordnet: (a) Lieferkartei, (b) Wartekartei (S13). Falls für einen Bestellposten genügend Waren auf Lager sind, dann wird dieser in die Lieferkartei eingetragen und der Lagerbestand entsprechend korrigiert (S14). Anderenfalls wird der Bestellposten in die Wartekartei eingetragen (S15). Generalisierung Taentzer Einführung in die Softwaretechnik 143
18 Beispiel: Verfeinertes Analysemodell Taentzer Einführung in die Softwaretechnik 144
19 Objektdiagramm: Beispiel Taentzer Einführung in die Softwaretechnik 145
20 Aufzählungstypen Ein Aufzählungstyp ist eine spezielle Klasse. Er wird durch den Stereotyp << enumeration>> markiert. Er besteht aus einer Liste von Literalen. Ein Literal hat einen Namen und einen Typ. Ein Stereotyp kann ein Modellelement spezialisieren. Taentzer Einführung in die Softwaretechnik 146
21 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme Welche Systemaspekte werden modelliert? Objektorientierte Modellierung mit der UML Welche Objektstrukturen werden mit Klassendiagrammen modelliert? Welche nicht? Wie unterscheiden sich Klassen- von Objektdiagrammen? Wie ist die Beziehung zwischen Klassenmodellen und Java-Klassen? speziell: Vererbungsbeziehungen, Kardinalitäten > 1 Taentzer Einführung in die Softwaretechnik 147
22 Eine Beziehung zwischen Klassenmodellen und Java-Klassen UML-Klasse Java-Klasse Sichtbarkeit ist nicht in UML modelliert. Eigenschaft abstract wird direkt übersetzt. UML-Schnittstellenklasse Java-Schnittstellenklasse UML-Vererbung Java- Vererbung Mehrfachvererbung muß in Einfachvererbung + Implementierung von Schnittstellen aufgelöst werden UML-Paket Java-Paket <<access>>- Beziehung import-anweisung in Java UML-Attribut Java-Feld Sichtbarkeit wird direkt übersetzt. Default-Wert wird auch übernommen. Datentyp muss eventuell angepasst werden. Bei Kardinalität >1 wird eine Collection von Objekten angelegt. für ordered eine sortierte Menge v. Objekten sonst: Menge (Set) von Objekten UML-Operation Java-Methode Sichtbarkeit wird direkt übersetzt. Rückgabetyp wird direkt übersetzt. UML-Parameterliste sollte nur Input- Parameter enthalten. Diese werden direkt übersetzt. Taentzer Einführung in die Softwaretechnik 148
23 Eine Beziehung zwischen Klassenmodellen und Java-Klassen UML-Assoziation ein oder zwei Java-Felder: Für jedes navigierbare Ass.ende e: Entgegengesetztes Ass.ende d zeigt auf die Klasse, die um ein Feld erweitert wird. Rollenname von e wird der Feldname. Die Klasse, auf die e zeigt, wird der Feldtyp. Sichtbarkeiten der Ass.enden werden direkt übernommen. Ass.ende e hat Kardinalität j<= 1: Feld zeigt auf ein Objekt. k..l e A B d i..j Ass.ende e hat Kardinalität j>1: Menge (Set) von Objekten {ordered sortierte Menge (SortedSet) von Objekten Komposition: Java-Code erzeugt die entsprechenden Objekte. UML-Literal Java-Konstante UML-Enumeration Java Enum Typ Taentzer Einführung in die Softwaretechnik 149
24 Modellierte Klassen Lieferkartei.java: public class Lieferkartei{ //... Kartei.java: public abstract class Kartei{ public void eintragen(bestellposten posten){ //... public void loeschen(bestellposten posten) { //... Taentzer Einführung in die Softwaretechnik 150
25 Assoziationen Bestellposten.java: public class Bestellposten{ private int nummer; private int menge; Kartei kartei; public void korrigieren(int nr, int m){ //... Assoziationsname Kartei.java: public abstract class Kartei{ //... public SortedSet<Bestellposten> bestellposten; Taentzer Einführung in die Softwaretechnik 151
26 Vererbung Kundenbestellung.java: Bestellung.java: public abstract class Bestellung{ private Date datum; private int nummer; public void aendern(adresse lieferadr){ //... public class Kundenbestellung extends Bestellung{ private Firma kunde; Taentzer Einführung in die Softwaretechnik 152
27 Mehrfachvererbung Motorfahrzeug Fahrzeug Motorboot Wasserfahrzeug Wasserfahrzeug.java: public class Wasserfahrzeug extends Fahrzeug{ Motorboot.java: Fahrzeug.java: public abstract class Fahrzeug{ Motorfahrzeug.java: public class Motorboot extends Wasserfahrzeug implements IMotorfahzeug{ public class Motorfahrzeug extends Fahrzeug{ Taentzer Einführung in die Softwaretechnik 153
28 Vererbung Kundenbestellung.java: Firma.java: public class Kundenbestellung extends Bestellung{ private Firma kunde; public class Firma{ private String name; private String kontakt; Set<Kundenbestellung> kundenbestellung; Set<Produzentenbestellung> produzentenbestellung; Taentzer Einführung in die Softwaretechnik 154
29 Zusammenfassung Die UML ist die Standardmodellierungssprache für Softwaresysteme. Sie bietet umfangreiche Konzepte zur Modellierung der statischen Strukturen von Softwaresystemen. Klassendiagramme beschreiben die Typebene. Objektdiagramme modellieren konkrete Objektstrukturen. Direkte Übersetzung eines Klassenmodells in Java-Code UML-Klassen -> Java-Klassen UML-Attribute -> Java-Felder UML-Assoziationen -> Java-Felder Mehrfachvererbung -> Einfachvererbung + Schnittstellen Taentzer Einführung in die Softwaretechnik 155
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
Mehr09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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
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
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
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 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
MehrSystemanalyse. - 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
MehrGrundlagen der Software- Modellierung. 4. November 2014
Grundlagen der Software- Modellierung 4. November 2014 Überblick Wozu modellieren wir in der Softwareentwicklung? Definition des Modellbegriffs in der Softwareentwicklung Welche Aspekte eines Softwaresystems
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
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 ++) {
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
MehrFachdidaktik 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,
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
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
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
Mehr7. Analyse-Phase: Datenmodellierung Software Engineering
7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext
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
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,
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
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
MehrVU Objektorientierte Modellierung Übung 1
VU Objektorientierte Modellierung Übung Übungsgruppen: 4.4.2008-8.4.2008 Aufgabe : Strukturmodellierung mittels Klassendiagramm Theoriefragen Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit
MehrÜbung 4. Musterlösungen
Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie
MehrKlausur 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-
MehrEinfü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
MehrVerhindert, 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:
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
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
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
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
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/
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
MehrEinführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
MehrJava: 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
MehrObjektorientierte 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)
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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
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:
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
MehrVererbung & 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
MehrPrinzipien 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........................
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrDarstellung von Assoziationen
Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen
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
Mehra) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..
Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart
MehrKapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)
Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Anforderungen In einer Hochschulverwaltung sind mehrere Personengruppen tätig. Die Hochschule hat Angestellte, die Professoren, Labor-Ingenieure,
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
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
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
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrGroß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,
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
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,
MehrKlausur 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
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:
MehrKlausur Software Engineering für WI (EuI)
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrSWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster
SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster Aufgabe 1 analytische Aufgabe Die Eigenschaften und Einsatzbereiche
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
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
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?
MehrBedienung von BlueJ. Klassenanzeige
Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument
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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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:
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
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
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrGrundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN
Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
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
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
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1
Datenbankmodelle 1 Das Entity-Relationship-Modell Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle Prof. Dr.
MehrFachgebiet 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
MehrE-Mail-Inhalte an cobra übergeben
E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?
MehrKlassenentwurf. 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
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
Mehr2. Tutorium zu Softwaretechnik I
2. Tutorium zu Softwaretechnik I Lastenheft, Durchführbarkeitsuntersuchung und Klassendiagramme Michael Hoff 06.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes
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
MehrObjektorientierte 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
MehrAuktion name adresse pseudonym emailadresse /bewertungszahl. Gebot. höhe zeitpunkt bieter. initiiert
Software Engineering I Musterlösungen zur Klausur vom 2.8.2003 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Daher verzichten wir auf Klassen wie Sofortkauf,
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
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrCode-Erzeugung aus UML-Klassendiagrammen
Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter
MehrSoftwaretechnik (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
MehrEntity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.
Beziehungen Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört. Eine Vorlesung wird von genau einem Dozenten gelesen. Ein Dozent kann
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.
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
Mehr188.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
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrRegistrierte- MautStrecke bezeichnung. Gefahrene- MautStrecke /datumeinfahrt /datumausfahrt /uhrzeiteinfahrt /uhrzeitausfahrt gefahrenekm 1..
Software Engineering I Aufgabe Gefordert war ein redundanzfreies Klassendiagramm für die in der Aufgabenstellung beschriebene Maut-Software auf dem Server. Eine mögliche Lösung (es sind verschiedene Lösungsansätze
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
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
Mehr