Die Modellbildung ist ein typischer Abstraktionsprozess in der Informatik und der Mathematik, mit dem man versucht, die Komplexität eines Systems auf ein „bewältigbares“ Maß zu reduzieren. Im Modell sollen dabei die entscheidenden Eigenschaften/Funktionalitäten des Systems erhalten bleiben.
Dabei kann grundsätzlich in die zwei Varianten unterschieden werden:
- funktionalen Dekomposition
- objektorientierten Paradigmas
Dabei ist die Identifikation der richtigen Dekomposition, entweder in Funktionen oder Objekte, produktabhängig und wird in der Anforderungsanalysephase des Entwicklungsprozesses durchgeführt.
Funktionale Dekomposition
Im Rahmen einer funktionalen Dekomposition werden die einzelnen Funktionen des Systems in immer feingranularere Einheiten unterteilt, bis diese schliesslich durch entsprechende Verhaltensdiagramme in ihrem Ablauf modelliert werden können. Typische Strukturmodellierungskonstrukte sind z.B. sog. "State-Charts", typische Ablaufmodellierungskontrukture sog. "Activity-Charts", welche auf Zustandsautomaten basieren, die das reaktive Verhalten des Systems bzw. einer Komponente darstellen. Dabei lassen sich Komponenten hierarchisch oder parallel zu übergeordneten Komponenten bis hin zu einem kompletten System zusammensetzen.
Objektorientierte Modellierung
Für eine objektorientierte Modellierung können z.B. UML-Diagramme benutzt werden. In diesem Ansatz stehen verschiedene Diagrammtypen zur Verfügung, durch die jeweils ein Teil des Gesamtmodells modelliert werden kann, wie
- Anwendungsfalldiagramme
Dienen der einfachen Darstellung von Prozessen. In diesem Diagrammtyp werden die Anwendungsfälle, ihre Beziehungen untereinander oder mit konkreten Personen, Ereignissen oder Prozessen beschrieben.
- Klassendiagramme
Beschreiben die statische Struktur eines Objektmodells und enthalten die Attribute wie die Beziehungen von Mengen einer Klasse von Objekten.
- Verhaltensdiagramme
Enthalten im Gegensatz zu den Klassendiagrammen die dynamischen Vorgänge innerhalb des objektorientierten Modells. Hier wird wieder weiter in verschiedene Diagramme, wie Sequenz- , Kollaborations- , Zustands- und Aktivitätsdiagramme untergliedert, je nach den betrachteten Modellelementen (z.B. Objekte oder Zustände) und dem Abstraktionsgrad.
- Implementierungsdiagramme
Bieten die Möglichkeit für die Unterstützung objektorientierter Modelle in Programmcode. Hier wird zwischen Komponenten- und Verteilungsdiagrammen differenziert.
|