10 Schritte zum erfolgreichen Modellieren
Wir führen dich in zehn simplen Schritten zu einer konsistenten und vollständigen Systembeschreibung. Die beschriebenen Schritte sind aus Fraunhofer-Expertise, Best Practices, Standards und Normen zusammengetragen. Sie geben dir Orientierung und bieten dir einen Weg, deine Systeme strukturiert zu beschreiben.
Setup
Im ersten Schritt ist es wichtig, den Zweck der Modellierung zu erfassen und alle notwendigen Akteure mit einzubeziehen. Die Modellierung ist nie Selbstzweck und sollte sich in den Softwareentwicklungsprozess einbetten und einen Mehrwert bieten. Daher sollte bereits in dieser Phase geklärt werden, welches Interesse mit der Modellierung verfolgt wird und welches Ziel erreicht werden soll. Wer kann zur Zielerreichung beitragen und wer kann welche Informationen einbringen. Zur Identifizierung des Zweckes bieten wir einen einfachen Fragenkatalog, der eine grobe Orientierung bietet. Bspw. gibt es konkrete Rahmenbedingungen an die Modellierung, welche Sprache soll verwendet werden oder gibt es bereits eine Anforderungsbeschreibung für das zu modellierende System. Zurück
System Context
Jedes System hat einen Systemkontext in dem es eingebettet ist. Der Systemkontext ist der Teil der Umgebung eines Systems. Der Systemkontext umfasst alle Aspekte, die eine Beziehung zum System haben. Mögliche Aspekte können-beispielsweise Nutzer, Prozesse, Dokumente oder weitere Dritt-Systeme sein. Ziel in diesem Schritt ist den Systemkontext so genau wie möglich zu identifizieren. Zurück
Stakeholder Perspectives
Ein System wird häufig von unterschiedlichen Akteuren genutzt. Das Ziel in diesem Schritt ist zunächst die unterschiedlichen Perspektiven der einzelnen Akteure einzunehmen. Das Ergebnis ist eine erst Übersicht zu bekommen von Anwendungsszenarien der unterschiedlichen Akteuren und diese zu beschreiben. Das System wird hier als eine sogenannte BlackBox betrachtet. Wir beschreiben zunächst nur was die Akteure mit diese BlackBox machen können. Zurück
Functionalities
Ein System kann durch unterschiedliche Konzepte beschrieben werden. Wir verwenden in unserer Methode Objektorientierung. Das bedeutet, wir beschreiben das System durch Objekte. In diesem Schritt werden daher Klassen und Schnittstellen identifiziert, die Funktionen des System bereitstellen könnten. Zurück
Structural Data
Ein System erfüllt Funktionen oder Dienste für seine Benutzer. Zur Erbringen dieser Aufgaben werden häufig Daten benötigt oder verwendet. Das Ziel in diesem Schritt ist die verwendeten Daten zu beschreiben. Zu diesem Schritt gehören auch die Betrachtung wie Daten vom System verwaltet werden sollen und wie auf die Daten zugegriffen werden kann. Zurück
Structural Components
Ein System besteht aus unterschiedlichen Teilen, Komponenten und Subsystemen. Das Ziel in diesem Schritt ist daher die einzelnen strukturellen Bestandteile des Systems zu beschreiben. Ziel ist ebenfalls zu identifizieren, welche Funktionalität von welcher Komponente bereitgestellt werden kann. Die Identifizierung der Beziehung der Komponenten untereinander ist ebenso ein wichtiger Aspekt dieses Schrittes. Zurück
Processes and Interaction
Ein System erbringt Funktionen und Dienste, die durch verschiedene Aktivitäten realisiert. Ziel dieses Schrittes ist die genauen Abläufe (Prozesse) der Aktivitäten des Systems zu beschreiben, die zur Erbringungen von Funktionen und Diensten notwendig sind. Die Ablaufbeschreibung geben dabei eine Reihenfolge vor und beschreiben, welche Entscheidungen oder Daten für eine bestimmte Aktivität notwendig sind. Ebenso beschreiben Abläufe auch ein erwartetes Endergebnis. Zurück
Dependencies
Die Bestandteile eines Systems sind unterschiedlich stark miteinander verbunden. Es gibt Komponenten oder Dienste, die Funktionen von anderen Komponenten benutzen. Komponenten können daher abhängig voneinander sein. Das Ziel in diesem Schritt ist die Abhängigkeiten zwischen den einzelnen Komponenten oder Systemteilen zu beschreiben. Ebenso können wir Abhängigkeiten zu vorgelagerten Anforderungen und nachgelagerten Tests gekennzeichnet werden. Zurück
Internal Behaviour
Systembeschreibungen können auch detaillierte Informationen über die internen Abläufe einzelner Komponenten enthalten. In diesem Schritt werden die internen Abläufe oder die Reaktion des Systems auf bestimmte Ereignisse beschrieben. Das interne Verhalten eines Systems kann auf verschiedenen Abstraktionsniveaus beschrieben. Neben der Beschreibung wo und wie ein bestimmtes Verhalten ablaufen soll, können auch konkrete Algorithmen beschrieben werden. Die richtige Auswahl des Detailgrades ist dabei stark abhängig vom Zweck der Modellierung. Zum Beispiel verlangt die Generierung von Source Code einen anderen Detailgrad als die grobe Beschreibung der Abläufe für eine Ausschreibung. Zurück
Evaluation & Review
Ein wichtiger Aspekt der Methode ist die ständige Überprüfung der Arbeit. Zur Evaluierung der Konzepte bieten sich verschiedene Ansätze an. Neben der klassischen Analyse durch Überprüfung von Modellierungsrichtlinien und Design Guidelines bietet das Konzept der Instanziierung eine gute Möglichkeit der frühzeitigen Überprüfung. Während Modellierungsrichtlinien auf statische Aspekte abzielen, kann die Instanziierung ein "Ausprobieren der Konzepte" ermöglichen. Neben klassischen Instanzbeschreibungen kommen hier auch werkzeug-unterstützte Verfahren zum Einsatz. Zurück