Software-Architektur-Modellierung mit UML



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

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

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

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

Vorlesung Programmieren

UML (Unified Modelling Language) von Christian Bartl

Requirements Engineering I

Software Engineering in der Praxis

Unified Modeling Language (UML)

Softwareentwicklungspraktikum Sommersemester Grobentwurf

NACHRICHTENTECHNISCHER SYSTEME

Klassendiagramm. (class diagram)

Software Engineering in der Praxis

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Die neun Leiden des (jungen) UML-Anwenders

UML 2 glasklar Praxiswissen für die UML-Modellierung

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

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

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

UML 2 Tutorial: Einführung in die neue Standardmodellierungssprache

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

Software Engineering Interaktionsdiagramme

Softwaretechnik SS 2006

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

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

Software-Engineering SS03. Zustandsautomat

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

Software Engineering

UML 2 Ballast oder Befreiung?

Das UML Benutzerhandbuch

Die Unified Modeling Language (UML)

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Die Unified Modeling Language UML

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Gliederung des Vortrages

UML 2.0 Das umfassende Handbuch

Analyse und Modellierung von Informationssystemen

Unified Modeling Language

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Vgl. Oestereich Kap 2.7 Seiten

Vorlesung "Software-Engineering"

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Requirements Engineering I

Workflow, Business Process Management, 4.Teil

SEQUENZDIAGRAMM. Christoph Süsens

Grundlagen der Softwaretechnik

SEA. Modellgetriebene Softwareentwicklung in der BA

Vorlesung Programmieren

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

INSPIRE - Modellierung

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Unified Modeling Language (UML )

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

RUP Analyse und Design: Überblick

How-to: Webserver NAT. Securepoint Security System Version 2007nx

SysML Die Zukunft des Systems Engineering?

Unified Modeling Language 2

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das umfassende Handbuch

Software-Engineering

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Motivation. Motivation

Use Cases. Use Cases

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

Jochen Bauer

Von UML 1.x nach UML 2.0

Das UML Benutzerhandbuch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Grundlagen Software Engineering

Software-Engineering

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Comelio GmbH - Goethestr Berlin. Course Catalog

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Software Engineering I

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Unternehmensmodellierung

Einführung in die Programmierung für NF

Allgemeines zu Datenbanken

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Willkommen zur Vorlesung Modellbasierte Softwaretechniken für sichere Systeme im Sommersemester 2012 Prof. Dr. Jan Jürjens

Systemdenken und Gestaltungsmethodik System-Modellierung

RMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

Produktskizze. 28. November 2005 Projektgruppe Syspect

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Objektorientierte Softwareentwicklung

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Analyse und Modellierung von Informationssystemen

4. AuD Tafelübung T-C3

Orientierte Modellierung mit der Unified Modeling Language

Benutzerhandbuch - Elterliche Kontrolle

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

Übungen zu Softwaretechnik

Objektorientierte Modellierung mit UML

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Transkript:

Software-Architektur-Modellierung mit UML Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. GI Arbeitskreis Software-Architekturen, Oldenburg, 2004-02-11

Vert.- Diagramm Komm.- Diagramm Modellierung mit Komp.- Struktur-D. Historie UML(2) UML 2 Neuerungen Arch.- Mod. Erweiterbark. Schnitte Software-Architektur- Diagramme Arch.- Prinzipien Wiederverw. 3

OML Firesmith, Henderson- Sellers, Page-Jones; 1998 UML Historie Unified Method Booch, Rumbaugh; 1995 Unified Modeling Language v1.0 Booch, Jacobson, Rumbaugh; 1997 Catalysis D Souza, Willes; 1996 MOSES Henderson-Sellers; 1994 SOMA Graham; 1994 Fusion Coleman, et al.; 1994 OBA Rubin; 1992 BON Nerson; 1992 OOA Coad, Yourdan; 1991 OOA&D Martin, Odell; 1992 OOD Booch; 1992 OMT Rumbaugh, et al.; 1991 OOSE Jacobson; 1992 OSA Embley; 1991 OOAD&I Henderson-Sellers, Macrone; 1992 OOSA Shlear, Mellor; 1991 SCOOP Cherry; 1990 HOOD ESA; 1990 OBA Bailin; 1989 RDD Wirfs-Brock; 1990 State Charts Harel; 1987 4

Erweiterung Breiteneinsatz Standardisierung... UML Historie und Entwicklung Erfahrungen der Anwender Object Management Group übernimmt Copyright XML Metadata Interchange OMG Unified Modeling Language 2.0 UML 2 Partners; 2003+ OMG Unified Modeling Language 1.5 UML Partners; 2003 OMG Unified Modeling Language 1.4 UML Partners; 2001 OMG Unified Modeling Language 1.3 UML Partners; 1999 ( OMG Unified Modeling Language 1.2 ) UML Partners; 1998 Unified Modeling Language 1.1 UML Partners; 9/1997 UML- Anwender UML- Anwender 100.. 1..1000 50.. 1..100 UML- Entwickler UML- Entwickler Vereinheitlichung Integration der Object Constraint Language Einsatzerfahrung der Sprachschöpfer Unified Modeling Language 1.0 UML Partners 1/1997 Unified Modeling Language 0.9, 0.91 Booch, Rumbaugh, Jacobson; 1996 Unified Method 0.8 Booch, Rumbaugh 1995 OOSE Jacobson; 1992 UML- Anwender 1..... 3.. UML- Entwickler 5

UML 2 Warum eine neue Version? Evolution Der Markt hat sich bewegt... Neue Programmiersprachen (z.b. C#, Python, PHP) Neue Anwendungsdomänen (z.b. Serverprogrammierung, Echtzeitanwendungen, Architekturmodellierung) Erfahrung Für einige Einsatzgebiete bietet UML v1.x... Manchmal zu wenig Konstrukte Manchmal zu viele Machmal so viele, dass die sinnvolle Auswahl schwerfällt Eliminierung Einige Programmiersprachen verschwinden (z. B. C++) Einige früher als modellierungsnah eingestufte Konzepte entwickeln sich inzwischen getrennt von UML weiter (z. B. Entwicklungsprozesse, Codegenerierung) 6

Ziele der UML 2 Übersichtlichkeit Weniger graphische Modellkonstrukte Weniger Basiskonzepte Wiederverwendung von Basiskonzepten Präzisionssteigerung Reformulierung des Meta-Modells Weitestgehende OCL-Verwendung Unveränderte Wiederverwendung von Basiskonstrukten soweit sinnvoll möglich Ausführbarkeit Erweiterte Zustandsmaschinen Stärkere Beziehungen zwischen statischen und dynamischen Diagrammen Integration erprobter Konzepte außerhalb der UML 7

Strukturdiagramme Klassendiagramm Paketdiagramm Objektdiagramm Kompositionsstrukturdiagramm Komponentendiagramm UML 2 -- Neuerungen Verhaltensmodellierung Use-Case-Diagramm Aktivitätsdiagramm Zustandsautomat Sequenzdiagramm Kommunikationsdiagramm Nur marginale Änderungen Klassendiagramm Use-Case-Diagramm Objektdiagramm Klein(-e Änderungen) aber oho: Paketdiagramm Verteilungsdiagramm Massiv und tiefgreifend verändert: Aktivitätsdiagramm Sequenzdiagramm Zustandsautomat Verteilungsdiagramm Timing-Diagramm Interaktionsübersichtsdiagramm Vollständig neu: Kompositionsstrukturdiagramm Interaktionsübersichtsdiagramm Timing-Diagramm Kommunikationsdiagramm 8

Strukturdiagramme Klassendiagramm Paketdiagramm Objektdiagramm Kompositionsstrukturdiagramm Komponentendiagramm UML 2 -- Neuerungen Verhaltensmodellierung Use-Case-Diagramm Aktivitätsdiagramm Zustandsautomat Sequenzdiagramm Kommunikationsdiagramm Nur marginale Änderungen Klassendiagramm Use-Case-Diagramm Objektdiagramm Klein(-e Änderungen) aber oho: Paketdiagramm Verteilungsdiagramm Massiv und tiefgreifend verändert: Aktivitätsdiagramm Sequenzdiagramm Zustandsautomat Verteilungsdiagramm Timing-Diagramm Interaktionsübersichtsdiagramm Vollständig neu: Kompositionsstrukturdiagramm Interaktionsübersichtsdiagramm Timing-Diagramm Kommunikationsdiagramm 9

Architekturdiagramme in UML 2 Strukturelle Architekturaspekte: Kompositionsstrukturdiagramm Zeigt die interne Struktur eines Classifiers sowie seine Interaktionspunkte mit anderen Architekturkomponenten. Dynamische Architekturaspekte: Kommunikationsdiagramm Zeigt Interaktion zwischen Architekturkomponenten (Lebenslinien). Laufzeit-Architekturaspekte: Verteilungsdiagramm Zeigt über ein Netzwerk verbundene Hardware- oder Softwarekomponenten (Rechner, Ausführungsumgebung), die zur Ausführung benötigt werden. 10

PrimitiveType DataType Enumeration Signal Classifier in UML 2 Association Class (from Kernel) Classifier Actor CommunicationPath AssociationClass Behavior Artifact Interface InformationItem Class (from Communications) BehavioredClassifier StructuredClassifier UseCase Collaboration EncapsulatedClassifier Activity Interaction StateMachine Class (from StructuredClasses) ProtocolStateMachine Node Device ExecutionEnvironment Classifier: Kein unmittelbar nutzbares graphisches Konstrukt Abstraktion der Klasse Klassifizierende Instanz einer Reihe konkreter Ausprägungen, unabhängig von deren Detailrealisierung 11

Architekturdiagramme der UML 2: Das Kompositionsstrukturdiagramm Kollaborationstyp Kollaborationstyp1 Rolle Rolle Rolle1 : Typ1 Rolle2 Schnittstelle Part Typ 1 Port Part bereitgestellteschnittstelle : Part1 : Part2 benötigteschnittstelle Konnektor Zeigt die interne Struktur eines Classifiers sowie seine Interaktionspunkte mit anderen Architekturkomponenten. Schnittstelle 13

Architekturdiagramme der UML 2: Das Kompositionsstrukturdiagramm Kollaboration: Zeigt das Zusammenspiel von Operationen oder Classifiern 14

Architekturdiagramme der UML 2: Das Kompositionsstrukturdiagramm Kollaboration: Zeigt das Zusammenspiel von Operationen oder Classifiern 15

Architekturdiagramme der UML 2: Das Kompositionsstrukturdiagramm Verwendung: Veranschaulichung der Architektur. Besonders sinnvoll bei der Beschreibung (des Einsatzes von) Entwurfsmustern. Darstellung durch Kollaboration Verwendung durch occurrence dokumentieren Jeden Architekturaspekt durch ein Kompositionsstrukturdiagramm abbilden. Ausdetaillierung der Ports hinsichtlich zugelassener Delegationsmöglichkeiten. 16

Architekturdiagramme der UML 2: Das Kommunikationsdiagramm Name der Interaktion Sequenzausdruck sd Gassi gehen 2.1:schimpfen Hundehalter 1:Gassi gehen 3:entfernen Hund 1.1:machen Lebenslinie Nachrichtenname Richtung der Nachricht Passant 2:reintreten Häufchen Zeigt Interaktion zwischen Architekturkomponenten (Lebenslinien). 17

Architekturdiagramme der UML 2: Das Kommunikationsdiagramm sd Reparaturauftrag :Besitzer 1a:beauftragen :Auftragsannahme 1a.1.2:erledigt 1a.1:Auftrag :Mechaniker 1b:ausleihen :Lager 1a.1.1b* [alle Ersatzteile vorhanden]: Ersatzteil beschaffen 1a.1.1a:reparieren :Mietwagen :Ersatzteil 1a.1.1c[Ersatzteil nicht vorhanden]: bestellen :Auto Zeigt Interaktion zwischen Architekturkomponenten (Lebenslinien). 18

Architekturdiagramme der UML 2: Das Kommunikationsdiagramm Gleichbereichtigte Sicht auf alle beteiligten Kommunikationspartner. Möglichst keine, durch Bedingungen unterschiedene, Ablaufvarianten darstellen, sondern separate Kommunikationsdiagramme erstellen. Möglichst Sequenz-agnostisch gestalten. Verwendung nebenläufiger und iterativer Nachrichten verwirrt unter Umständen. 19

Architekturdiagramme der UML 2: Das Verteilungsdiagramm «device» : DB Server Assoziation 1..* 1..* Datenhaltung «device» : Application Server «execution enviroment» : J2EE Server Knoten entry.jsp config.xml MyBean.class Deployment-Spezifikation «deploy» «deployment spec» AppDesc.xml execution : thread transaction : false «artifact» Application.jar Deployment-Beziehung Artefakt Zeigt über ein Netzwerk verbundene Hardwareoder Softwarekomponenten (Rechner, Ausführungsumgebung), die zur Ausführung benötigt werden. 20

Architekturdiagramme der UML 2: Das Verteilungsdiagramm Angesichts der offen konkurrierenden Notationen (etwa für Einsatzspezifikationen) muß im Projekt zwingend eine Auswahl getroffen werden. Sinnvolle Beschränkung auf den relevanten Ausschnitt. 21

Architekturdiagramme der UML 2: Das Verteilungsdiagramm «deployment spec» BestellungBeschr.xml Taskverarbeitung : Art maxdauer : Sekunden «artifact» Bestellung.jar «artifact» Bestellung.jar {Taskverarbeitung : Art maxdauer : Sek} «deployment spec» BestellungBeschr.xml Taskverarbeitung : thread maxdauer : 3 «artifact» Bestellung.jar Alternativnotationen zur Darstellung von Einsatzfallspezifikationen «artifact» Bestellung.jar {Taskverarbeitung : thread maxdauer : 3} 22

Architekturdiagramme der UML 2 Kompositionsstrukturdiagramm: Wie sind die einzelnen Architekturkomponenten strukturiert und wie spielen sie zusammen? Komponentendiagramm: Welche Teile einer komplexen Struktur arbeiten wie zusammen, um eine bestimmte Funktion zu erfüllen? Verteilungsdiagramm: Wie werden die Komponenten des Systems zur Laufzeit wohin verteilt? 24

Architekturprinzipien der UML 2 Modularität Starke Kohäsion und lose Kopplung bei der Bildung der (Metamodell-)Pakete und Organisation der (Meta-)Klassen Schichtung Organisation von Konzepten verschiedener Abstraktionsebenen in Pakete und Schichten Partitionierung Logische Organisation von Konzepten derselben Abstraktionsebene. Erweiterbarkeit Profile und Verwendung des UML-Sprachkerns (tatsächlich MOF) in eigenen Sprachen Wiederverwendbarkeit Konstrukt(wieder-)nutzung im UML-Metamodell, im Metamdetamodell der MOF und anderen Metamodellen (z.b. CWM) 25

Diese Folien... sowie weitere Informationen zum Thema 26