27.10.2014 Aufrufe

Modellierung in der Software- und Systementwicklung

Modellierung in der Software- und Systementwicklung

Modellierung in der Software- und Systementwicklung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Modellierung</strong> <strong>in</strong> <strong>der</strong><br />

System- <strong>und</strong> <strong>Software</strong>entwicklung:<br />

Theorie <strong>und</strong> Praxis<br />

Von den Anfor<strong>der</strong>ungen zur Architektur<br />

Manfred Broy<br />

Lehrstuhl für <strong>Software</strong> & Systems Eng<strong>in</strong>eer<strong>in</strong>g<br />

Technische Universität München<br />

Institut für Informatik<br />

Über die Natur <strong>der</strong> <strong>Software</strong>entwicklung<br />

Zwei extreme Sichten:<br />

• <strong>Software</strong>entwicklung bedeutet die Konstruktion e<strong>in</strong>es formalen,<br />

mathematischen, logischen Modells, das effizient ausführbar ist - ist<br />

also e<strong>in</strong>e ziel- <strong>und</strong> zweckgerichtete Formalisierung<br />

! <strong>Software</strong> ist e<strong>in</strong> mathematisches Objekt, quantifizier-, spezifizier- <strong>und</strong><br />

verifizierbar<br />

• <strong>Software</strong>entwicklung ist Kunst <strong>und</strong> Handwerk; sie basiert auf<br />

Erfahrung, Augenmaß <strong>und</strong> Können<br />

! <strong>Software</strong> def<strong>in</strong>iert sich durch die Ausführung auf e<strong>in</strong>er<br />

Hardware/<strong>Software</strong>plattform, ist von Natur aus unzuverlässig, ad hoc,<br />

wird <strong>in</strong> Versuch <strong>und</strong> Irrtum erstellt<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 2


Was ist e<strong>in</strong> Modell?<br />

E<strong>in</strong> Modell ist<br />

• e<strong>in</strong>e Abstraktion<br />

• bezogen auf e<strong>in</strong>en Betrachtungsgegenstand<br />

• unter e<strong>in</strong>em Gesichtspunkt für e<strong>in</strong>em bestimmten Zweck.<br />

E<strong>in</strong> Modell erfor<strong>der</strong>t e<strong>in</strong>e Präsentationsform durch<br />

• e<strong>in</strong>e Metapher (Gedankenmodell) durch Text<br />

• e<strong>in</strong>e Sprache (Programmiersprache, <strong>Modellierung</strong>ssprache) o<strong>der</strong><br />

• e<strong>in</strong>en Gegenstand.<br />

E<strong>in</strong> Modell erlaubt bestimmte Aussagen über den Betrachtungsgegenstand.<br />

E<strong>in</strong> Modell dient<br />

• <strong>der</strong> Kommunikation zwischen Menschen<br />

• aber auch <strong>der</strong> Automatisierung<br />

Daraus ergibt sich die Qualität e<strong>in</strong>es Modells<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 3<br />

Zwei essentielle Aspekte <strong>der</strong> <strong>Software</strong> Entwicklung<br />

<strong>Software</strong> Entwicklung bedeutet immer:<br />

+ Formalisierung: <strong>Software</strong> ist formales Artefakt<br />

+ <strong>Modellierung</strong>: <strong>Software</strong> bedeutet immer Abstraktion von <strong>der</strong><br />

Wirklichkeit (von dem Betrachtungsgegenstand) <strong>und</strong> damit<br />

Modellbildung<br />

Jedes <strong>Software</strong>system enthält zwangsläufig Modelle <strong>und</strong> zwar<br />

• e<strong>in</strong> Domänenmodell (fachliche Gesichtspunkte)<br />

• e<strong>in</strong> <strong>Modellierung</strong> technischer Gesichtspunkt<br />

Beispiele:<br />

• Die „Blutgruppen <strong>der</strong> Komponenten e<strong>in</strong>er <strong>Software</strong>architektur“ a la<br />

Sie<strong>der</strong>sleben<br />

• Das R3 System von SAP<br />

Interessante Frage: Welche <strong>der</strong> Modelle s<strong>in</strong>d wertvoller?<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 4


Modelle im Code<br />

Im Code von <strong>Software</strong>systemen (= Programme + Daten)<br />

s<strong>in</strong>d<br />

• das Domänenmodell (fachliche Gesichtspunkte)<br />

• die <strong>Modellierung</strong> technischer Gesichtspunkt<br />

„vergraben“ (s<strong>in</strong>d implizit).<br />

• Beim Entwickeln <strong>und</strong> Warten von <strong>Software</strong> müssen diese<br />

Modelle ständige genutzt (<strong>und</strong> gegebenenfalls<br />

wie<strong>der</strong>entdeckt werden)<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 5<br />

E<strong>in</strong> Beispiel: Das Problem <strong>der</strong> absoluten Mehrheit<br />

totale Funktion f: IN ! Partei<br />

Anzahl n " IN, mit n > 0 von Parteigängern.<br />

#(p, k) = | {i " IN: 1 ! i ! k # f(i) = a} |<br />

major(p, k) = 2 * #(p, k) > k<br />

anarchic(k) = $ p " Partei: 2 * #(p, k) " k<br />

A, H : Var Set Nat<br />

Wir wählen als Invariante<br />

A anarchisch<br />

H homogen: $ m " H: f(m) = r<br />

e = |H|<br />

k, e : Var Nat, r : Var Partei<br />

k, r, e := 2, f(1), 1;<br />

do k ! n then<br />

if f(k) = r then k, e := k+1, e+1<br />

[] f(k) % r # e = 0 then k, r, e := k+1, f(k), e+1<br />

[] f(k) % r # e > 0 then k, e := k+1, e–1<br />

H, A := {1}, Ø<br />

H := H ' {k}<br />

H := {k}<br />

H, A := H\{any(H)}, A'{k, any(H)}<br />

fi od<br />

{¬anarchic(n) & major(r, n)}<br />

A anarchisch # H homogen # A'H = {1, ... n}<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 6


Und noch e<strong>in</strong> Beispiel<br />

SPEC SEQ =<br />

{<br />

based_on BOOL,<br />

sort Seq (,<br />

‹› : Seq (,<br />

‹_› : ( ! Seq (, Mixfix<br />

_°_ : Seq (, Seq ( ! Seq (, Infix<br />

ises : Seq ( ! Bool,<br />

first, last : Seq ( ! (,<br />

head, rest : Seq ( ! Seq (,<br />

Seq ( generated_by ‹›, ‹_›, _°_,<br />

ises(‹›) = true,<br />

ises(‹a›) = false,<br />

ises(x°y) = and(ises(x), ises(y)) ,<br />

x°‹› = x = ‹›°x,<br />

(x°y)°z = x°(y°z) ,<br />

first(‹a›°x) = a,<br />

last(x°‹a›) = a,<br />

head(x°‹a›) = x,<br />

rest(‹a›°x) = x<br />

}<br />

Hier haben wir alles perfekt: Klare Modelvorstellung, Syntax, logische Theorie<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 7<br />

E<strong>in</strong> formales Modell umfaßt:<br />

• Syntax<br />

! Formale Sprache<br />

! Graphik<br />

Formale Modelle<br />

• Semantik - Festlegung <strong>der</strong> Bedeutung<br />

! Informell<br />

! Formal<br />

• Theorie<br />

• Denotationell<br />

• Axiomatisch<br />

• Operationell<br />

! Theoreme<br />

! Umformungsregeln<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 8


“Formal Methoden” <strong>und</strong> “<strong>Software</strong> Eng<strong>in</strong>eer<strong>in</strong>g”<br />

• Formal Methoden werden häufig als <strong>in</strong>adäquat, zu teuer,<br />

unrealistisch, nicht auf grosse Systeme unwendbar<br />

beurteilt<br />

• Praktische <strong>Software</strong> Entwicklung wird often als “ad hoc”,<br />

“immature”, uncontrollable, <strong>und</strong> “not an eng<strong>in</strong>eer<strong>in</strong>g<br />

discipl<strong>in</strong>e” bewertet<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 9<br />

Digitale <strong>Modellierung</strong><br />

Die Modelle <strong>der</strong> Informatik s<strong>in</strong>d digital!<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 10


Essentielle Beiträge <strong>der</strong> Modellorientierung<br />

• <strong>Software</strong> ist unanschaulich („immateriell“), bestimmt komplexe<br />

dynamische Vorgänge<br />

! <strong>Software</strong> wird durch Modelle begreifbar<br />

• Die Ausführungsmodelle unserer Masch<strong>in</strong>en s<strong>in</strong>d <strong>und</strong>urchsichtig<br />

! <strong>Software</strong> wird von den komplexen („low level“) Ausführungsmodellen<br />

unabhängig<br />

• <strong>Software</strong> ist umfangreich <strong>und</strong> unübersichtlich<br />

! Modelle erlauben gezielte Darstellungen von Eigenschaften<br />

! Modelle geben Übersicht<br />

• <strong>Software</strong> braucht unterschiedliche Darstellung verschiedener<br />

Aspekte<br />

! Modelle können auf Aspekte zugeschnitten werden -<br />

Sichtenmodellierung<br />

• <strong>Software</strong> braucht präzise Analysen<br />

! Modelle können auf geeignete Theorien abgestützt werden<br />

! Modelle erlauben tiefe Automatisierung/Werkzeugunterstützung<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 11<br />

<strong>Modellierung</strong> <strong>in</strong> software<strong>in</strong>tensiver Systems<br />

Was ist e<strong>in</strong> Modell:<br />

• E<strong>in</strong>e vere<strong>in</strong>fachte („abstrakte“) Wie<strong>der</strong>gabe e<strong>in</strong>es Produkts<br />

(„Systems“) <strong>in</strong> e<strong>in</strong>er bewährten Form (mit wohlverstanden Mitteln)<br />

für e<strong>in</strong>en bestimmten Zweck<br />

Was ist e<strong>in</strong>e Beschreibung e<strong>in</strong>es Modells:<br />

• Text, Graphik, Tabellen die bestimmte Eigenschaften e<strong>in</strong>es Produkts<br />

(„Systems“) beschreiben<br />

Wichtige Ziele:<br />

• Verständlichkeit<br />

• Präzision<br />

Was ist e<strong>in</strong>e Anfor<strong>der</strong>ung<br />

• Gefor<strong>der</strong>te Eigenschaft für e<strong>in</strong> System<br />

Was ist e<strong>in</strong>e (Anfor<strong>der</strong>ungs-)Spezifikation:<br />

• Die genaue <strong>und</strong> vollständige Festlegung aller Eigenschaften e<strong>in</strong>es<br />

Produkts („Systems“)<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 12


Vom Nutzen <strong>der</strong> Modelle<br />

• E<strong>in</strong> Modell erlaubt e<strong>in</strong> konkrete Darstellung bestimmter<br />

Aspekte o<strong>der</strong> e<strong>in</strong>er Perspektive e<strong>in</strong>es Systems<br />

! Erfassung <strong>und</strong> Erkenntnis<br />

! Dokumentation<br />

! Formalisierung<br />

! Analyse<br />

! Weiterverwendung<br />

• Modelltransformation<br />

• Codeerzeugung<br />

• Produktl<strong>in</strong>ien<br />

• Modelle<br />

! strukturieren die Sichten auf e<strong>in</strong> System<br />

! erfassen Anwen<strong>der</strong>- <strong>und</strong> Entwicklerwissen<br />

! geben e<strong>in</strong>e Richtschnur für den Entwicklungsprozess<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 13<br />

Beobachtungen zum Modelle<strong>in</strong>satz heute<br />

• Modellansätze <strong>in</strong> Anfor<strong>der</strong>ungen nur wenig vertreten<br />

• Heute <strong>in</strong> <strong>der</strong> Praxis oft nur lokale Optimierungen<br />

! E<strong>in</strong>zelaspekte werden isoliert betrachtet <strong>und</strong> verbessert<br />

(Beispiel: Standardisiertes Lastenheft ohne Betrachtung von Test<br />

o<strong>der</strong> Architekturimplikationen)<br />

• Modelle werden nur halbformal erfasst -<br />

<strong>Modellierung</strong>ssprachen s<strong>in</strong>d nicht formalisiert<br />

! Tiefergehen<strong>der</strong> Nutzen ist nicht abgreifbar (Beispiel:<br />

Konsistenzüberprüfungen, Generierung von Tests aus Modellen)<br />

• Standardisierung <strong>in</strong> <strong>der</strong> Kommunikation zwischen<br />

Unternehmen noch unzureichend<br />

! Modelle können nicht ausgetauscht werden, bzw. nicht als<br />

Referenz für Schnittstellen verwendet werden<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 14


Modellbasierung ist mehr als Dokumentation<br />

Modellbasierung unterstützt (im Idealfall):<br />

• Unmissverständliche Beschreibung<br />

• Wohldef<strong>in</strong>ierte Sichten <strong>und</strong> Ebenen <strong>der</strong> Abstraktion<br />

• Masch<strong>in</strong>enverarbeitbare Beschreibungen<br />

• Rechnergestützte Analyse<br />

! Konsistenzsicherung<br />

• Automatische Extraktion von Information für<br />

Nachfolgeschritte<br />

• Frühe Qualitätssicherung<br />

! Verifikation<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 15<br />

Informelle<br />

Anfor<strong>der</strong>ungen<br />

Modellbasierung <strong>in</strong> <strong>der</strong> Entwicklung<br />

Formalisieren<br />

S<br />

Requiremerments<br />

Eng<strong>in</strong>eer<strong>in</strong>g<br />

Validierung<br />

Formalisierte<br />

Systemanfor<strong>der</strong>ungen<br />

Systemabnahme<br />

Systemverifikation<br />

R & S<br />

Integration<br />

R = R1)R2)R3)R4<br />

R<br />

Ausliefern<br />

R1<br />

R2<br />

R4 R3<br />

Architektur<br />

Architekturdesign<br />

Architekturverifikation<br />

S = S1)S2)S3)S4<br />

S1<br />

S4<br />

S2<br />

S3<br />

Realisieren<br />

R1<br />

Integrieren<br />

R2<br />

R4 R3<br />

Komponentenimplementierung<br />

-verifikation<br />

R1 & S1<br />

R2 & S2<br />

R3 & S3<br />

R3 & S4<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 16


Theorie <strong>der</strong> <strong>Modellierung</strong> von Systemen<br />

• Schnittstellensicht - Schnittstellenspezifikation<br />

• Hierarchischen Architekturen durch Komposition/Dekomposition<br />

• Realisierung durch Zustandsmasch<strong>in</strong>en<br />

• Dekomposition des Systems <strong>in</strong> gesteuerte <strong>und</strong> steuernde<br />

Teilsysteme<br />

• Modularität<br />

• Mult-Sichtenmodell<br />

• Sichten <strong>in</strong>tegrieren<br />

• Systemmodelle vervollständigen<br />

• Verfe<strong>in</strong>erung<br />

• Wechsel <strong>der</strong> Abstraktionsebene<br />

• Schichtenansatz<br />

• Abbildung auf Logik<br />

• Gr<strong>und</strong>lage für Eng<strong>in</strong>eer<strong>in</strong>g<br />

• E<strong>in</strong>-/Ausgabe, Ursache/Wirkungsbeziehung, Kausalität<br />

• Nichtdeterm<strong>in</strong>ismus/Unterspezifikation<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 17<br />

Modelle anschaulich: Beispiel: Zustandsübergangsdiagramm<br />

x:Data<br />

Sen<strong>der</strong><br />

bs: Bit<br />

d: Data<br />

c1:M<br />

c4:Bit<br />

x:e / - {d := e}<br />

- / c1:m(d,bs)<br />

{bs := true}<br />

Input<br />

Transmission<br />

- / -<br />

{bs = ¬t} c4:t/-<br />

Wait<strong>in</strong>g<br />

{bs = t} c4:t / - {bs := ¬bs}<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 18


Communication Network<br />

Weitere Systemsichten<br />

• Prozess/Ablauf:<br />

Medium<br />

Darstellung des Verhaltens e<strong>in</strong>es Systems durch Mengen von<br />

Ereignissen/Aktionenen <strong>und</strong> ihre zeitlichen/kausalen Abhängigkeiten<br />

Beispiel: Interaktionsdiagramme, MSCs, Occurrence Network Manager Netze,<br />

Geschäftsprozessdiagramme<br />

• Architektur:<br />

Menge von Komponentenidentifikatoren, belegt mit Komponenten mit<br />

verträglichen syntaktischen Schnittstellen<br />

Komponenten können dargestellt werden durch:<br />

! Schnittstellenverhalten,<br />

! Zustandsmasch<strong>in</strong>en,<br />

! Architekturen,<br />

Sen<strong>der</strong><br />

! Prozesse.<br />

Wir erhalten e<strong>in</strong>e hierarchische Systemsicht<br />

Medium<br />

Receiver<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 19<br />

Theorie <strong>der</strong> <strong>Modellierung</strong> verteilter Systeme<br />

• Schnittstellenabstraktion: Jede Zustandsmasch<strong>in</strong>e, je<strong>der</strong><br />

Prozess <strong>und</strong> jede Architektur kann zu e<strong>in</strong>em<br />

Schnittstellenverhalten abstrahiert werden<br />

• Komposition:<br />

! Auf je<strong>der</strong> Systemsicht (Schnittstelle, Zustandsmasch<strong>in</strong>e,<br />

Architektur, Prozess) ist e<strong>in</strong> Kompositionsoperator gegeben<br />

! Die Kompositionsoperatoren s<strong>in</strong>d verträglich<br />

• Verfe<strong>in</strong>erung:<br />

! Auf je<strong>der</strong> Systemsicht (Schnittstelle, Zustandsmasch<strong>in</strong>e,<br />

Architektur, Prozess) ist e<strong>in</strong> Kompositionsoperator gegeben<br />

! Die Verfe<strong>in</strong>erungsoperationen s<strong>in</strong>d verträglich<br />

! Verfe<strong>in</strong>erung <strong>und</strong> Komposition s<strong>in</strong>d verträglich<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 20


abstraction<br />

abstraction<br />

abstraction<br />

Theorie <strong>der</strong> <strong>Modellierung</strong>: Meta Model<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Time<br />

Feature model<br />

Interface model: components<br />

Input and output<br />

uses<br />

Implementation<br />

uses<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Time<br />

Process transition model:<br />

Events, actions and causal relations<br />

Implementation<br />

state transition model:<br />

states and state mach<strong>in</strong>es<br />

uses<br />

Data model:<br />

Types/sorts and characteristic functions<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Time<br />

Is sub-feature<br />

Hierarchy<br />

and<br />

Architektur<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Time<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 21<br />

Herausfor<strong>der</strong>ung: <strong>Modellierung</strong> Architektur<br />

• System Dekomposition/Komposition<br />

• Hierarchie<br />

• Komponenten<br />

! Rollen<br />

! Interaction<br />

! Schnittstellenverhalten<br />

• Nichtfunktionale Aspekte<br />

! Performanz<br />

! Zuverlässigkeit<br />

• Architekturvalidierung <strong>und</strong> -bewertung<br />

• Aspekt-orientierte Sichten auf Architekturen<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 22


Kritisch: Schnittstellenmodellierung <strong>und</strong> -spezifikation<br />

Unsere heutigen praktischen Methoden zur <strong>Modellierung</strong><br />

von Schnittstellen s<strong>in</strong>d ungenügend:<br />

• Nutzungsschnittstellen<br />

! Nicht nur Oberfläche son<strong>der</strong>n auch Verhalten<br />

• Komponentenschnittstellen<br />

! Nicht nur syntaktische Schnittstellen, son<strong>der</strong>n auch Verhalten<br />

Schlüsselfrage: <strong>Modellierung</strong> <strong>der</strong> Interaktion<br />

• Sequenzdiagramme s<strong>in</strong>d oft nicht ausdrucksstark genug<br />

• Zustandsmasch<strong>in</strong>en s<strong>in</strong>d oft zu implementierungslastig<br />

• Problem im OO:<br />

! Methodenaufrufe zu unflexibles Konzept!<br />

! Ke<strong>in</strong> brauchbarer Komponentenbegriff<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 23<br />

Durchgänge <strong>Modellierung</strong> <strong>und</strong> QS<br />

Aufgaben <strong>Modellierung</strong><br />

• <strong>Modellierung</strong> Anfor<strong>der</strong>ungen<br />

! Featurehierarchie<br />

! Featuremodelle<br />

! Abhängigkeiten<br />

• Architektur<br />

! Komponentenlayout<br />

! Interaktionsszenarien<br />

! Schnittstellen<br />

• Module<br />

! Schnittstellen<br />

Aufgaben QS<br />

• Validierung<br />

• Virtuelle Architekturverifikation<br />

• Modulverifikation<br />

! Review<br />

! Inspektion<br />

! Test<br />

• Integration<br />

! Review<br />

! Inspektion<br />

! Test<br />

• <strong>Software</strong>/System<strong>in</strong>tegration<br />

• Systemtest<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 24


<strong>Modellierung</strong>stechniken <strong>und</strong> ihre Verwendung<br />

<strong>Modellierung</strong>stechniken<br />

• Datensicht<br />

! Abstrakte Datentypen<br />

! E/R Diagramme<br />

! Klassendiagramme<br />

• Schnittstellensicht<br />

! Use Cases <strong>und</strong> Featurebäume<br />

! Schnittstellenspezifikationen<br />

• Zustandssicht<br />

! Zustandsmasch<strong>in</strong>en<br />

• Ablaufsicht<br />

! Interaktionsdiagramme<br />

! Prozessdiagramme<br />

! Ablaufdiagramme<br />

• Struktursicht<br />

! Komponentenstrukturdiagramme<br />

! Klassendiagramme<br />

Phasen<br />

• Analyse <strong>und</strong><br />

Anfor<strong>der</strong>ungsspezifiaktion<br />

• Design: Architekturentwurf<br />

• Implementierung<br />

• Modultest<br />

• Integration<br />

• Integrationstest<br />

• Systemtest<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 25<br />

Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 26


Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 27<br />

Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 28


Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

K<strong>und</strong>enfunktionsordnungsstrukt<br />

ur<br />

Logische Architektur<br />

Technische Architektur<br />

Konzeptionelle Architektur<br />

Tasks<br />

T1<br />

T2<br />

T3<br />

T4<br />

...<br />

<strong>Software</strong> Architektur<br />

Deployme<br />

nt<br />

T1<br />

...<br />

T2<br />

...<br />

T3<br />

T4<br />

...<br />

Hardware Architektur<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 29<br />

Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

abstractio<br />

n<br />

abstraction<br />

Compositi<br />

on<br />

Ref<strong>in</strong>eme<br />

ntTime<br />

Feature model<br />

Schnittstellenmodel: components<br />

Input <strong>und</strong> output<br />

abstraction<br />

uses<br />

Compositi<br />

on<br />

Ref<strong>in</strong>eme<br />

ntTime<br />

Implementati<br />

on<br />

uses<br />

Process transition model:<br />

Events, actions <strong>und</strong> causal relations<br />

Is subfeature<br />

Compositi<br />

on<br />

Ref<strong>in</strong>eme<br />

ntTime<br />

Implementati<br />

on<br />

zustand transition model:<br />

zustands <strong>und</strong> zustand mach<strong>in</strong>es<br />

uses<br />

Hierarchy<br />

<strong>und</strong><br />

Architektur<br />

Compositi<br />

on<br />

Ref<strong>in</strong>eme<br />

ntTime<br />

Data model:<br />

Types/sorts <strong>und</strong> characteristic funktions<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 30


Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

• Vorgehensmodelle<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 31<br />

Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

• Vorgehensmodelle<br />

• Prozessmodelle<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 32


Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

• Vorgehensmodelle<br />

• Prozessmodelle<br />

• Qualitätsmodelle<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 33<br />

Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

• Vorgehensmodelle<br />

• Prozessmodelle<br />

• Qualitätsmodelle<br />

• Meta-Modelle<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 34


Die Fülle <strong>der</strong> <strong>Modellierung</strong>sthemen<br />

• Datenmodelle<br />

• Modelle von Schichtenarchitekturen<br />

• Dienstmodellierung<br />

• Gesamtarchitektur<br />

• Systemmodelle<br />

• Vorgehensmodelle<br />

• Prozessmodelle<br />

• Qualitätsmodelle<br />

• Meta-Modelle<br />

K<strong>und</strong>enfunktionsordnungsst<br />

ruktur<br />

Logische Architektur<br />

Konzeptionelle Architektur<br />

Technische Architektur<br />

Tasks<br />

<strong>Software</strong> Architektur<br />

T1<br />

T2<br />

T3<br />

Deploy<br />

T4<br />

ment<br />

...<br />

T1<br />

...<br />

T2<br />

...<br />

Hardware Architektur<br />

T3<br />

T4<br />

...<br />

Abstraktion<br />

Abstraktion<br />

Abstraktion<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Time<br />

Composition<br />

Hierarchy<br />

Ref<strong>in</strong>ement<br />

<strong>und</strong><br />

Feature model<br />

Time<br />

Architektur<br />

Is sub-feature<br />

Schnittstellenmodel: components<br />

Input <strong>und</strong> output<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Implementation<br />

Time<br />

uses<br />

Process transition model:<br />

Events, actions <strong>und</strong> causal relations<br />

Composition<br />

Ref<strong>in</strong>ement<br />

Implementation<br />

Time<br />

uses<br />

zustand transition model:<br />

zustands <strong>und</strong> zustand mach<strong>in</strong>es<br />

uses<br />

Data model:<br />

Types/sorts <strong>und</strong> characteristic funktions<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 35<br />

Universelle vs. domänenspezifische <strong>Modellierung</strong>sansätze<br />

Universelle <strong>Modellierung</strong>:<br />

• „One Size fits all“: E<strong>in</strong> universeller <strong>Modellierung</strong>sansatz<br />

(„<strong>Modellierung</strong>ssprache“)<br />

! <strong>Software</strong><br />

! Hardware<br />

! Anwendungen<br />

! Mechatronik<br />

Domänenspezifische <strong>Modellierung</strong>:<br />

• Auf Domänen (Anwendungsgebiete) zugeschnittene<br />

<strong>Modellierung</strong>sansätze („<strong>Modellierung</strong>ssprachen“)<br />

! Telekommunikation<br />

! Adaptive Systeme<br />

! Mobile Systeme<br />

! Geschäftsprozesse<br />

! Workflow<br />

! Nutzerschnittstellen<br />

! ...<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 36


Zusammenfassung: <strong>Modellierung</strong> von <strong>Software</strong> <strong>und</strong> QS<br />

• Modellorientierung <strong>und</strong> QS ergänzen sich ideal<br />

! Formalisierung als Voraussetzung für QS<br />

• Validierung<br />

• Verifikation<br />

• Test<br />

! Mehrwert bei vielfältiger Nutzung <strong>der</strong> Modelle<br />

• Durchgängigkeit wird heute noch nicht erreicht<br />

! Modellansätze nicht formal genug<br />

! QS zu wenig automatisiert <strong>und</strong> <strong>in</strong> Werkzeuge <strong>in</strong>tegriert<br />

! Modelle werden nicht konsequent genutzt<br />

! Übergang zwischen Modellen nicht verstanden<br />

! Integration von Modellsichten unzureichend<br />

Festkolloquium, Hans-Dieter Ehrich, Februar 2007<br />

Manfred Broy 37

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!