Analyse und Modellierung von Informationssystemen

Ähnliche Dokumente
Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen

UML (Unified Modelling Language) von Christian Bartl

Vorlesung Programmieren

Die Unified Modeling Language UML

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

Vorlesung Programmieren

Requirements Engineering I

NACHRICHTENTECHNISCHER SYSTEME

Analyse und Design mit U ML 2.3

Objektorientierte Softwareentwicklung

Klassendiagramm. (class diagram)

Analyse und Design mituml2.1

Das UML Benutzerhandbuch

Analyse und Design mituml2

Unified Modeling Language 2

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

Das UML Benutzerhandbuch

Unified Modeling Language

Unified Modeling Language (UML )

Exkurs 1: Hintergrund zu Java und UML

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

Von UML 1.x nach UML 2.0

Einführung in die objektorientierte Programmierung

UML -Klassendiagramme

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Requirements Engineering I

Gliederung des Vortrages

Unified Modeling Language (UML)

Comelio GmbH - Goethestr Berlin. Course Catalog

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

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

J.2 Objektorientiertes Modellieren mit UML

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

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Oracle JDeveloper 10 g

Einführung. Einführung

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Objektorientierte Modellierung mit UML

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

UML 2.0 Das umfassende Handbuch

Software-Engineering

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML konzentriert. Eine kompakte Einführung in die Standard-Objektmodellierungssprache. Martin Fowler. ADDISON-WESLEY An imprint of Pearson Education

Requirements Engineering I

INSPIRE - Modellierung

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Tamagotchi-Spezifikation in UML

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Fachspezifisches Seminar 2005 Schriftliche Ausarbeitung des Vortrags. Borland Together. vom

Das umfassende Handbuch

3. Objektorientierte Analyse

Teil VIII. Objektorientierte Programmierung

Rückblick: Entity-Relationship-Modell

7. Objektorientierung. Informatik II für Verkehrsingenieure

Software-Engineering

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Objektorientiertes Design

Statt einer Zusammenfassung

Vgl. Oestereich Kap 2.4 Seiten

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Design Richtlinien

Objektorientierte Softwareentwicklung

Teil VI. Objektorientierte Programmierung

Die Unified Modeling Language (UML)

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

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

Softwarearchitektur, UML, Design Patterns und Unit Tests

UML. Unified Modeling Language. Prof. Mario Jeckle. Fachhochschule Furtwangen

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

Übersicht. Softwarearchitektur. Softwarearchitektur, UML, Design Patterns und Unit Tests. Softwarearchitektur

27. Oktober 2005 Florian Marwede

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Inhaltsverzeichnis.

Speech Therapy Aphasia Rehabilitation Star Workbook III: Expressive Language By Amanda P Anderson

Objektorientierte Analyse (OOA) Strukturmodellierung

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Einführung in die Programmierung

Konzept und Umsetzung

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Softwaretechnik 2015/2016

Methoden und Architekturen der Softwaretechnik

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Vorlesung Software-Engineering I

Einführung in die Informatik

Algorithmen und Datenstrukturen 06

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

Einführung in die Unified Modeling Language (UML)

Harald Störrle UML 2 für Studenten

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

UML. Weiteres Vorgehen im Projekt

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

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

Modellierung von Web Anwendungen mit UML

Die Unified Modelling Language (UML) Version 2 - Stichworte

Kurzeinführung in UML

Transkript:

Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches Die UML (Unified Modeling Language) ist ein grafisches Notations-Schema, das mittlerweile im objektorientierten Software-Design (und nicht nur dort) weit verbreitet ist. Exakter: Die UML beschreibt ein System (daher auch Language), dieses Modell wird durch verschiedene Diagramm-Arten repräsentiert. Hierbei wird im Wesentlichen zwischen zwei Arten von Diagrammen unterschieden: Strukturdiagramme, die (weitgehend statisch) die Architektur des Systems beschreiben, dies sind insbesondere Klassen- und Objektdiagramme, Verhaltensdiagramme, z. B. Aktivitäts-, Kommunikationsund Zustandsdiagramme. 3 / 18 Handout S. 1

Initiatoren der UML Die UML und insbesondere die Vorgängerprojekte gehen zurück auf die Three Amigos: James Rumbaugh, Pionier in Object-Modeling Technique (OMT) Grady Booch, Pionier in Object-Oriented Design (OOD) Ivar Jacobson, Pionier in Object-Oriented Software Engineering (OOSE) weitgehend bezahlt durch die Firma Rational Software Corporation, mittlerweile Teil von IBM. 4 / 18 Geschichte der UML ab 1994 Vorläuferarbeiten durch die drei Amigos, schließlich eingereicht bei der Object Management Group (OMG). UML Version 1.1 wurde 1997 offiziell als OMG-Standard freigegeben. seit 2005 ist UML 2.x der offizielle OMG-Standard, aktuell seit 2011 Version 2.4.1. Die Anerkennung von UML 2.5 ist in progress, offizielles Release wird im Laufe des Jahres 2013 erwartet. Mittlerweile ist UML auch ein ISO-Standard. 5 / 18 Diagrammtypen Strukturdiagramm Klassendiagramm Komponentendiagramm Kompositionsstruktur Verteilungsdiagramm Objektdiagramm Paketdiagramm Profildiagramm Verhaltensdiagramm Aktivitätsdiagramm Kommunikationsdiagramm Interaktionsübersicht Sequenzdiagramm Zustandsdiagramm Zeitdiagramm Anwendungsfalldiagr. 6 / 18 Handout S. 2

Schaubild der Diagrammtypen 7 / 18 Klassendiagramme Eine Klasse wird durch ein Rechteck dargestellt (bei parametrisierten Klassen mit Angabe des Platzhalters für den parametrisierten Typ oben rechts). Dann werden, durch horizontale Linie getrennt, Attribute und Methoden der Klasse angegeben. Bei Attributen wird der Name und Typ, optional Initialwert und Bedingungen (constraints) angegeben, bei Methoden neben dem Namen der Methode die Liste der Parameter und der Typ des Rückgabewertes. Abstrakte Klassen und Methoden werden kursiv dargestellt, ggfs. (insbesondere bei Handschrift) noch explizit als {abstrakt} markiert. So genannte «Stereotype» kennzeichnen Interfaces, aber ggfs. zur Verdeutlichung z. B. Control- oder Entity-Klassen. 8 / 18 Notation der Sichtbarkeit Notation -attr #attr ~attr +attr attr /attr Bedeutung privat protected package öffentlich statisch abgeleites Attribut Die gleichen Notationen (außer abgeleitet) gelten auch für Methoden. 9 / 18 Handout S. 3

Beispiel 10 / 18 Analyse Das UML-Diagramm stellt zwei Interfaces dar, wobei das eine das andere erweitert. Die Klasse FahrzeugBasis implementiert ein Interface, ist aber abstrakt. Es dürfen also keine Instanzen der Klasse gebildet werden. Die konkreten Klassen Lkw und Bus sind konkrete Klassen, die jeweils eines der beiden Interfaces implementieren und von der abstrakten Klasse erben. 11 / 18 Praxis-Beispiel: Java-Collections, parametrisiert 12 / 18 Handout S. 4

Assoziationen Ein Klassendiagramm kann auch Assoziationen zwischen Klassen darstellen. Hierbei wird unterschieden zwischen Assoziationen vom Typ: 1:n, bei denen jeweils ein Objekt der ersten Klasse mit n Objekten der zweiten Klasse assoziiert sein kann. n:1 für die Gegenrichtung. m:n in einem Fall, wo jeweils ein Objekt der ersten Klasse mit verschiedenen Objekten der zweiten, in Gegenrichtung aber ebenfalls jedes Objekt der zweiten mit verschiednen Objekten der ersten Klasse assoziiert sein darf. 13 / 18 Beispiel Unter Unix/Linux kann ein User einer oder mehr Gruppen angehören, in jeder Gruppe können sich beliebig viele (auch kein) User befinden. 14 / 18 Aggregation Ein Sonderfall einer Assoziation ist die Aggregation, in der die Hauptgestalt eines Objekt durch die Objekte ausgemacht wird, die mit ihm assoziiert sind. Beispiel: Die Eigenschaften eines Elektronikrahmen mit Einschüben für Einsteckkarten wird im Wesentlichen dadurch bestimmt, welche Einsteckkarten in ihm verbaut sind. Die Einsteckkarten sind jedoch von dem Einsteckrahmen unabhängig, eine Einsteckkarte kann sich also auch uneingebaut im Lager befinden und auf den Einbau warten. 15 / 18 Handout S. 5

Diagramm Die Aggregation wird mit einer offenen Raute in der UML-Notation dargestellt. 16 / 18 Komposition Die Komposition unterscheidet von der Aggregation dadurch, dass die assozierten Objekte von dem Objekt abhängen, also ohne dieses nicht lebensfähig sind. Beispiel: Eine Rechnung besteht aus einem oder mehr Rechnungspositionen. Die Positionen sind ohne die Rechnung, zu der sie gehören, sinnlos. Wird also z. B. eine Rechnung nach Ablauf der buchhalterischen Aufbewahrungsfrist aus der Datenbank gelöscht, so werden auch die zugehörigen Rechnungspositionen entfernt. Bei Datenbanken wird dies i. A. als Kaskadierung bezeichnet. 17 / 18 Diagramm Die Komposition wird mit einer gefüllten Raute in der UML-Notation dargestellt. 18 / 18 Handout S. 6