+ All Categories
Home > Documents > FH-Prof. Christian V. Madritsch Systems Engineering Informatik und Programmieren 3...

FH-Prof. Christian V. Madritsch Systems Engineering Informatik und Programmieren 3...

Date post: 06-Apr-2015
Category:
Upload: rannulf-streufert
View: 104 times
Download: 0 times
Share this document with a friend
Popular Tags:
18
FH-Prof. Christian V. Madritsch Systems Engineering www.cti.ac.at/rts Informatik und Informatik und Programmieren 3 Programmieren 3 Objektorientierte Programmierung und UML
Transcript
Page 1: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

FH-Prof. Christian V. Madritsch

Systems Engineering

www.cti.ac.at/rts

Informatik und Informatik und Programmieren 3Programmieren 3

Objektorientierte Programmierung und UML

Page 2: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 2 [email protected]

Copyright NoticeCopyright Notice

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of the author except for student usage.

Copyright © 2008 by Christian V. Madritsch Co-Copyright © 2008 by Andreas Sucher

Titelbild: Tron, 1982, Buena Vista Pictures

Page 3: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 3 [email protected]

Unified Modeling Language - UMLUnified Modeling Language - UML

Die UML ist ein standardisiertes System, das die besten Analyse- und Entwurfsmethoden der Software-Entwicklung zusammenfasst.

Die UML ist eine Standardsprache mit grafischer Notation zur Visualisierung, Spezifikation, Konstruktion und Dokumentation von Software-Modellierung.

Jim Rumbaugh, Grady Booch und Ivar Jacobson entwickelten um 1995 gemeinsam bei Rational Software Corp. die UML. Heute im Besitz von IBM

Page 4: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 4 [email protected]

DiagrammartenDiagrammarten

Die UML unterstützt unterschiedliche Diagrammarten, welche die unterschiedlichen Aspekte der Software-Modellierung ausdrücken. Anwendungsdiagramme Aktivitätsdiagramme Klassen-/Objektdiagramme Interaktionsdiagramme

Sequenzdiagramme Kollaborationsdiagramme

Zustandsdiagramme Komponentendiagramm Verteilungsdiagramme

Page 5: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 5 [email protected]

Anwendungsdiagramme Anwendungsdiagramme (Use Case Diagram)(Use Case Diagram)

Ein Use Case beschreibt die Funktionalität des Softwaresystems, die ein Benutzer des Systems (Akteur) ausführen muss, um ein gewünschtes Ergebnis zu erhalten oder ein bestimmtes Ziel zu erreichen.

Das Anwendungsdiagramm beschreibt die Beziehung zwischen Akteuren und Use Cases.

Page 6: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 6 [email protected]

Aktivitätsdiagramm Aktivitätsdiagramm (Activity Diagram)(Activity Diagram)

Das Aktivitätsdiagramm ist ein Ablaufdiagramm, mit dem die einzelnen Schritte eines Arbeitsablaufs anschaulich modelliert werden können.

Page 7: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 7 [email protected]

Klassen-/ObjektdiagrammeKlassen-/Objektdiagramme

Klassendiagramme beschreiben Klassen und deren statische Beziehungen untereinander. Vererbungsbeziehung Assoziationsbeziehung

Benutzung Aggregationsbeziehung

Enthalten sein Kompositionsbeziehung

Enthalten sein

Abhängigkeitsbeziehung

Page 8: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 8 [email protected]

VererbungsbeziehungVererbungsbeziehung

Vespa ist von Motorrad abgeleitet

Page 9: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 9 [email protected]

Assoziationsbeziehung (i)Assoziationsbeziehung (i)

Die Vespa benutzt einen Motor, ...

Page 10: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 10 [email protected]

Assoziationsbeziehung (ii)Assoziationsbeziehung (ii)

A B

Bidirektionale AssoziationA und B sind assoziiert

gerichtete AssoziationA beinhaltet B

KardinalitätA beinhaltet 1 bis N B

1..*

Kardinalität: 0..*, 1..*, 0..2, *, 1, ...

1

Rollenname A Rollenname BAssoziationsname

Page 11: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 11 [email protected]

AggregationsbeziehungAggregationsbeziehung

Aggregation ist gleichzusetzen mit Assoziation by reference

A B

1..*

A beinhaltet 1 bis N B

Page 12: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 12 [email protected]

KompositionsbeziehungKompositionsbeziehung

Der Teil kann ohne das Ganze nicht existieren by value

A B

1..*

A beinhaltet 1 bis N B

Der Motor einer Vespa kann nichtgleichzeitig in einer anderen Vespa sein

Page 13: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 13 [email protected]

Sequenzdiagramm Sequenzdiagramm (Sequenze Diagram)(Sequenze Diagram)

Das Sequenzdiagramm zeigt, wie Objekte miteinander komm-unizieren, um eine bestimmte Aufgabe zu erfüllen.

Im Gegensatz zum Kollabora-tionsdiagramm steht hier der zeitliche Aspekt im Vordergrund.

Page 14: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 14 [email protected]

Kollaborationsdiagramm Kollaborationsdiagramm (Collaboration Diagram)(Collaboration Diagram)

Wie Sequenzdiagramm, allerdings liegt die Betonung auf den Beziehungen zwischen den Objekten und ihrer Topologie. Wer mit wem?

Page 15: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 15 [email protected]

Zustandsdiagramm Zustandsdiagramm (State Diagram)(State Diagram)

Zustandsdiagramme dienen der dynamischen Beschreibung eines Systems mittels Automaten

Page 16: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 16 [email protected]

Komponentendiagramm Komponentendiagramm (Component Diagram)(Component Diagram)

Komponentendiagramme zeigen den physischen oder logischen Aufbau eines Systems. Dateien, Bibliotheken, DLLs, ...

Page 17: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 17 [email protected]

Verteilungsdiagramm Verteilungsdiagramm (Deployment Diagram)(Deployment Diagram)

Diagramm, das die Konfiguration der verarbeitenden Knoten und der auf ihnen eingesetzten Komponenten zeigt.

Page 18: FH-Prof. Christian V. Madritsch Systems Engineering  Informatik und Programmieren 3 Objektorientierte Programmierung und UML.

11.04.23 18 [email protected]

UML ToolsUML Tools

Es gibt eine Menge kommerzieller und auch freier UML Tools.

Einen guten Überblick bietet der Link: www.jeckle.de/umltools

Ein freies Tool gibt es unter: http://astade.tigris.org

Einige UML Tools haben einen Codegenerator eingebaut, der aus dem Klassendiagramm Sourcecode für Java, C++ oder C# erzeugen kann.


Recommended