80/1RWDWLRQXQG6HPDQWLN. Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik

Ähnliche Dokumente
Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

UML (Unified Modelling Language) von Christian Bartl

NACHRICHTENTECHNISCHER SYSTEME

INSPIRE - Modellierung

Analyse und Modellierung von Informationssystemen

Oracle JDeveloper 10 g

Das UML Benutzerhandbuch

Vorlesung Programmieren

Unified Modeling Language (UML )

Java Einführung Objektorientierte Grundkonzepte

Systemmodellierung mit SysML - Stereotypen und Profile

Struktur der UML-Spezifikationen

Objektorientierte Analyse (OOA) Strukturmodellierung

Einführung in die Programmierung

1.3 Entwicklungsmethoden: Systematischer Überblick

Das UML Benutzerhandbuch

3. Objektorientierte Analyse

Analyse und Entwurf von Softwaresystemen mit der UML

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Einführung. Einführung

V-Modell mit UML. Max Kleiner

Kurzeinführung in UML

UML -Klassendiagramme

Vorlesung Informationssysteme

Software- und Systementwicklung

Die Unified Modeling Language UML

Requirements Engineering I

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

DB-Entwurf und Modellierung Entity-Relationship-Modell (ERM) Erweiterungen des ERM UML. Grundlagen. Klassifikation von Datenabbildungen Beispiele

RUP Analyse und Design: Überblick

Abschnitt 15: Unified Modeling Language (UML)

Artefakte, Linktypen und Besonderheiten von OOSE/RUP

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Requirements Engineering I

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

1.3 Entwicklungsmethoden: Systematischer Überblick

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Requirements Engineering I

Unified Modeling Language 2

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Analyse und Modellierung von Informationssystemen

Analyse und Design mituml2

Modellierung CORBA-basierter Anwendungssysteme mit der UML

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Die Unified Modeling Language (UML)

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Probeklausur 2. Name: Vorname: Matrikelnr.: Datum:

UML mit Enterprise Architect

Rückblick: Entity-Relationship-Modell

Common Warehouse Metamodel und Imperfektion

Analyse und Design mit U ML 2.3

Gliederung des Vortrages

Übungen Softwaretechnik I

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Einführung Propra Softwareentwicklung im 21. Jahrhundert. Jörg Niere Raum H-C 8304 Tel: 0271/

Informatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Vorlesung "Software-Engineering"

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Die abstrakte Syntax der Unified Modeling Language

HdM-Stuttgart, FB1, MI Probeklausur 1, Informatik 4 Prof. Dr. Edmund Ihler. Fachhochschule Stuttgart Hochschule der Medien.

MODELLIERUNG UND SPEZIFIKATION

Kapitel 2 - Die Definitionsphase

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

Vorlesung Programmieren

Analyse und Design mituml2.1

Kapitel

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Objektorientierte Softwareentwicklung

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

MDA-Praktikum, Einführung

Comelio GmbH - Goethestr Berlin. Course Catalog

Algorithmen und Datenstrukturen 06

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

Übung Einführung in die Softwaretechnik

Comelio GmbH - Goethestr Berlin. Kurskatalog

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Techniken der Projektentwicklung

Vorgehensmodell für Analyse, Entwurf und Realisierung & Objektorientierte Modellierung mit UML

Objektorientierte Systementwicklung

Softwaretechnik Model Driven Architecture Metamodellierung

HdM-Stuttgart, FB1, MI Probeklausur 1, Informatik 4 Prof. Dr. Edmund Ihler. Fachhochschule Stuttgart Hochschule der Medien.

Geoinformation I Datenmodellierung

Softwarearchitektur, UML, Design Patterns und Unit Tests

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Modellbasierte Softwareentwicklung mit Sicherheitseigenschaften und UMLsec

Exkurs 1: Hintergrund zu Java und UML

Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben?

Objektorientierte Modellierung

Auf dem Weg zur Semantikdefinition? Das UML-Metamodell (für Klassendiagramme)

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Transkript:

80/1RWDWLRQXQG6HPDQWLN Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik

Historie von UML UML Notation *OLHGHUXQJ General Concepts Static Structure Diagrams Use Case Diagrams Sequence Diagrams Collaboration Diagrams Statechart Diagrams Activity Diagrams Implementation Diagrams UML Semantik Entwurf mit UML

(LQI KUXQJ UML = Unified Modeling Language UML ist Standardsprache für Visualisierung, Spezifikation, Konstruktion und Dokumentation komplexer Softwaresysteme. UML ist prozeß- und technologieunabhängig und im gesamten Entwicklungszyklus einsetzbar. UML kombiniert Konzepte aus Objektorientierter Modellierung Datenmodellierung (Entity Relationship Diagrams) Business-Modellierung (work flow) Component Modeling

+LVWRULHYRQ80/ OMG Rational 1996: UML 0.9 1995: UM 0.8 1997: UML 1.0 1997: UML 1.1 1999: UML 1.4? 1997: OMG UML 1.0 1994-95: UM 0.7 IBM, Oracle, Microsoft Booch Jacobson OMT/Rumbaugh

80/ ist eine Notation/Sprache, keine Methode, abstrahiert von Architektur, Technik, Prozeß, standardisiert visuelle Darstellung, Semantik, Begriffswelt, führt Ideen der bisherigen Techniken zusammen.

(LQVDW]YRQ80/ Hilft Nutzern und Entwicklern bei der Kommunikation. Bietet Nachvollziehbarkeit vom initialen Businessmodell bis zum fertigen System (traceability). Zentrales Repository für Wissen und Erfahrungen. Verbesserung der gesamten Softwarequalität. Langfristige Kostenreduzierung. Flexibilität für schnelle technische und geschäftliche Änderungen. Große und komplexe Softwaresysteme erfordern sorgfältiges Design.

80/.RQ]HSWH UML wird genutzt zur: Darstellung der Grenzen eines Systems sowie seiner wichtigsten Funktionen, use cases and actors, Beschreibung der use-case Realisierung, interaction diagrams, Repräsentation der statischen Struktur des Systems, class diagrams, Modellierung des Objektverhaltens, state transition diagrams, Angabe der physischen Implementationsarchitektur, component & deployment diagrams.

80/'HILQLWLRQ UML-Standard-Dokumente (OMG, Rational) UML Summary UML Notation Guide UML Semantics UML Extensions for Business Modeling UML Extensions for Objectory Process for Software Engineering Object Constraint Language Specification

*HQHUDO&RQFHSWV Kommentare, Annotationen Dies ist ein Kommentar Dies ist eine Annotation Packages, Subsysteme PackageB PackageC PackageA PackageD

Constraints Einschränkungen an ein oder mehrere Modellelemente Angabe als Einfacher Text oder formal möglich Notation { constraint } ClassA {singleton} {or }

Properties Werte für Attribute von Meta-Modellelementen oder für Tagged Values Notation { keyword = value } Beispiel {status = analysis, author = Mike Müller } {abstract = true} auch {abstract}

Stereotypen Erweiterungen des Metamodells im Modell Subklasse eines existierenden Meta-Modellelements Zusätzliche Einschränkungen oder anderer Anwendungszweck Vordefinierte Stereotypes Notation «stereotype name» Beispiel «interface» Accesspoint

Class Aus dem Meta-Modell «stereotype» Interface {self.attributes->isempty} Definition eines Stereotypes

6WDWLF6WUXFWXUH'LDJUDPV Klassen- und Objektdiagramme Klassen, Interfaces, Packages, Relationen Instanzen, Objekte, Datenwerte Classifier Elements Klassen-/Objektdefinition Relationen Assoziationen Aggregationen Abhängigkeiten Generalisierung

6WDWLF6WUXFWXUH'LDJUDP Name Rechnung preis:integer drucken() stornieren() Atribute Operationen Bestellung drucken() Ware

Ware PC:Ware Instanz Stereotypen Abstrakte Klasse «interface» Ware Ware Ware {abstract} Rechnung +preis:integer #kosten: Integer -gewinn:integer create() public protected private

6WDWLF6WUXFWXUH'LDJUDP Relationen dienen zur Kommunikation zwischen Objekten. UML hat 5 Arten von Relationen: Assoziationen sind bi-direktionale Verbindungen zwischen Klassen, Aggregationen sind eine strengere Relation zwischen Teilen und einem Ganzen, Abhängigkeiten sind schwächere Relationen zwischen Klient und Diensterbringer, in denen der Klient kein semantisches Wissen über den Diensterbringer hat Generalisierung, Realisierung.

Assoziation Aggregation Abhängigkeit Generalisierung Realisierung

6WDWLF6WUXFWXUH'LDJUDP Lieferung Rechnung Produkt Ware Kostet Preis

6WDWLF6WUXFWXUH'LDJUDP Multiplizität gibt an, wieviel Objekte an der Relation beteiligt sind. Navigierbarkeit beschränkt den bi-direktionalen Charakter von Relationen. Qualifikatoren dienen zur Bestimmung einzelner Objekte in n-zu-m Relationen. Constraints beschränken den Gültigkeitsbereich von Relationen. Rollennamen beschreiben die Endpunkte der Relation. Leserichtung, Sichtbarkeit.

6WDWLF6WUXFWXUH'LDJUDP Lieferung Rechnung ArtNr Produkt * Umfaßt Ware * Kostet 1 Preis * Erbringt 2

Objektdiagramm 6WDWLF6WUXFWXUH'LDJUDP Ware name:string artnr:integer * * Kostet 1 Erbringt Preis wert:integer steuer:integer 2 PC:Ware name= Compaq artnr=0815 Einkauf:Preis wert=999 steuer=16 Standard:Preis wert=2000 steuer=16 Angebot:Preis wert=1500 steuer=16

6WDWLF6WUXFWXUH'LDJUDP Interfaces und Relationen «interface» If1 «uses» ClassA ClassA op1() ClassB If1 ClassB

Firma +arbeitgeber Job +arbeitnehmer * 1..* Person Job gehalt boss 0..1 mitarbeiter * Leitet

Hotel Kunde Transport Urlaub

Window 1..n 1 1 workarea control border TextFeld Rahmen Buttons Window workarea:textfeld border:rahmen 1 1 Window workarea:textfeld border:rahmen control[1..n] :Buttons control:buttons 1..n

6WDWLF6WUXFWXUH'LDJUDP Vererbung ist eine Relation zwischen einer Superklasse und ihren Subklassen. Zwei Mechanismen: Generalisierung, Spezialisierung. Gemeinsame Attribute, Operationen und Relationen werden auf dem höchsten anwendbaren Hierarchieniveau gezeigt.

6WDWLF6WUXFWXUH'LDJUDP Antriebsart Fahrzeug {abstract} Antriebsart {overlapping} Auto Boot Fahrzeug

Diskriminator beschreibt Art der Generalisierung Vordefinierte Constraints overlapping disjoint complete incomplete

ClassA ClassA ClassA ClassA... {overlapping,incomplete} antriebsart Fahrzeug ort {overlapping} Körperlich betriebenes Fahrzeug Motorbetriebenes Fahrzeug Landfahrzeug Wasserfahrzeug Fahrrad Motorboot Ruderboot

Dependencies trace refine uses bind «calls» ClassA «friend» ClassB «instantiates» calls instantiates friend import ClassC

Content,n:Integer Array n Content «bind» (Person, 100) Array<Person,10> Adressbuch

Weitere Stereotypes für Klasseen utility type implementation class