Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
  • de
 

Der Softwareanteil komplexer technischer Systeme nimmt derzeit rapide zu, da sich so relativ schnell und kostengünstig eine flexible Funktionalität realisieren lässt. Doch mit der kontinuierlich wachsenden Komplexität der Systeme wird die Beherrschbarkeit in Entwicklung und Betrieb immer schwieriger. Bedingt durch einen großen Marktdruck kommt die Forderung nach kurzen Entwicklungszyklen hinzu, was eine hohe Arbeitsteiligkeit in der Systementwicklung unumgänglich macht. Durch die Vernetzung von Systemen und die Einbettung von Software in Autos, Flugzeuge, Produktionsmaschinen, Telekommunikationsanlagen usw. wächst der Bedarf an Wissensaustausch über das zu realisierende System zwischen den beteiligten Interessensvertretern unterschiedlicher Fachgebiete. Studien zeigen, dass die frühen Phasen der Systementwicklung besonders kritisch für den Erfolg eines Entwicklungsprojektes sind. In diesem Projektabschnitt wird die Systemarchitektur festgelegt, welche die wesentlichen Aufgaben und die technische Konzeption des Systems umfasst. Die Architektur beinhaltet jene Struktu­ren, die unmissverständlich kommuniziert werden müssen, damit die Systementwicklung effi­zient und in hohem Maße arbeitsteilig erfolgen kann.

Die vorliegende Arbeit beschäftigt sich mit der Problematik, welche Strukturen bei software-intensiven Systemen zur Architektur gehören und wie man sie am effektivsten beschreiben kann. Dabei werden Architekturbeschreibungen stets als produktivitäts- und qualitätssteigern­des Mittel im Rahmen eines Entwicklungsprozesses betrachtet. In diesem Bereich existieren nur sehr wenige Untersuchungen über den derzeitigen Stand der Praxis. Aus diesem Grund wurden im Zuge der vorliegenden Arbeit 13 industrielle Entwicklungsprojekte in 8 verschiedenen Unternehmen untersucht und bewährte Praktiken beziehungsweise Defizite identifiziert. Die Ergebnisse umfassen zum einen die vorgefundenen architekturrelevanten Prozesse und zum anderen die eingesetzten Beschreibungstechniken für architekturelle Strukturen. Es stellte sich heraus, dass die Behandlung architektureller Fragestellungen sowohl von der Entwicklungsor­ganisation als auch von dem eingesetzten Entwicklungsprozess explizit berücksichtigt werden sollte. Weiterhin haben die Untersuchungen gezeigt, dass sich die im Umfeld des Autors etablierten Fundamental Modeling Concepts (FMC) eignen, um Systemstrukturen darzustellen und zwischen verschiedenen Interessensvertretern zu kommunizieren. Die im Softwareumfeld als de facto Standard bekannte Unified Modeling Language (UML) eignet sich besonders, um Programmstrukturen zu beschreiben und dieses Wissen unter Experten auszutauschen.

Basierend auf den gewonnenen Erkenntnissen wird abschließend ein Ansatz für eine architekturzentrierte Systementwicklung unterbreitet. Die Kernidee besteht darin, eine Beschreibung der Systemarchitektur als durchgehendes Referenzmodell zu etablieren. Diese Architekturbeschreibung kann als Kommunikations- und Planungsbasis von die verschiedenen Interessensgruppen genutzt werden, um die arbeitsteilige Entwicklung zu unterstützen. Weiterhin dient sie als Referenz für detaillierte Darstellungen einzelner Teilbereiche unter Verwendung spezialisierter Beschreibungsmittel. Der vorgestellte Ansatz darf nicht als striktes und vollständiges Vorgehensmodell missinterpretiert werden. Vielmehr kann das Konzept in unternehmensspezifische Vorgehensmodelle integriert werden, um die explizite Behandlung architektureller Fragestellungen besser zu unterstützen.