Prozessmodelle aus dem Software-Engineering
Prozessmodelle zur Beschreibung der entsprechenden, konformen Entwicklungsprozesse sind im Bereich der Software-Entwicklung Stand der Technik. Entscheidend hierbei - ganz egal bei welchem Vorgehensmodell, ob Wasserfallmodell, objektorientiertes Modell, V-Modell, Extreme Programming, agile Prozessmodelle, o.ä. - ist im Wesentlichen aber immer die Abfolge der nachfolgenden Schritte:
- Definition Anwendungs- und Geschäftskontext
- Erfassung, Analyse und Modellierung der Anforderungen
- Architektur und Konzeptentwicklung
- Umsetzung und Implementierung
- Integration in die Betriebsumgebung
- Betrieb mit Adaption und laufender Verbesserung
Der Unterschied der verschiedenen Vorgehensmodelle liegt meist bloß in der Detaillierung und Form der einzelnen Schritte und in den vorgesehenen Iterationsschleifen und Zykluszeiten dazwischen. Begonnen wird aber immer erst bei den Anforderungen und nicht mit einem vorgefassten Lösungsvorschlag (einer sogenannten Top-Down Vorgehensweise).
ANDATA verwendet die entsprechenden Vorgehensmodelle aber nicht nur für die Entwicklung der Software sondern erweitert diese auch noch auf die System- und Funktionsentwicklung für den physischen, mechanischen Teil zu einem gesamtheitlichen, integralen Entwicklungsprozess. So wird beispielsweise bei mechatronischen Systemen nicht nur die Software (also der elektronische Teil) nach anforderungsgetrieben und Top-Down entwickelt, sondern dieses Vorgehen äquivalent auch auf den mechanischen und funktionalen Teil angewendet. Dazu stellt man etwa die funktionalen/mechanischen Anforderungen in Form von Beispielen aus Versuchen und/oder stochastischen Simulationen (Szenario-Management) dar und trainiert dem mechanischen System dann quasi sein gewünschtes Verhalten und die Funktion der Regelung direkt mittels Machine-Learning an ("beispielbasierte Repräsentation der Anforderungen").
Das Anforderungsmanagement wird durch den daten-basierten Ansatz unter Verwendung der entsprechenden DataMining-SoftComputing-Verfahren zu einem aktiven und vor allem konstruktiven Prozess ("aktives Anforderungsmanagement"), bei welchem die Anforderungen dann Modell- und Daten-basiert vorliegen. Dies ermöglicht, dass Anforderungskonflikte zwischen gewünschten Aktionen und der gegebenen Sensorik frühzeitig aufgezeigt und gelöst werden können. In der Regel führt das zu bedeutend weniger komplexen und viel robusteren Systemen.
Weitere Informationen:
- Wieso wird so viel Aufsehen um die "Anforderungen" gemacht?
- Wieso ist Adaptivität so wichtig?
- Was versteht man unter "Robustheitsmanagement"?
- Was versteht man unter "Komplexitätsmanagement"?
- Top-down und strikt anforderungsgetrieben!
- Extremes Frontloading!