UML: Einführung. Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. UML und Objekt-Orientierung

Größe: px
Ab Seite anzeigen:

Download "UML: Einführung. Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. UML und Objekt-Orientierung"

Transkript

1 UML: Einfürung Vorlesung Modellierung Modellierungsmetoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink UML = Unified Modeling Language Standard-Modellierungssprace für Software Engineering. Basiert auf objekt-orientierten Konzepten. Ser umfangreic, entält viele versciedene Typen von Modellen. Entwickelt von Grady Booc, James Rumbaug, Ivar Jacobson (1997). UML und Objekt-Orientierung Barbara König Modellierung 1 UML und Objekt-Orientierung Barbara König Modellierung 213 Was bedeutet Objekt-Orientierung? Grundidee Die reale Welt bestet aus Objekten, die untereinander in Bezieungen steen. Diese Sictweise wird auc auf Modellierung und Softwareentwicklung übertragen. Etwas genauer... Daten (= Attribute) werden zusammen mit der Funktionalität (= Metoden) in Objekten organisiert bzw. gekapselt. Jedes Objekt ist in der Lage Nacricten (= Metodenaufrufe) zu empfangen, Daten zu verarbeiten und Nacricten zu senden. Diese Objekte können einmal erstellt in versciedenen Kontexten wiederverwendet werden. Gescicte der Objekt-Orientierung Entwicklung von objekt-orientierten Programmierspracen: 60er Jare: Simula (zur Bescreibung und Simulation von komplexen Mensc-Mascine-Interaktionen) 80er Jare: C++ 90er Jare: Java Verbreitung von objekt-orientierten Entwurfsmetoden: 70er Jare: Entity-Relationsip-Modell 90er Jare: Vorläufer von UML: OOSE (Object-Oriented Software Engineering), OMT (Object Modeling Tecnique) Seit 1997: UML Seit 2005: UML 2.0 Barbara König Modellierung 214 Barbara König Modellierung 215

2 UML und Objekt-Orientierung UML und Objekt-Orientierung Vorteile der objekt-orientierten Programmierung und Modellierung Leicte Wiederverwendbarkeit dadurc, dass Daten und Funktionalität zusammen verwaltet werden und es Konzepte zur Modifikation von Code (Sticwort: Vererbung) gibt. Näe zur realen Welt: viele Dinge der realen Welt können als Objekte modelliert werden. Verträglickeit mit Nebenläufigkeit und Parallelität: Kontrollfluss kann nebenläufig in den Objekten ablaufen und die Objekte können durc Nacrictenaustausc bzw. Metodenaufrufe untereinander kommunizieren. Ein Beispiel für die Modellierung von Objekten der realen Welt: Farkartenautomat Daten: Fartziele, Zoneneinteilung, Fartkosten Funktionalität: Tasten drücken, Preise anzeigen, Münzen einwerfen, Farkarte auswerfen UML und Objekt-Orientierung Barbara König Modellierung 216 UML: Einfürung Barbara König Modellierung 217 Konzepte Klassen: definiert einen Typ von Objekten mit bestimmten Daten und bestimmter Funktionalität. Beispiel: die Klasse der VRR-Farkartenautomaten Objekte: Instanzen der Klasse. Beispiel: der Farkartenautomat am Duisburger Hauptbanof, Osteingang Einsatzgebiete von UML im Software-Engineering Visualisierung Spezifikation Konstruktion (z.b. zur Codegenerierung) Dokumentation Barbara König Modellierung 218 Barbara König Modellierung 219

3 UML: Einfürung UML: Einfürung Vokabular der UML (nac Booc/Rumbaug/Jacobson) Dinge (tings) Bezieungen (relationsips) Diagramme (diagrams) Dinge Strukturen (structural tings) Veralten (beavioral tings) Gruppen (grouping tings) Annotationen (annotational tings) Bezieungen Abängigkeiten (dependencies) Assoziationen (associations) Generalisierungen (generalizations) Realisierungen (realizations) UML: Einfürung Barbara König Modellierung 220 UML: Einfürung Barbara König Modellierung 221 UML-Diagramme Strukturdiagramme Klassendiagramm Komponentendiagramm Objektdiagramm Kompositionsstrukturdiagramm Interaktionsdiagramme Diagramme der UML Aktivitätsdiagramm Kommunikationsdiagramm Interaktionsübersictsdiagramm Diagramme (I) Strukturdiagramme Klassendiagramme (class diagrams) Objektdiagramme (object diagrams) Kompositionsstrukturdiagramme (composite structure diagram) Paketdiagramme (package diagram) Verteilungsdiagramme (deployment diagram) Komponentendiagramme (component diagrams) Sequenzdiagramm Verteilungsdiagramm Paketdiagramm Anwendungsfalldiagramm Zustands- diagramm Zeitverlaufs-/ Timing-Diagramm Barbara König Modellierung 222 Barbara König Modellierung 223

4 UML: Einfürung Diagramme (II) Wir beginnen mit n... Aktivitätsdiagramme (activity diagrams) (state diagrams) Anwendungsfalldiagramm (use case diagrams) Interaktionsdiagramme (sequence diagrams) Kommunikationsdiagramm (communication diagram) Zeitverlaufsdiagramm (timing diagram) Interaktionsübersictsdiagramm (interaction overview diagram) Beispiel: Klasse der zweidimensionalen Punkte mit x-, y-koordinaten und Operationen zum Auslesen der Koordinaten Grapisce Darstellung einer Klasse Point x: int y: int get x(): int get y(): int Klassenname Attribute (evtl. mit Typ) Operationen/Metoden Wir werden im Folgenden einige dieser Begriffe mit Leben füllen. Barbara König Modellierung 224 Barbara König Modellierung 225 Bemerkungen: Bei den Attributen andelt es sic um sogenannte Instanzattribute, d.., sie geören zu den Instanzen einer Klasse (nict zur Klasse selbst). Man kann die Sictbarkeit eines Attributes bzw. einer Metode spezifieren, indem man + (öffentlic/sictbar) oder (privat/nict sictbar) vor den Attribut-/Metodennamen screibt. Auc die Angabe # (gescützt/protected) ist möglic. In diesem Fall ist das Attribut nur für Klassen sictbar, die von der entsprecenden Klasse erben. Bemerkungen: Attribute aben im allgemeinen Typen, mancmal auc Vorgabewerte (= initiale Werte). Dies wird dann folgendermaßen notiert: x: int = 0 Merstellige Operationen mit Rückgabewert werden mit iren Typen folgendermaßen notiert: add(m: int, n: int): int Barbara König Modellierung 226 Barbara König Modellierung 227

5 Grapisce Darstellung einer Instanz einer Klasse Point x: int y: int get x(): int get y(): int mypoint :Point instantiate x = 0 y = 0 Grapisce Darstellung von Generalisierung/Spezialisierung Point x: int y: int get x(): int get y(): int Colored Point c: string color(): string setcolor(c: string) Die Klasse Colored Point spezialisiert die Klasse Point. Umgekert generalisiert Point die Klasse Colored Point. Barbara König Modellierung 228 Barbara König Modellierung 229 Bemerkungen: In einer solcen Situation nennt man Point Superklasse und Colored Point Subklasse. Die Subklasse erbt die Attribute, Metoden und Assoziationen der Superklasse (und kann diesen noc weitere inzufügen). Daer sprict man auc von Vererbung. Außerdem kann man in der Subklasse Metoden der Superklasse überscreiben und durc neue ersetzen. Wie kann man Bezieungen zwiscen Klassen in UML darstellen? Es gibt folgende möglice Bezieungen: Assoziation Aggregation Komposition Barbara König Modellierung 230 Barbara König Modellierung 231

6 Wir beginnen mit der scwäcsten Relation zwiscen zwei Klassen: der Assoziation. Assoziation Es gibt eine Assoziation zwiscen den Klassen A und B, wenn es eine semantisce Bezieung zwiscen den Klassen gibt. Beispiel für eine Assoziation Eine Person besitzt ein Auto. Person Auto Üblicerweise werden Assoziationen durc Referenzen realisiert. D.., eine der Klassen at ein Attribut vom Typ der anderen Klasse. Diese Attribute werden im Klassendiagramm jedoc nict explizit angegeben. besitzt Barbara König Modellierung 232 Barbara König Modellierung 233 Bemerkungen: Es kann eine Leserictung der Assoziation eingefürt werden: Person besitzt Auto Die Navigationsrictung (bescrieben durc eine Pfeilspitze) kann von der Leserictung abweicen. Sie bescreibt, welce Klasse iren Assoziationspartner kennt (und daer seine Metoden aufrufen kann). Person besitzt Auto Multiplizitäten: an beide Enden der Assoziationen können Multiplizitäten in Form von Intervallen m..n (oder einfac nur m für m..m) angegeben werden. Hier besitzt eine Person bis zu fünf Autos. Ein Auto ist im Besitz genau einer Person. Person besitzt Auto Falls die Multiplizität größer als eins ist, muss dies in der Implementierung durc eine Liste (oder Menge oder Array) von Referenzen realisiert werden. Hier kennen sic beide Klassen gegenseitig. Barbara König Modellierung 234 Barbara König Modellierung 235

7 Multiplizitäten allgemein: in folgendem Diagramm können i Instanzen von A (mit m i n) mit einer Instanz von B assoziert sein. Umgekert können j Instanzen von B (mit k j l) mit einer Instanz von A assoziiert sein. A m..n k..l B Rollen: Klassen können in versciedenen Assoziationen versciedene Rollen spielen. Rollen werden auc an den Assoziationen notiert (und können alle Bestandteile eines Attributs entalten). Falls es keine obere Scranke gibt, wird ein Stern (= unendlic) verwendet. Beispielsweise stet 2.. für mindestens zwei. Grossandel Verkaeufer Kaeufer Haendler Verkaeufer Kaeufer Endkunde Die Multiplizität 0.. wird als Standardwert angenommen, wenn keine Angabe voranden ist. Barbara König Modellierung 236 Barbara König Modellierung 237 Die näcste Relation Aggregation ist etwas stärker. Aggregation Es gibt eine Aggregation zwiscen den Klassen A und B, wenn Instanzen der Klasse A Instanzen der Klasse B als Teile entalten. (Ein Ganzes entält merere Teile.) Beispiel für eine Aggregation Ein Parkplatz entält merere Autos. Parkplatz entaelt Auto Barbara König Modellierung 238 Barbara König Modellierung 239

8 Die stärkste Relation ist die sogenannte Komposition. Komposition Es gibt eine Komposition zwiscen den Klassen A und B, wenn Instanzen der Klasse A Instanzen der Klasse B als Teile entalten und die Lebenszeit der Teile wird vom Ganzen kontrolliert. Das eißt, die Teile können (müssen) gelösct werden, sobald die Instanz der Klasse A gelösct wird. Beispiel für eine Komposition Ein Auto bestet aus vier Rädern. Auto 1 4 bestet aus Rad Die Räder werden zerstört, sobald das Auto zerstört wird. Bemerkung: In diesem Fall muss die Multiplizität, die an der scwarzen Raute stet, immer 0 oder 1 sein. Jedes Teil kann öcstens zu einem Ganzen geören. Barbara König Modellierung 240 In Klassendiagrammen befinden sic normalerweise nict nur zwei Klassen mit einer Assoziationen, sondern versciedene Klassen eines Programms oder Moduls, mit iren Bezieungen untereinander. Beispiel: Parkplatz entaelt Auto bestet aus Rad n-äre Assoziation Barbara König Modellierung 241 Neben binären (zweistelligen) Assoziationen gibt es auc n-äre Assoziationen, die eine Bezieung zwiscen n Klassen bescreiben. Vorspeise 0.. besitzt 1 Person Hauptgerict Dessert Menue Barbara König Modellierung 242 Barbara König Modellierung 243

9 Generalisierungsgruppen Klassen können in untersciedlicer Weise spezialisiert bzw. unterteilt werden. Daer können Generalisierungen zu Gruppen zusammengefasst werden. Frau Mann Gesclect Person Alter Kind Erwacsener Dabei wird die jeweilige Generalisierungsgruppe (ier: Alter bzw. Gesclect) im Diagramm angegeben. Den Generalisierungsgruppen können Eigenscaften (in gescweiften Klammern) zugeordnet werden. complete/incomplete: complete: die Generalisierungsgruppe ist vollständig, d.., sie überdeckt alle Instanzen der Klasse. incomplete: die Generalisierungsgruppe ist unvollständig. disjoint/overlapping: disjoint: die spezialisierenden Klassen besitzen keine gemeinsamen Instanzen (keine Überlappung). overlapping: die spezialisierenden Klassen können gemeinsame Instanzen besitzen. Barbara König Modellierung 244 Barbara König Modellierung 245 Beispiele für die Eigenscaften complete/incomplete und disjoint/overlapping: {incomplete,disjoint} {complete,disjoint} Frau Gesclect Person Alter Kind Person Erwacsener Mann {complete,disjoint} Hier andelt es sic um eine Partitionierung der Instanzen der Klasse. {incomplete,disjoint} Warum unvollständig? es felt eine Klasse Jugendlicer. Barbara König Modellierung 246 Barbara König Modellierung 247

10 {complete,overlapping} Landtier Lebensraum {incomplete,overlapping} Landtier Lebensraum Wassertier Tier Tier Wassertier Fliegendes Tier {incomplete,overlapping} {complete,overlapping} Fliegende Tiere felen. Scildkröten sind sowol Land- als auc Wassertiere. Barbara König Modellierung 248 Barbara König Modellierung 249 Merfacvererbung Es ist auc möglic, dass eine Klasse von mereren Klassen erbt, d.., eine Spezialisierung versciedener Klassen ist. Dies bezeicnet man als Merfacvererbung. Frau Mann Gesclect Maedcen Person Alter Kind Erwacsener Ein Mädcen ist sowol ein Kind als auc ein weiblicer Mensc (= Frau). Barbara König Modellierung 250 Basierend auf diesen grapiscen Notation sollte man ein objekt-orientiertes System modellieren, bevor es implementiert wird. Dabei stellen sic insbesondere folgende Fragen: Welce Objekte und Klassen werden benötigt? Welce Merkmale aben diese Klassen und welce Bezieungen besteen zwiscen Inen? Wie sollen die Klassen eingesetzt werden? Welce Metoden stellen diese Klassen zur Verfügung? Wie wirken diese Metoden zusammen? In welcen Zuständen können sic Objekte befinden und welce Nacricten werden wann an andere Objekte gescickt? Barbara König Modellierung 251

11 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Ein größeres Beispiel für objekt-orientierte Modellierung und Programmierung: Wir modellieren eine Bank. Folgende Anforderungen werden gestellt: Eine Bank at merere Kunden und merere Angestellte und fürt eine Menge von Konten. Konten können Giro- oder Sparkonten sein. (Ein Sparkonto wirft öere Zinsen ab, darf aber nict ins Minus absinken.) in Euro oder in Dollar gefürt werden. Auf den Konten sollen folgende Operationen ausgefürt werden können: Einzalen Abeben Verzinsen Umbucen Außerdem sollen alle Objekte (inklusive der Bank) ire Darstellung ausdrucken können. Dazu at jedes Objekt eine eigene print-metode. Das bezeicnet man auc als Overloading: eine Metode gleicen Namens kann bei Objekten versciedener Klassen aufgerufen werden und erzielt dort untersciedlice Effekte. Beispiel: Modellierung einer Bank Barbara König Modellierung 252 Beispiel: Modellierung einer Bank Barbara König Modellierung 253 Klasse Bank: Bank name: string neuen kunden anlegen() angestellten einstellen() konten verzinsen() print() Metoden: neuen Kunden anlegen; neuen Angestellten einstellen; alle Konten verzinsen Außerdem: Eine Bank bestet (in Kompositionsrelation) aus einer Menge von Konten, die verscwinden, wenn die Bank verscwindet. Außerdem gibt es Aggregationen mit einer Liste von Kunden und von Angestellten. Klasse Konto: Konto nummer: string zins: float kontostand: Betrag einzalen(wert: Betrag) abeben(wert: Betrag) umbucen auf(kto: konto, wert: Betrag) print() verzinsen() Attribute: Kontonummer, Zins Metoden: Kontostand abfragen, einzalen, abeben, umbucen eines Betrags auf ein anderes Konto, Konto verzinsen Außerdem: Konto stet in einer Kompositionsrelation mit Betrag, d.., jedes Konto entält einen Betrag (siee Klassendiagramm). Barbara König Modellierung 254 Barbara König Modellierung 255

12 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Sparkonto: Klasse Girokonto: Konto Girokonto zins: float = Die Klasse Girokonto wird von Konto abgeleitet. Typiscerweise ist der Zins bei Girokonten niedriger als bei Sparkonten. Von daer wird dieser auf einen niedrigeren Anfangswert gesetzt. Konto Sparkonto zins: float = 0.02 abeben(wert: Betrag) umbucen auf(kto: Konto, wert: Betrag) Bei der Klasse Sparkonto muss wie beim Girokonto ein neuer Anfangswert für den Zins gesetzt werden. Außerdem: es muss darauf geactet werden, dass das Konto nict ins Minus abgleitet. Dazu werden die entsprecenden Metoden überscrieben (in der Implementierung muss die Bedingung entsprecend getestet werden). Beispiel: Modellierung einer Bank Barbara König Modellierung 256 Beispiel: Modellierung einer Bank Barbara König Modellierung 257 Klasse Betrag: Betrag wert: float negativ(): bool plus(wert: Betrag) minus(wert: Betrag) print() mult(faktor: float) Metoden: Test, ob Konto im Minus; Betrag addieren, subtraieren; Multiplikation mit einer Gleitpunktzal (zum Verzinsen!) Klasse Euro: Betrag Euro Von Betrag wird zunäcst die Klasse Euro abgeleitet. Metoden: Betrag in Euro ausgeben Beträge müssen im allgemeinen in einer Wärung angegeben werden. Daer werden von der Klasse Betrag die Unterklassen Euro und Dollar abgeleitet. betrag in euro():float Barbara König Modellierung 258 Barbara König Modellierung 259

13 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Euro: Klasse Person: Betrag Dollar betrag in dollar():float Von Betrag wird außerdem die Klasse Dollar abgeleitet. Metoden: Betrag in Dollar ausgeben Person name: string print() Metoden: nur die print-metode, weitere Metoden werden in den Unterklassen definiert Außerdem: Person stet in einer Assoziationsrelation mit einer Liste von Konten, die entweder dieser Person geören (Kunde) oder auf die diese Person Zugriff at (Angestellte/r). Beispiel: Modellierung einer Bank Barbara König Modellierung 260 Beispiel: Modellierung einer Bank Barbara König Modellierung 261 Klasse Kunde (erbt von Person): Klasse Angestellter (erbt von Person): Angestellter zugriff auf konto(kto: Konto) Metoden: Zugriff auf ein Konto erlangen Kunde konto eroeffnen() Metoden: Konto eröffnen (ier könnte noc ein Parameter übergeben werden, der bescreibt, ob das Konto ein Giro- oder Sparkonto sein soll und ob es in Euro oder Dollar gefürt werden soll) Außerdem: Ein Kunde stet in einer Assoziationsrelation mit seinem Betreuer. Barbara König Modellierung 262 Barbara König Modellierung 263

14 Beispiel: Modellierung einer Bank Bank Person name: string 1 bestet aus Kunde Betrag Konto besitzt 1 1 wert: float Waerung Kontotyp Euro Dollar Girokonto Sparkonto Status Angestellter 1 betreut at Zugriff auf Abstrakte Klasse Eine Klasse eißt abstrakt, wenn sie selbst keine Instanzen aben kann. Dazu wird die Eigenscaft {abstract} unter dem Klassennamen angegeben. Mancmal wird stattdessen auc der Klassenname kursiv gescrieben. Beispiel: in dem Bank-Beispiel möcte man beispielsweise nie eine Instanz der Klasse Person bilden, sondern nur von Kunde oder Angestellter. Person {abstract} Barbara König Modellierung 264 Barbara König Modellierung 265 Wir betracten nun Objektdiagramme. Ein Objekt ist eine Instanz oder Ausprägung einer Klasse. Objekte und Klassen Point x: int y: int get x(): int get y(): int mypoint :Point instantiate x = 0 y = 0 Ein Objektdiagramm bescreibt eine Art Momentaufname des Systems: eine Menge von Objekten, wie sie zu einem bestimmten Zeitpunkt voranden sind. Barbara König Modellierung 266 Bemerkungen: Ein Objekt kann, muss aber keinen Namen aben. Es muss aber die Klasse angegeben werden, von der dieses Objekt eine Instanz ist. (In der Form: :Point.) Die Klassen müssen in dem Diagramm nict grapisc dargestellt werden. Es kann aber mancmal angemessen sein, Bauplan und Produkt gemeinsam darzustellen. Nict alle Attributbelegungen des Objekts müssen angegeben werden. Barbara König Modellierung 267

15 Links Ein Link bescreibt eine Bezieung zwiscen zwei Objekten. Er ist eine Instanz einer Assoziation auf Klassenebene. Zurück zum Beispiel: Autos, Parkplatz, Räder Wir betracten zunäcst noc einmal das Klassendiagramm: Bemerkungen: Links sind nict mit Multiplizitäten bescriftet, ein Link repräsentiert genau eine Bezieung. Es ist jedoc darauf zu acten, dass die Multiplizitätsbedingungen des Klassendiagramms eingealten werden. D.., die Anzal der Objekte, die miteinander in Bezieung steen, müssen inneralb der jeweiligen Scranken sein. Parkplatz entaelt Auto 0..5 besitzt 1 Person 1 4 bestet aus Rad Barbara König Modellierung 268 Dieses Objektdiagramm passt zum vorerigen Klassendiagramm: parkplatzlbereic :Parkplatz entaelt entaelt peter :Person besitzt grueneraudi :Auto scwarzervw :Auto besitzt gabi :Person bestet aus bestet aus :Rad :Rad :Rad :Rad :Rad :Rad :Rad :Rad Bemerkungen: Barbara König Modellierung 269 Auc Aggregations- und Kompositionssymbole dürfen in Objektdiagrammen auftaucen. Actung: Bezieungen (Assoziationen, Aggregationen, Kompositionen) zwiscen Klassen werden vererbt und müssen dann auc entsprecend im Objektdiagramm bei den Instanzen der Unterklassen auftaucen. Beispiel: klaus :Kunde besitzt besitzt :Sparkonto :Girokonto Barbara König Modellierung 270 Barbara König Modellierung 271

16 Aktivitätsdiagramme Aktivitätsdiagramme Wir betracten nun sogenannte Aktivitätsdiagramme (activity diagrams), das sind UML-Diagramme mit denen man Ablaufpläne, Reienfolgen von Aktivitäten, parallele Aktivitäten, etc. modellieren kann. Startknoten Bauplatz wälen Arcitekt sucen Plan erstellen Plan Plan einreicen Sie werden beispielsweise verwendet, um Gescäftsprozesse (auc Workflow-Prozesse) des Auftraggebers zu modellieren. Sie können ebenso eingesetzt werden, um interne Systemprozesse zu bescreiben. Aktivitätsdiagramme sind in vielen Aspekten änlic zu Petri-Netzen. Im Unterscied zu Petri-Netzen bieten Sie zusätzlice Modellierungsmöglickeiten, aben jedoc keine formale Semantik. Beispiel: Hausbau [nict angenommen] [angenommen] Arbeit auf Baustelle Arbeit im Büro Haus fertigstellen Pase paralleler Aktivitäten Aktivitätsende Aktivitätsdiagramme Barbara König Modellierung 272 Aktivitätsdiagramme Barbara König Modellierung 273 Wir vergleicen nun die Bestandteile von Aktivitätsdiagrammen mit n (angelent an die Semantik von Störrle): Aktions Eine Aktion wird durc ein Recteck mit abgerundeten Ecken dargestellt. Es entsprict einer Transition eines s. Kontrollfluss Der Kontrollfluss, d.. die Kanten, zwiscen den Aktionen wird in dem entsprecenden Petrinetz durc Hilfsstellen dargestellt. Bauplatz wälen Bauplatz wälen Plan erstellen Plan erstellen Arcitekt sucen Plan erstellen Plan erstellen Arcitekt sucen Barbara König Modellierung 274 Barbara König Modellierung 275

17 Aktivitätsdiagramme Aktivitätsdiagramme Objektknoten Objektknoten bescreiben Speicer für die Übergabe von Objekten bzw. Ressourcen. Sie entsprecen den Stellen des s. Plan erstellen Plan Plan erstellen Plan Entsceidungsknoten (auc: Verzweigungsknoten) Entsceidungsknoten (decision nodes) bescreiben eine Verzweigung des Kontrollflusses, wobei aus den möglicen Kontrollflüssen genau einer ausgewält wird. Sie werden durc Hilfsstellen repräsentiert, die sic in der Vorbedingung mererer Transitionen befinden. Plan einreicen Plan einreicen Plan einreicen Plan einreicen Bemerkung: Objektknoten sind mit Klassennamen bescriftet. Sie können merere Instanzen dieser Klasse entalten. [nict angenommen] [angenommen] Hilfstransition Bei Bedarf (v.a. bei nacfolgenden Entsceidungs- oder Objektknoten) muss noc eine Hilfstransition eingefürt werden. Aktivitätsdiagramme Barbara König Modellierung 276 Aktivitätsdiagramme Barbara König Modellierung 277 Verbindungsknoten Bemerkung zu Entsceidungsknoten: Überwacungsbedingungen (Guards), die den Kontrollfluss steuern, werden in eckigen Klammern an den ausgeenden Kontrollflüssen notiert. Änlice Guards existieren auc in attributierten Netzen. Es gibt auc sogenannte Verbindungsknoten (merge nodes), die merere alternative Kontrollflüsse zusammenfassen. Sie können durc Hilfsstellen dargestellt werden, die sic in der Nacbedingung mererer Transitionen befinden. Es gibt auc Knoten, die sowol Entsceidungs- als auc Verbindungsknoten sind, d.., merere eingeende und merere ausgeende Kontrollflüsse aben. Barbara König Modellierung 278 Barbara König Modellierung 279

18 Aktivitätsdiagramme Aktivitätsdiagramme Gabelung (auc: Parallelisierungsknoten) Eine Gabelung (fork node) teilt einen Kontrollfluss in merere parallele Kontrollflüsse auf. Sie entsprict einer Transition mit mereren Stellen in der Nacbedingung. Vereinigung (auc: Syncronisationsknoten) Analog dazu gibt es die Vereinigung (join node), die merere parallele Kontrollflüsse zusammenfasst. Sie wird durc eine Transition dargestellt, die merere Stellen in der Vorbedingung at. Wie Entsceidungs- und Verbindungsknoten kann man Gabelungen und Vereinigungen zu einem Element zusammenfassen. Aktivitätsdiagramme Barbara König Modellierung 280 Aktivitätsdiagramme Barbara König Modellierung 281 Bitte beacten: Kontrollflüsse dürfen nur an Objektknoten, Entsceidungsknoten und Gabelungen aufgespalten und an Objektknoten, Verbindungsknoten und Vereinigungen wieder zusammengefürt werden. Außerdem dürfen Kontrollflüsse, die an Gabelungen aufgespalten wurden, nur wieder an Vereinigungen zusammengefügt werden. Gleices gilt für Entsceidungs- und Vereinigungsknoten. Startknoten Ein Startknoten entsprict einer initial markierten Stelle. Ein Aktivitätsdiagramm darf nur einen Startknoten aben, in den kein Kontrollfluss ineinfürt Folgendes ist nict erlaubt: Aktion Aktion Barbara König Modellierung 282 Barbara König Modellierung 283

19 Aktivitätsdiagramme Aktivitätsdiagramme Plan erstellen Plan Aktivitätsende Das Aktivitätsende signalisiert, dass alle Kontrollflüsse beendet werden. Es gibt keine Entsprecung in n. Bauplatz wälen Arcitekt sucen Plan einreicen Hilfstransition fork Es gibt auc ein Symbol für das Flussende, das nur den in es ineinlaufenden Kontrollfluss beendet. Arbeit auf Baustelle Arbeit im Büro Übersetztes Petrinetz join Haus fertigstellen Aktivitätsdiagramme Barbara König Modellierung 284 Aktivitätsdiagramme Barbara König Modellierung 285 Aktivitätsdiagramme entalten noc mer Anleien aus n. Beispielsweise können auc die Kapazität eines Objektknotens und das Gewict eines Kontrollflusses spezifiziert werden. Gerict zubereiten Gerict {upperbound=6} {weigt=2} Gerict servieren Gerict zubereiten 6 Gerict servieren 2 Gerict Dabei bescreibt upperbound die Kapazität einer Stelle (maximal 6 Gericte dürfen gleiczeitig fertig sein) und weigt das Gewict (immer 2 Gericte werden gleiczeitig serviert). In Aktivitätsdiagrammen darf noc zusätzlic spezifiziert werden, in welcer Reienfolge die Objekte aus dem Objektknoten genommen werden (unordered, ordered, LIFO, FIFO). Vorsict: Die Entsprecung zwiscen Aktivitätsdiagrammen und n ist nict immer ganz exakt. Nict alle Konzepte entsprecen einander. Das liegt teilweise auc daran, dass Aktivitätsdiagramme nur ein semi-formales Modell sind und nict alle Aspekte vollständig spezifiziert sind. Barbara König Modellierung 286 Barbara König Modellierung 287

20 Aktivitätsdiagramme Aktivitätsdiagramme Es gibt auc die Möglickeit zur weiteren Strukturierung von Aktivitätsdiagrammen: Aktivitätsbereice (activity partitions/swimlanes) Zusammenfassung mererer Knoten (Aktionen, Objektknoten, etc.) zu einer Eineit. Dies dient im allgemeinen dazu, um die Verantwortung für bestimmte Aktionen festzulegen. Gast Gerict bestellen Kellner Bestellung aufnemen Weitere Elemente von Aktivitätsdiagrammen: Pins: Parameter und Parametersätze für Aktionen Senden und Empfang von Signalen Kontrollstrukturen: Scleifenknoten, Bedingungsknoten Unterbrecungsbereice (interruptible activity region) zur Beandlung von Ausnamen (Exceptions) Expansionsbereice (expansion region) zur wiederolten Ausfürung von Aktivitäten für merere übergebene Objekte Gerict verspeisen Gerict servieren Barbara König Modellierung 288 Barbara König Modellierung 289 (state diagrams, auc state macine diagrams oder statecarts) genannt, sind eng verwandt mit den bereits eingefürten Zustandsübergangsdiagrammen. Sie werden eingesetzt, wenn bei der Modellierung der Fokus auf die Zustände und Zustandsübergänge des Systems gelegt werden soll. Im Gegensatz zu Aktivitätsdiagrammen werden auc weniger die Aktionen des Systems, sondern eer die Reaktionen des Systems auf die Umgebung bescrieben. Anwendungen sind die Modellierung von: Protokolle, Komponenten verteilter Systemen Benutzeroberfläcen Eingebettete Systemen... wurden 1987 von David Harel unter dem Namen Statecarts eingefürt. Harel modellierte damit vollständig seine Armbandur. Barbara König Modellierung 290 Barbara König Modellierung 291

21 Eigenscaften von n: Zustände und Zustandsübergänge (Transitionen) Hierarcisc aufgebaute Zustände Parallelscalten von n durc Regionen Historien, um sic früer besucte Zustände zu merken und in diese zurückzukeren Viele dieser Eigenscaften dienen dazu, unübersictlice mit vielen Zuständen und Übergängen übersictlicer und kompakter zu gestalten. Barbara König Modellierung 292 Wir lernen am Beispiel der Modellierung einer Armbandur kennen (stark vereinfact gegenüber Harels Armbandur). Die Armbandur at zwei Knöpfe (a,b) und zwei Modi (Zeitanzeige, Alarmeinstellung). Zwiscen diesen Modi wecselt man mit Hilfe von Knopf a. Der Alarm kann aus (off) oder an (on) sein. Man kann zwiscen den Alarmzuständen mit Hilfe von Knopf b wecseln. Falls der Alarm an ist, erzeugt die Ur zu jeder vollen Stunde einen Piepton. a 9:21 b a a a Alarm on a b b b a Alarm off Barbara König Modellierung 293 b Wir beginnen zunäcst mit der Modellierung der Minutenanzeige. after(1 min) after(1 min) Zustand Ein Zustand eines Zustandsdiagramms wird durc ein Recteck mit abgerundeten Ecken dargestellt. 0 after(1 min) 59 after(1 min) 58 after(1 min) Startzustand Der Startzustand wird durc einen scwarzen ausgefüllten Kreis gekennzeicnet (änlic wie bei Aktivitätsdiagrammen). 0 Barbara König Modellierung 294 Barbara König Modellierung 295

22 Endzustand Endzustände werden wie das Aktivitätsende in Aktivitätsdiagrammen gekennzeicnet. A Für den Fall, dass man ein System modelliert, das nict terminieren soll, gibt es keinen Endzustand (wie in unserem Beispiel). Barbara König Modellierung 296 Transition (= Zustandsübergang) Eine Transition ist ein Pfeil, der mit Ereignis [Bedingung]/Effekt bescriftet ist. (Bedingung und Effekt sind optional.) Ereignis: Signal oder Nacrict, die die entsprecende Transition auslösen. 0 after(1 min) Bedingung: Überwacungsbedingung (auc Guard genannt). Effekt: Effekt, der durc die Transition ausgelöst wird. Im obigen Beispiel (Minutenanzeige) gibt es nur Ereignisse (sogennante time events), die die Zeitspanne spezifizieren, nac der die Transition ausgelöst wird. Es gibt aber auc andere Ereignisse, beispielsweise Metodenaufrufe. 1 Barbara König Modellierung 297 Neben den Effekten, die durc Transitionen ausgelöst werden, können in einem Zustand weitere Aktionen bei Eintritt, Verweilen oder Verlassen ausgelöst werden. Sie aben den gleicen Aufbau wie die Bescriftung einer Transition: Ereignis [Bedingung]/Effekt. Dabei kann Ereignis unter anderem folgendes sein: entry: der entsprecende Effekt wird bei Eintritt in den Zustand ausgelöst. do: der Effekt ist eine Aktion, die nac Betreten des Zustands ausgefürt wird und die spätestens dann endet, wenn der Zustand verlassen wird exit: der entsprecende Effekt wird bei Verlassen des Zustands ausgelöst. Beispiel: die Ur soll zu jeder vollen Stunden ein Signal von sic geben. Daer wird die Aktion beep bei Eintritt in den Zustand 0 ausgelöst. 0 entry/beep Barbara König Modellierung 298 Barbara König Modellierung 299

Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König)

Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König) Vorlesung Modellierung Wintersemester 2014/15 (Folien teilw. von Prof. B. König) Prof. Norbert Fuhr 1 / 196 : Einführung = Unified Modeling Language Standard-Modellierungssprache für Software Engineering.

Mehr

6. Die Exponentialfunktionen (und Logarithmen).

6. Die Exponentialfunktionen (und Logarithmen). 6- Funktionen 6 Die Eponentialfunktionen (und Logaritmen) Eine ganz wictige Klasse von Funktionen f : R R bilden die Eponentialfunktionen f() = c ep( ) = c e, ier sind, c feste reelle Zalen (um Trivialfälle

Mehr

Orientierte Modellierung mit der Unified Modeling Language

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

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

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51 RWTH Aacen, Lerstul für Informatik IX Kapitel 3: Sucen in Mengen - Datenstrukturen und Algoritmen - 51 Sucbäume Biser betractete Algoritmen für Suce in Mengen Sortierte Arrays A B C D - Nur sinnvoll für

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.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)

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lö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

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter 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

Hilfe zum neuen Online-Shop

Hilfe zum neuen Online-Shop Hilfe zum neuen Online-Sop Hier finden Sie umfassend bescrieben, wie Sie sic in unserem neuen Sop zurectfinden. Wenn Sie Fragen zur Kunden-Nr., Kunden-ID oder zum Passwort aben, rufen Sie uns bitte an:

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

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren 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

Mehr

Schriftliche Prüfung Schuljahr: 2008/2009 Schulform: Gymnasium. Mathematik

Schriftliche Prüfung Schuljahr: 2008/2009 Schulform: Gymnasium. Mathematik Ministerium für Bildung, Jugend und Sport Prüfungen am Ende der Jargangsstufe 10 Scriftlice Prüfung Sculjar: 2008/2009 Sculform: Matematik Allgemeine Arbeitsinweise Die Prüfungszeit beträgt 160 Minuten.

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

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

Numerische Simulation in der Luft- und Raumfahrttechnik

Numerische Simulation in der Luft- und Raumfahrttechnik Numerisce Simulation in der Luft- und Raumfarttecnik Dr. Felix Jägle, Prof. Dr. Claus-Dieter Munz (IAG) Universität Stuttgart Pfaffenwaldring, 70569 Stuttgart Email: felix.jaegle@iag.uni-stuttgart.de Inalt

Mehr

Vgl. Oestereich Kap 2.6 Seiten 127-133

Vgl. Oestereich Kap 2.6 Seiten 127-133 Vgl. Oestereich Kap 2.6 Seiten 127-133 4. Zustände 1 Aktivitäts- und Zustands-Diagramm werden oft verwechselt. Es ist darum wichtig zu unterscheiden, dass im Aktivitätsdiagramm die Aktionen im Zentrum

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 Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010 Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010 Objektorientierter Softwareentwurf mit UML Grundlagen Neubearbeitung 2010 PGOS2010 I Objektorientierter Softwareentwurf mit UML - Grundlagen

Mehr

UML Notation für objektorientierte Systeme

UML Notation für objektorientierte Systeme UML Notation für objektorientierte Systeme Die Unified Modeling Language (UML) ist eine graphische Notation, eine visuelle Modellierungssprache [UML Referenz], die es erlaubt die Artefakte eines Softwaresystems

Mehr

Medienmitteilung Rothenburg, 26. April 2013

Medienmitteilung Rothenburg, 26. April 2013 Pistor AG Medienmitteilung Rotenburg, 26. April 2013 Gescäftsjar 2012 Ausblick 2013 Pistor mit gutem Ergebnis Die Pistor ist gut unterwegs. Im Jar 2012 wurde mit dem Bau des neuen Tiefkülcenters erneut

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software 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

Mehr

Von der UML nach C++

Von 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

Mehr

Informationen zur Kennzahlenanalyse und Unternehmensbewertung

Informationen zur Kennzahlenanalyse und Unternehmensbewertung Informationen zur Kennzalenanalyse und Unternemensbewertung Liquidität Kennzal Formel Sollwert Kommentar Cas Ratio (Liquiditätsgrad 1) ü 20-30% Widerspiegelt die Bezieung zwiscen Flüssigen Mitteln (inkl

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜ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 Vorname: Name: Matrikelnummer: Prüfungstag: 19.02.2015

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - 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

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einfü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

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜ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:

Mehr

Inhalt: Version 1.7.5

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

Mehr

Kurzreferenz UML. Autor: Michael Puff. Stand: 2010-05-21. http://www.michael-puff.de mail@michael-puff.de

Kurzreferenz UML. Autor: Michael Puff. Stand: 2010-05-21. http://www.michael-puff.de mail@michael-puff.de Kurzreferenz UML Autor: Michael Puff Stand: 2010-05-21 http://www.michael-puff.de mail@michael-puff.de Inhaltsverzeichnis Inhaltsverzeichnis 1 Die Modellierungssprache UML 5 1.1 Definition Klasse - Objekt......................

Mehr

Studienordnung für den Integrativen Bachelorstudiengang Linguistik an der Heinrich-Heine-Universität Düsseldorf vom TT.MM.JJJJ

Studienordnung für den Integrativen Bachelorstudiengang Linguistik an der Heinrich-Heine-Universität Düsseldorf vom TT.MM.JJJJ Studienordnung Integrativer Bacelorstudiengang "Linguistik", Modulbescreibungen 1 Studienordnung für den Integrativen Bacelorstudiengang Linguistik an der Heinric-Heine-Universität Düsseldorf vom TT.MM.JJJJ

Mehr

BPMN. Suzana Milovanovic

BPMN. Suzana Milovanovic BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business

Mehr

Inhalte der Veranstaltung

Inhalte der Veranstaltung Inhalte der Veranstaltung 5. Anwendungssysteme 5-4 6. Entwurf von Anwendungssystemen 6.1 Datenmodellierung 6-1 6.2 Geschäftsprozessmodellierung 6-32 6.3 Entwurf von Datenbanken 6-79 6.4 Nutzung von Datenbanken

Mehr

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte 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

Mehr

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation. UML Was ist UML UML (=Unified Modeling Language) ist eine weit verbreitete, standardisierte Notationsschrift, die das grafische Darstellen von Software-Systemen ermöglicht und dadurch eine grosse Unterstützung

Mehr

Einführung in die Programmierung für NF

Einfü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

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜ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:

Mehr

Neue GuideLed Sicherheitsleuchten

Neue GuideLed Sicherheitsleuchten CEAG GuideLed Sicereitsleucten Neue GuideLed Sicereitsleucten Geradliniges Design kombiniert mit oer Wirtscaftlickeit C-C8 C-C GuideLed SL., 2. CG-S Deckeneinbau EN 838 LED * GuideLed SL. CG-S IP GuideLed

Mehr

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

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

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm.

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Seite 0 Seite 1 Zu Beginn dieser Einheit möchte ich ein kleines Experiment mit

Mehr

Nenne verschiedene Energieformen. Nenne zu einem Beispiel aus deiner Umgebung, welche Energieformen ineinander umgewandelt werden.

Nenne verschiedene Energieformen. Nenne zu einem Beispiel aus deiner Umgebung, welche Energieformen ineinander umgewandelt werden. Grundwissenskatalog zu Pysik 8.Jargangsstufe, Seite von 5 Carl-Friedric Gauß Gymnasium Scwandorf Stand: Sept. 0 Wissen Können Beispiele, Ergänzungen Energie Energie kann in versciedenen Formen vorkommen.

Mehr

Planungsunterlage. Heizkreis-SchnellmontageSysteme für bodenstehende. und wandhängende Kessel

Planungsunterlage. Heizkreis-SchnellmontageSysteme für bodenstehende. und wandhängende Kessel Planungsunterlage Heizkreis-ScnellmontageSysteme für bodensteende und wandängende Kessel Ausgabe 04/2002 Inalt Inalt 1 Heizkreis-Scnellmontage-Systeme............................................... 3 1.1

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

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

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009 PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2008/2009 FB Informatik

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

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

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

Assoziation und Aggregation

Assoziation 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

Mehr

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

Formelsammlung. Fachangestellte für Bäderbetriebe Meister für Bäderbetriebe. Inhalt

Formelsammlung. Fachangestellte für Bäderbetriebe Meister für Bäderbetriebe. Inhalt Forelsalung Facangestellte für Bäderbetriebe Meister für Bäderbetriebe Erstellt von Dipl.-Ing. (FH) Wolfgang Hetteric, BVS it Ergänzungen von Dipl.-Ing. (FH) Peter Vltavsky, BS Lindau Inalt llgeeine Mecanik...

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Angewandte Mathematik und Programmierung

Angewandte 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

Mehr

Arbeit = Kraft Weg. Formelzeichen: W Einheit: 1 N 1 m = 1 Nm = 1 J Joule ( dschul ) Beispiel: Flaschenzug. F zeigt.

Arbeit = Kraft Weg. Formelzeichen: W Einheit: 1 N 1 m = 1 Nm = 1 J Joule ( dschul ) Beispiel: Flaschenzug. F zeigt. Kraftwandler Die Energie al Eraltunggröße Ein Kraftwandler it eine mecanice Anordnung, die eine Kraft wirken lät, welce größer it al die Kraft, die aufgewendet wird (oder umgekert). Beipiel: lacenzug Aufgewendete

Mehr

Informationsmanagement in Organisationen Überblick

Informationsmanagement in Organisationen Überblick Informationsmanagement in Organisationen Überblick Wolfgang H. Janko Andreas Geyer-Schulz Stefan Koch Edward Bernroider Abteilung für Informationswirtschaft Institut für Informationsverarbeitung und Informationswirtschaft

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

Kapitel 4.1 - Abbildung von UML-Modellen auf Code

Kapitel 4.1 - Abbildung von UML-Modellen auf Code SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Mehr

Programmieren - Vererbung & Polymorphie

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

Mehr

Objektorientierung Grundbegriffe

Objektorientierung Grundbegriffe Objektorientierung Grundbegriffe Um Java programmieren zu können, ist es wichtig, einige objektorientierte Grundkenntnisse zu besitzen, denn die Sprache setzt voll auf dem OO-Paradigma auf. 3.1 Klassen

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

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. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

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

Mehr

Veranstaltung. Logistik und Materialfluss (Lagerlogistik), Sommersemester 2013

Veranstaltung. Logistik und Materialfluss (Lagerlogistik), Sommersemester 2013 Veranstaltung Logistik und Materialfluss (Lagerlogistik), Sommersemester 203 Übung 4: Tema: Statisce Losgröße Andler Modell Los (lot) : Menge eines Produktes, die one Unterbrecung gefertigt wird. Losgröße(lotsize):

Mehr

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

Mehr

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Name : Vorname : Matrikelnummer : Hauptfach : Nebenfach/Fachrichtung Hinweise : 1. Überprüfen

Mehr

IDENTIFIKATION DER AEROELASTISCHEN EIGENSCHAFTEN DES MOTORSEGLERS STEMME S15 AN HAND VON FLUGVERSUCHDATEN

IDENTIFIKATION DER AEROELASTISCHEN EIGENSCHAFTEN DES MOTORSEGLERS STEMME S15 AN HAND VON FLUGVERSUCHDATEN Deutscer Luft- und Raumfartkongress 013 DocumentID: 30147 IDENTIFIKATION DER AEROELASTISCHEN EIGENSCHAFTEN DES MOTORSEGLERS STEMME S15 AN HAND VON FLUGVERSUCHDATEN Alexander Köte Tecnisce Universität Berlin,

Mehr

Aufgaben zu den Newtonsche Gesetzen

Aufgaben zu den Newtonsche Gesetzen Aufgaben zu den ewtonce Geetzen. Zwei Maen von = 8 und = ängen an den Enden eine Seil, da über eine fete Rolle it vernacläigbarer Mae gefürt it. a) Wie groß it die Becleunigung de al reibungfrei angenoenen

Mehr

7. Analyse-Phase: Datenmodellierung Software Engineering

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

Mehr

Mechanik 1.Gleichförmige Bewegung 1

Mechanik 1.Gleichförmige Bewegung 1 Mecanik 1.Gleicförige Bewegung 1 1. Geradlinige, gleicförige Bewegung (Bewegung it kontanter Gecwindigkeit) Zeit: 1 Unterricttunde 45 Minuten 2700 Sekunden 1 Sculjar entält etwa 34 Doppeltunden 68 Unterricttunden

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

5.6 Vererbung. Vererbung

5.6 Vererbung. Vererbung 5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug

Mehr

Business Process Model and Notation BPMN

Business Process Model and Notation BPMN Business Process Model and Notation BPMN BPMN ist ein Standard der Object Management Group OMG zur graphischen Notation von Geschäftsprozessen Aktueller Standard: BPMN 2.0 (http://www.omg.org/spec/bpmn/2.0/)

Mehr

Prof. Dr.-Ing. Dagmar Meyer Software Engineering 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG

Prof. Dr.-Ing. Dagmar Meyer Software Engineering 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG Modellierung von Anforderungen mit der UML Unified Modeling Language Komplexe Notationssprache Zweck - Modellierung, Dokumentation, Spezifizierung, Visualisierung

Mehr

Aufgaben und Lösungshinweise zum Lehrbuch

Aufgaben und Lösungshinweise zum Lehrbuch Aufgaben und Lösungshinweise zum Lehrbuch UVK Verlagsgesellschaft mbh 204 Aufgaben zu Kapitel 4 Aufgabe : (Grundlagen von IT-Services) Nennen Sie vier Kriterien, die für die Gebrauchstauglichkeit eines

Mehr

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE CO-MAT-TECH 2004 14-15 October 2004 BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE Roman NAGY External doctorand

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

6. Zustandsorientierte Modellierung

6. Zustandsorientierte Modellierung bertram.hafner@t-online.de Informatik 11 Seite 25 6. Zustandsorientierte Modellierung Im Alltag benutzen wir vielfältige Automaten: denke an Getränkeautomat, Ampelanlage, Kaffeeautomat, Waschmaschine,

Mehr

Einführung in das Entity-Relationship-Modell

Einführung in das Entity-Relationship-Modell Einführung in das Entity-Relationship-Modell Historie Entity-Relationship-Modell kurz: ER-Modell bzw. ERM 1976 von Peter Chen vorgeschlagen Standardmodell für frühe Entwurfsphasen in der Datenbankentwicklung

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Programmierung von Steuerungen künftig objektorientiert?

Programmierung von Steuerungen künftig objektorientiert? 1 Programmierung von Steuerungen künftig objektorientiert? R. Hungerbühler, Dozent BFH R. Hungerbühler Dozent Automation BFH 2 Sichten auf Fragestellung Wissenstand Mitarbeiter /Ausbildung Entwickler,

Mehr

State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch

State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch State Event Modellierung State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch http://www.zhaw.ch/~tham 1 ZHAW, CT2 FS14, M. Thaler Systembus CT2 Anschluss von Input/Output

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Klassenattribute und -methoden, Vererbung

Klassenattribute und -methoden, Vererbung Klassenattribute und -methoden, Vererbung Michael Dienert 27. März 2002 1 Prüfungsaufgabe Anwendungsentwicklung Winter 2001 Die folgende Aufgabe stammt aus der Abschlussprüfung für Fachinformatiker Anwendungsentwicklung

Mehr

Java II. Lernsituationen. Kompetenzorientierte Unterrichtsmaterialien zur Vertiefung der Objektorientierung

Java II. Lernsituationen. Kompetenzorientierte Unterrichtsmaterialien zur Vertiefung der Objektorientierung 1 1.1 Wiederholung: Klassendiagramme in der UML Thorsten Schwandt Lernsituationen Java II Kompetenzorientierte Unterrichtsmaterialien zur Vertiefung der Objektorientierung 1. Auflage, 2014 ISBN: 978-3-7357-6226-9

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

Softwaretechnik für den Entwurf

Softwaretechnik 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

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Together - Integrierte SWE und QA 1. Flugbuchungssystem

Together - Integrierte SWE und QA 1. Flugbuchungssystem Together - Integrierte SWE und QA 1 Flugbuchungssystem Aufgabe 1: Use Case Diagramm Um die Anforderungen des fiktiven Kunden Airwings zu erfassen, sollen Use Case Diagramme verwendet werden. Im informellen

Mehr

Einführung in die Unified Modeling Language (UML)

Einführung in die Unified Modeling Language (UML) Einführung in die Unified Modeling Language (UML) Hausarbeit zum Proseminar Datenbanken Wintersemester 2002/03 Seminarleitung: Dr. Christoph Draxler Verfasserin: Michaela Geierhos Centrum für Informations-

Mehr

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage Inhalt 1. Sprachspezifische Fehlerrisiken C++ Java Smalltalk 2. Coverage - Modelle Statement Coverage Branch Coverage Inkrementelles Testen von Klassen Testen Polymorpher Bindungen Optimistischer Ausblick

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

Methodische Entwicklung

Methodische Entwicklung Methodische Entwicklung sicherer CORBA-Anwendungen Jan Jürjens Software & Systems Engineering Informatik, TU München juerjens@in.tum.de http://www.jurjens.de/jan Jan Jürjens, TU München: Entwicklung sicherer

Mehr

www.osram.de LED Leuchten Dragonpoint Die anschlussfertigen Beleuchtungslösungen von OSRAM.

www.osram.de LED Leuchten Dragonpoint Die anschlussfertigen Beleuchtungslösungen von OSRAM. www.osram.de LED Leucten Dragonpoint und DRAGONSPOT Die ansclussfertigen Beleuctungslösungen von OSRAM. Einleitung Ein perfektes Zusammenspiel. Möcten Sie Ire Einrictung oder Ire Akzent-Beleuctung gezielt

Mehr