Unter einem Modell wird eine Darstellung verstanden, die ein komplexes Gebilde oder ein System in einer vereinfachten Weise abbildet und dabei die wesentlichen Funktionen, Objekte und Beziehungen sowie die Abläufe zwischen ihnen veranschaulicht. Softwaresysteme oder auch einzelne Programme bestehen aus einer Vielzahl an Anweisungen und Algorithmen, die sich nicht auf den ersten Blick erschließen, selbst bei einer ausführlichen Dokumentation der einzelnen Arbeitsschritte. Da an der Erstellung von großen Softwaresystemen üblicherweise viele Programmierer und andere Mitarbeitern arbeiten, bieten Modellierungswerkzeuge hervorragende Hilfestellungen für den gesamten Erstellungsprozess von Software, von der Planung über das Softwaredesign bis zur Fertigstellung und Implementierung des Softwaresystems. Dabei kann es sich bei den Werkzeugen um Hilfen für die Daten- und Prozessmodelle, zur Darstellung von Softwarearchitekturmodellen, sowie um Darstellungshilfen von Analyse- und Entwurfsmustern handeln.
Modellierungssprachen und Kommunikationsmethoden über Software
Software-Modellierungswerkzeuge können sich dabei z.B. zusammensetzen aus grafischen Darstellungen, statistischen Auswertungen, Methoden zur Darstellung in Flussdiagrammen bis hin zu definierten Kommunikationsstrukturen zur Beschreibung der komplexen Vorgänge in Softwaresystemen. Eine der wichtigsten und standardisierten Modellierungssprachen ist UML – Unified Modeling Language -, die Modelle mit Hilfe von grafischen Elementen und Ablaufdiagrammen der Softwaresysteme oder einzelnen Softwareteilen veranschaulicht. Ein weiteres Werkzeug zur Modellierung von Softwaresystemen besteht in der vom Hasso-Plattner-Institut der Universität Potsdam entworfenen formalen Kommunikationsmethodik zur Beschreibung der Softwaresysteme und den dazu gehörigen Abläufen: FMC – Fundamental Modeling Concepts. Ähnlich wie in einer Fachsprache, ermöglicht das FMC die schnelle Verständigung über wesentliche Sachverhalte und die genaue Beschreibung über Bestandteile ohne Missverständnisse der an einem Projekt Beteiligten, wie z.B. Programmierer oder andere Mitarbeiter an dem Softwaresystem.
Mögliche Schwerpunkte für die Modellierung von Softwaresystemen
Die Modellierung von Softwaresystemen kann auch nach bestimmten Schwerpunkten erfolgen, je nach den Anforderungsprofilen vielleicht auch von Auftragsgebern aus der Wirtschaft oder Ähnlichem. Solche Schwerpunkte können z.B. die Ermittlung der Anforderungen an neue Systeme sein. Vielleicht sollen auch bestehende Systeme weiterentwickelt werden. Auch in diesem Fall müssen die Anforderungen an das System spezifiziert werden. Weiterhin sollen die Modellierungswerkzeuge die Mitarbeit verschiedener an der Erstellung und Implementierung des Systems beteiligter Personen bis zur fachlichen Feinkonzeption auf möglichst anschauliche und einfache Weise ermöglichen. Durch die Modellierungswerkzeuge kann auch die Wissensbasis eines Unternehmens aufgebaut und für die Zukunft dokumentiert und auch archiviert werden. Diese Wissensbasis gewährleistet eine effiziente Weiterentwicklung der IT- bzw. DV-Anwendungen.