Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar...

40
Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim Fischer Dipl.-Inf. Andreas Blunk [email protected] J.Fischer

Transcript of Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar...

Page 1: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.1J.Fischer

Proseminar

(Software-Spezifikation mit UML 2)Systemspezifikation mit SysMLim SoSe 2010

Einführung

Prof. Dr. Joachim FischerDipl.-Inf. Andreas Blunk

[email protected]

J.Fischer

Page 2: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Einführung

J.Fischer

1. Organisatorisches

2. Trends in der Software-Entwicklung

3. Modelle in UML

4. Grundsätzliches zu Systemen und Modellen

5. Modelle in SysML

Page 3: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.3J.Fischer

• Homepagehttp://www.informatik.hu-berlin.de/sam

• SeminarDi: 13.15 Uhr RUD 25 III.113

− Teilnahme, 2 Vorträge, Diskussion − Bewertung der Präsentation, Mitarbeit im Seminar− Praktischer Teil: UML-Modellierungsprojekt

• Seminarschein

Page 4: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.4J.Fischer

Bestimmung der TeilnehmerPro-Seminar Systemmodellierung mit SysML

Goya-Meldungen

Nr. Nachname Vorname Anwesenheit

1 Stadie Oliver

2 Grzebin Felix

3 Obst Benjamin

4 Useinov Vitalij

5 Manthey Michel

6 Krabi Marianne

7 Müller Jens

8 Iks Taras

9 Fobian Martin

10 Wächter Georg

11 Hönicke Florian

12 Grassmann Tom

13 Lunow Daniel

Page 5: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.5J.Fischer

Unsere UML-Quellen: Bücher

Page 6: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.6J.Fischer

Weitere Empfehlungen

Page 7: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.7J.Fischer

Die Originale !!!

Page 8: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.8J.Fischer

Unsere UML-Quellen: Der OMG-Standard

Superstruktur

Infrastruktur

OC

L

Diagram

m-

austausch

• Modellierungs-konzepte

• Sprachdefinitions-konzepte

• Transformations-konzepte

SuperstructureLibrary

Classes

CompositeStructures Common

Behaviours

Deployments

Components Activities Interactions UseCasesStateMachines

Actions

Page 9: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.9J.Fischer

Unsere SysML-Quellen: Buch und OMG-Standard

Standard: OMG-Dokument

OMG Systems Modeling Language(OMG SysMLTM)

Page 10: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Einführung

J.Fischer

1. Organisatorisches

2. Trends in der Software-Entwicklung

3. Modelle in UML

4. Grundsätzliches zu Systemen und Modellen

5. Modelle in SysML

Page 11: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.11J.Fischer

Vereinfachung der Softwareentwicklung

nach Grady Booch

Herausbildung unterschiedlicher Paradigmen• …• Objektkompositionsparadigma• Modelltransformationsparadigma• Komponentenparadigma

Page 12: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.12J.Fischer

Vereinfachung der Softwareentwicklung

nach Grady Booch

– oder doch eine bleibende Illusion ?

Page 13: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.13J.Fischer

Wozu Modellierung und Computersimulation

in der Softwareentwicklung ?

Page 14: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.14J.Fischer

Anforderungen

Analysemodelle

Entwurfsmodelle

Implementie-rungsmodelle

Verteilungs-modelle

Plattform-modelle

Umgebungs-modelle

Anforderungs-modelle

ZielcodeBinärcode-Komponenten

Modell-CheckerSimulatorenTestumgebungen

Modellbasierte Entwicklung (vereinfacht)

Werkzeuge(Editoren)

Werkzeuge(Modelltransformatoren,Compiler)

Eingaben

Intelligent feedback

Page 15: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.15J.Fischer

© Booch: Object-Oriented Design with applications

Benjamin/Cummings Publishing Company Inc.

Das jeweilige Untersuchungsziel bestimmt Sicht und Abstraktionsgrad

Modelle in unterschiedlichen Sichten auf einen Realitätsausschnitt

Anwendersicht Technologiesicht

Page 16: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.16J.Fischer

EngineeringVerteilungsaspekteKommunikationsinfrastruktur

Realitätsausschnitt(als System)

EnterpriseUnternehmensAnwendungsaspekteGeschäftsmodell

InformationInformationsdarstellung, -semantik,-verarbeitung

ComputationalDekomposition in verteilbare Komponentenaus funktioneller SichtDefinition von Schnittstellen

TechnologyImplementationsspracheWerkzeugePlattformen

Modellierungskultur in der Softwareentwicklung: Sichtweisenam Beispiel von ODP (Open Distributed Processing)ISO- und ITU-Standard zur Modellierung verteilter Software-Systeme

5 Modellklassen mit spezifischen Darstellungskonzepten

Page 17: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.17J.Fischer

Verteilte Systeme

Computing-Plattform

Applikationen

Middleware

Page 18: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.18J.Fischer

Herausforderung an die Middleware

• keine Vereinbarung über Hardware-Plattformen

• keine Vereinbarung über Betriebssysteme

• keine Vereinbarung über Netzwerkprotokolle

• keine Vereinbarung über anwendungsspezifische Datenformate

vereinbart werden muss aber die Interoperabilität

Aufgabe: Entwicklung einer (konsensfähigen) objektorientierten Architektur• basierend auf Objektorientierung• Integration verteilter Applikationen• Garantie für

- Wiederverwendbarkeit von Softwarekomponenten, - Interoperabilität und Portabilität

• basierend auf kommerziell verfügbarer Software

Page 19: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.19J.Fischer

I D L

I D L

I D L

I D L

I D L

I D L

C

C++

COBOL

Ada

Smalltalk

Client Side Object Implementation

Side COBOL

C

Ada

C++

Smalltalk

I D L

I D L

I D L

I D L

I D L

I D L

Computing-Plattform

SprachunabhängigkeitInterface Definition Language (IDL)~ Beispiel für die Bedeutung abstrakter Modelle in der SW-Entw.

ORB ORB

Page 20: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.20J.Fischer

Grundbegriffe aus MDA-Dokumenten

• Model: Representation of (part of) function, structure and/or behaviour of a system

• Specification: Presentation of a model based on a language (syntax + semantics)

• Platform: Technological and engineering details irrelevant to fundamental functionality of a software component

• (MDA = Model Driven Architecture)

Page 21: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.21J.Fischer

I D L

I D L

I D L

I D L

I D L

I D L

C

C++

COBOL

Ada

Smalltalk

Client Side Object Implementation

Side COBOL

C

Ada

C++

Smalltalk

I D L

I D L

I D L

I D L

I D L

I D L

Hersteller- und Übertragungstechnologie-Unabhängigkeit

Interface Definition Language (IDL)

ORB Vendor 1 ORB

Computing-Plattform

Page 22: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.22J.Fischer

Paradigmen zur Systemkonstruktion

KOMPLEXITÄT

FLEXIBILITÄT

step-wiseprocedural refinement

paradigmC

PascalModula

objectcomposition

paradigm.

C++Java

Smalltalk

distributed objectstechnology

CORBAJava RMI

model transformation

paradigm

Model Driven ArchitecturesMeta Object Facility and UML

Shared Metadata Environments (.NET, CWM, JMI, …)

Entwicklungstrend

domainen-specificcomplex systems

SysML,DSLs

Page 23: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Bei der modell-getriebenen SW-Entwicklung werden in Modellen alle Aspekte eines Softwaresystems erfasst

Page 24: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.24J.Fischer

Infrastruktur zur Modellverarbeitung

BusinessModel

UsageModel

ResourceModel

DesignModel

TestModel

DeploymentModel

ExceptionModel

ExecutionModel

ArchitectureModel

Page 25: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Modelle eines Systems und die Modelle der Modelle werden in Beziehung gesetzt, ausgetauscht undtransformiert.

Page 26: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.26J.Fischer

Modell-Infrastruktur

Business-Modell

Usage-Modell

Resource-Modell

Design-Modell

Test-Modell

Deployment-Modell

Exception-Modell

Execution-Modell

Architecture-Modell

Modell-Infrastruktur

Page 27: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Bei der Systemkonstruktion nach MDA werden Modelle weiter kategorisiert: „platform independent“ und „platform specific“.

Page 28: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.28J.Fischer

Modelle, Repositories und Mapping

Realisierung

Unternehmens-Spezifische Konfigurations-und Betriebs-aspekte

DomänenmodelleModelle von Fach-verfahrenUnternehmensmodelle

PlattformspezifischeArtefakte

PlatformIndependent

Model

PlatformSpecific

Model

EnterpriseDeployment

Model

ModelRepositories

Konfiguration

Page 29: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.29J.Fischer

Vorteil der Modellkategorisierung• Unabhängigkeit vom „Next Big Thing“:

Aus stabilen Modellen spezifischer Anwendungsklassen können Realisierungsmodelle für unterschiedliche Softwareplattformen gewonnen werden.

plattform-unabhängiges

Modell

plattform-spezifisches

Modell

plattform-spezifisches

Modell

Page 30: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.30J.Fischer

Umgang mit Änderungen

PlatformIndependent

Model

PlatformSpecific

Model

platformchange

• verfahrensunabhängigeInfrastrukturevolution

• Integration vonbestehenden Anw.

• Verringerung derMigrationskosten

stabileModelle

• (formale) Semantik• Infrastrukturunabhängigkeit• lange Lebensdauer• geringerer Wartungsaufwand

automatisierteAbbildungen

Page 31: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Trennung von - Konzeptdefinition, - Notation und - Modelltransformation

Page 32: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.32J.Fischer

„Separation of Concerns“

definition ofmodeling concepts

notationguide

for concepts

definemappingbetween

concepts andnotation

modeltransformators

or codegenerators

define modeltransformation

rules

Page 33: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.33J.Fischer

Vorteile der MDA

• Programmiersprachen-, Hersteller- und Middleware-unabhängig

• Skalierbarkeit, Robustness, Sicherheit ... implementiert in der bestmöglichen Art und Weise

• Reduktion der gesamten Entwicklungskosten• Bessere Wiederverwendbarkeit durch Model Repositories• Geringere Entwicklungszeit für neue Anwendungen• Reibungslose Integration über Grenzen unterschiedlicher

Middleware-Plattformen hinweg• Schnelleres Einbeziehen neuer Technologien in existierende

Systeme

Page 34: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

J.Fischer

Einführung

J.Fischer

1. Organisatorisches

2. Trends in der Software-Entwicklung

3. Modelle in UML

4. Grundsätzliches zu Systemen und Modellen

5. Modelle in SysML

Page 35: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.35J.Fischer

UML-Charakterisierung

• ist eine Notation/Sprache, keine Methode, Framework für UML-ähnliche Modellierungssprachen

• abstrahiert von– architekturellen Vorgaben,– Design- und Implementierungs-Styles,– Technologien (Software, Hardware, Infrastrukturen, ...),– Entwicklungsprozessen

• standardisiert – Begriffswelt (Modellierungskonzepte),– Semantik (Bedeutung der Modellierungskonzepte),– visuelle Darstellung (Notation der Modellierungskonzepte)

• führt Ideen verschiedener Techniken zusammen– Booch, OMT, Jacobsson, ROOM, SDL, EDOC, MSC, Component

Based Modeling, ...

Page 36: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.36J.Fischer

Systemarchitekturmodell eines Systems

• … unter Verwendung von UML

Nutzersicht

Anwendungsfall-diagramme

Entwurfssicht Implementationssicht

Verhaltenssicht Umgebungssicht

Klassen-,Objektdiagramme

Aktivitäts-,Sequenz-,

Kooperations-,Zustandsdiagramme

Komponenten-diagramme

Verteilungs-/ Konfigurations-

diagramme

SystemaufbauKonfigurationsverwaltung

SystemtopologieVerteilungAuslieferungInstallation

LeistungSkalierbarkeitDurchsatz

Struktur(Modellelemente, Beziehungen)

Page 37: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.37J.Fischer

Vier Arten von Modellierungselementen/Entitäten

nämlich zur

• Bildung von Strukturen

• Beschreibung von Verhalten

• Bildung von Gruppierungen von Entitäten

• Formulierung von Anmerkungen

damit lassen sich UML-Modelle komplett beschreiben

Objekte struktur- undverhaltensbeschreibender Klassenbilden Strukturen

Objekteverhaltensbeschreibender Klassenbei Nutzung Objekte normaler Klassen

Page 38: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.38J.Fischer

Diagrammarten zur Anordnung von Entitäten: Struktur und Verhalten

Page 39: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.39J.Fischer

Sichten

• ein und dasselbe Modellelement kann unterschiedlich detailliert für unterschiedliche Sichten dargestellt werden

KlasseA

Repository

KlasseAop1()

KlasseA+attr1 : int= y-attr2 : String [0..*]

+op1 : int-op2 (v: KlasseC)

Sicht derAnalysephase

Sicht derCodegenerierung

Klasse A ist in einem Namensraum nur einmal im Repository definiert

Page 40: Proseminar - hu-berlin.de · J.Fischer ProSeminar -Einführung E.1 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim

ProSeminar - Einführung E.40J.Fischer

Die UML

„Wenn die Sprache nicht stimmt, ist das was gesagt wird, nicht das, was gemeint ist.“ (Konfuzius)

• UML = Unified Modeling Language

• … ist zunächst Standardsprache (der OMG) zur Visualisierung, Spezifikation, Konstruktion und Dokumentation komplexer Softwaresysteme

• … kombiniert Konzepte der • Objektorientierten Modellierung• Datenmodellierung (Entity-Relationship-Diagramme)• Business-Modellierung (Work Flows)• Komponentenmodellierung• Verhaltensmodellierung (Erweiterte Zustandsautomaten)• ...

• UML-Modelle sind in erster Linie graphische Repräsentationen in Form von Diagrammen

551 v. Chr. bis 479 v. Chr.