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

Post on 12-Aug-2020

1 views 0 download

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

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

fischer@informatik.hu-berlin.de

J.Fischer

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

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

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

ProSeminar - Einführung E.5J.Fischer

Unsere UML-Quellen: Bücher

ProSeminar - Einführung E.6J.Fischer

Weitere Empfehlungen

ProSeminar - Einführung E.7J.Fischer

Die Originale !!!

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

ProSeminar - Einführung E.9J.Fischer

Unsere SysML-Quellen: Buch und OMG-Standard

Standard: OMG-Dokument

OMG Systems Modeling Language(OMG SysMLTM)

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

ProSeminar - Einführung E.11J.Fischer

Vereinfachung der Softwareentwicklung

nach Grady Booch

Herausbildung unterschiedlicher Paradigmen• …• Objektkompositionsparadigma• Modelltransformationsparadigma• Komponentenparadigma

ProSeminar - Einführung E.12J.Fischer

Vereinfachung der Softwareentwicklung

nach Grady Booch

– oder doch eine bleibende Illusion ?

ProSeminar - Einführung E.13J.Fischer

Wozu Modellierung und Computersimulation

in der Softwareentwicklung ?

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

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

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

ProSeminar - Einführung E.17J.Fischer

Verteilte Systeme

Computing-Plattform

Applikationen

Middleware

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

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

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)

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

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

J.Fischer

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

ProSeminar - Einführung E.24J.Fischer

Infrastruktur zur Modellverarbeitung

BusinessModel

UsageModel

ResourceModel

DesignModel

TestModel

DeploymentModel

ExceptionModel

ExecutionModel

ArchitectureModel

J.Fischer

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

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

J.Fischer

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

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

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

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

J.Fischer

Trennung von - Konzeptdefinition, - Notation und - Modelltransformation

ProSeminar - Einführung E.32J.Fischer

„Separation of Concerns“

definition ofmodeling concepts

notationguide

for concepts

definemappingbetween

concepts andnotation

modeltransformators

or codegenerators

define modeltransformation

rules

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

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

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, ...

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)

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

ProSeminar - Einführung E.38J.Fischer

Diagrammarten zur Anordnung von Entitäten: Struktur und Verhalten

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

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.