proseminar - hu-berlin.de · j.fischer proseminar -einführung e.1 proseminar...
Post on 12-Aug-2020
1 Views
Preview:
TRANSCRIPT
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.
top related