Model-Driven-Architecture (MDA) im Kontext von Vorgehensmodellen
Authors: R. Petrasch; Florian Fieber; Oliver Meimberg; Sandra Morlok
Year: 2005

deutsch Das Forschungsprojekt Projektund Qualitätsmanagement für die Software-Entwicklung untersucht den Einsatz von Prozessmodellen in der Software-Entwicklung, sowie deren Implikationen speziell für kleinen und mittelständischen Unternehmen (KMU). Insbesondere das Software-Projektmanagement und dessen Unterstützung durch Werkzeuge sind Gegenstand der Untersuchung. Abstract englisch The research project Project and Quality Management for Software Engineering analyzes the application of process models for software engineering and their implications for small and medium businesses (SMB). Especially project management and its tool support are being focused in the course of this project.englisch The research project Project and Quality Management for Software Engineering analyzes the application of process models for software engineering and their implications for small and medium businesses (SMB). Especially project management and its tool support are being focused in the course of this project. 1. Einleitung Eine ausreichende Qualität von Softwareprodukten und -prozessen in der Praxis zu gewährleisten, ist oftmals immer noch eine Herausforderung, obwohl zahlreiche Verfahren, Techniken, Normen und Werkzeuge für das Software-Engineering zur Verfügung stehen. Offenbar gelingt es nur bedingt, alle Aspekte eines IT-Vorhabens adäquat zu planen und diese Planung dann umzusetzen sowie derart zu steuern, dass die ursprünglich anvisierten Kosten, zeitlichen Vorgaben und Qualitätsanforderungen eingehalten werden. Die Ursachen für die Probleme sind hinlänglich bekannt, z.B. mangelhafte Anforderungsanalyse, unzureichendes Prozessmanagement, fehlende Methoden, unzureichende Werkzeuge etc (vgl [Sta 01], Abbildung 1, Abbildung 2). Besonders kleinen und mittelständischen Software-Unternehmen mit ihren Branchenspezifika sind personell und finanziell enge Grenzen gesetzt, wenn es um die Einführung von Innovationen geht. So gibt es beispielsweise im Automotive-Bereich bei Software-Systemen nicht nur erhöhte Sicherheitsanforderungen, sondern auch Vorgaben für das Prozessmanagement und die Prozessbewertung. Auch beim Einsatz der Tools gibt es KMU-spezifische Probleme. So können sich die Unternehmen nur selten hochintegrierte Produkte leisten oder es kommen kleinere, kostengünstigere (teilweise Open Source) Alternativen zum Einsatz deren Zusammenspiel nicht oder nur unzureichend möglich ist. Nach [Sta 01] wird deutlich dass vor allem ein strukturiertes und professionelles Projektmanagement der wichtigste Faktor für ein erfolgreiches Projekt ist. Es existieren verschiedene Prozessmodelle für die Software-Entwicklung die sich dieser Problematik annehmen. Durch eine vorgegebene Struktur und klar geregelte Abläufe soll die Software-Qualität dadurch deutlich erhöht werden. Im Folgenden soll zunächst ein kurzer Überblick der Prozessmodelle gegeben werden. Anschließend wird aufgezeigt welche Abbildung 2 Nach [Sta 01] werden nur 28% aller Software-Projekte erfolgreiche abgeschlossen. Der Rest scheitert oder wird mit erheblichen Mängeln abgeschlossen. Projekten [Sta 01]. Implikationen diese Modelle für das Projektmanagement haben, besonders das KMU-Umfeld gilt es dabei zu berücksichtigen und wie diese in dem Forschungsprojekt untersucht wurden. 2. Prozessmodelle für die Software-Entwicklung Es existieren zahlreiche Prozessmodelle für die Software-Entwicklung, die Vorgaben bzgl. der Struktur sowie Inhalte der konkreten Prozesse eines Software-Projektes machen. Dabei lassen sich die zwei Kategorien Vorgehensmodelle und Assessment-Modelle unterscheiden: 2.1 Vorgehensmodelle Vorgehensmodelle der Software-Entwicklung machen Vorgaben für Aktivitäten, Rollen, Dokumente und Meilensteine eines Software-Projekts. Diese Prozesse sind i.d.R. allgemeine Vorgaben und müssen für ein konkretes Projekt angepasst werden [Pet 05b]. Die verschiedenen Vorgehensmodelle unterscheiden sich z.T. erheblich in Umfang und Schwerpunkt. So bildet das V-Modell XT1 ein generisches Vorgehensmodell das die komplette Software-Entwicklung und -Management abdeckt, wogegen sich der IBM Rational Unified Process (RUP) auf die konkrete Entwicklung konzentriert. Weitere Beispiele sind der Object Engineering Process (OEP)3, Extreme Programming (XP)4, IT Infrastructure Library (ITIL)5. 2.2 Assessment-Modelle Assessment-Modelle dienen der Bewertung des Reifegrades der Prozesse der Software-Entwicklung oder einer Organisation. Dabei werden die Prozesse untersucht und entsprechend eines zuvor festgelegten Schemas bewertet. Die Assessment-Modelle geben somit implizit Prozesse vor welche zum Erreichen eines bestimmten Reifegrads erfüllt werden müssen. Beispiele sind CMMI6, ISO 155047 [Pet 07]. 3. Integration von Vorgehensmodellen Bei allen Prozessmodellen (d.h. sowohl Vorgehensmodelle als auch Assessment-Modelle) müssen die Prozesse an die konkrete Projektund/oder Unternehmenssituation angepasst werden. Dieser Vorgang wird i.d.R. als Tailoring bezeichnet und bedeutet das Auswählen von erforderlichen Prozessbausteinen. Dieses Anpassen der Prozesse liefert jedoch noch keine praxistauglichen Prozesse, vielmehr müssen diese weiter für ein konkretes Projekt angepasst werden. Bspw. machen die Vorgehensmodelle keine Aussage über das Wie, d.h. mit welchen Methoden die unterschiedlichen Aktivitäten umgesetzt werden sollen. Diese konkreten Projektplanungen werden werkzeugbasiert durchgeführt, d.h. mit einem Projektmanagement-Werkzeug. Genau an dieser Stelle entsteht die Notwendigkeit des Aufbaus einer Tool-Kette, d.h. die Verbindung der unterschiedlichen Werkzeuge zum Tailoring und zur Projektplanung. Dieses Forschungsprojekt widmet sich dieser Problematik und untersucht, wie unterschiedliche Tools integriert werden können. Der Fokus richtet sich dabei auf KMU, da sich diese oft keine teuren, hochintegrierten Werkzeuge leisten können oder wollen, sondern vielmehr mit unterschiedlichen Individuallösungen arbeiten müssen. 4. Forschungsprojekt 4.1 Überblick Das Ziel des Forschungsprojekts Projektund Qualitätsmanagement für die Software-Entwicklung sind die verbesserte Integration von Prozessmodellen und Werkzeugen, speziell im Umfeld von KMU. Dabei sollen nicht nur Werkzeuge für das Tailoring und Projektmanagement betrachtet werden, sondern auch Werkzeuge für das Qualitätsmanagement (Test-Werkzeuge) oder die Entwicklung (Entwicklungsumgebungen, Anforderungsmanagement, Änderungsmanagement). Als Lösungsansatz hierfür steht die Process Integration & Tailoring Plattform 4.1 Process Tailoring & Integration Plattform Die Plattform unterstützt die folgenden Funktionalitäten (vgl. Abbildung 3): – Integration von Vorgehensmodellen und Tailoring-Werkzeugen: Die Plattform erwartet als Eingabe einen Projektplan in dem die notwendigen Aktivitäten, Rollen und Dokumente benannt sind und in in eine zeitliche Reihenfolge gebracht sind. 1 V-Modell ist durch die Bundesrepublik Deutschland urheberrechtlich geschützt, vgl. [Bund 06] 2 IBM, RUP und Rational Unified Process sind eingetragene Warenzeichen von IBM, vgl. [IBM 06] 3 Der OEP ist ein Produkt der oose.de Dienstleistungen für Informatik GmbH, vgl. [OOSE 06] 4 Vgl. [Bec 00] 5 Vgl. [ITIL 06] 6 CMMI ist ein eingetragenes Warenzeichen der Carnegie Mellon University, USA, vgl. [CMMI 06] 7 Vgl. [ISO 03] – Integration von projektspezifischen Werkzeugen: Das projektspezifische Tailoring der Prozesse geschieht zentral mittels der Plattform. Informationen zu Mitarbeitern, Methoden, etc. sind hier hinterlegt. Diese Informationen können mit den beteiligten Werkzeugen synchronisiert werden, so dass z.B. die Mitarbeiterdaten aus dem PM-Werkzeug kommen und die Methoden-Informationen aus dem Test-Werkzeug. – Die Kommunikation der Plattform mit den integrierten Werkzeugen ist bidirektional, d.h. dass Änderungen im Werkzeug, bzw. der Plattform miteinander synchronisiert werden. 4.2 Aufgaben der TFH In dem Forschungsprojekt wurden zunächst die unterschiedlichen Vorgehensund Assessment-Modelle untersucht und ein gemeinsames Metamodell entwickelt, als Basis diente dazu zunächst das dem VModell XT. Im nächsten Schritt wurden wurden die unterschiedlichen Werkzeuge untersucht, hierbei lag der Schwerpunkt auf der Projektmanagement-Software Projektron BCS. Diese Ergebnisse flossen in die Konzeption der Process Integration & Tailoring Plattform ein, auf deren Basis ein erster Prototyp entstand. Neben der fachlichen Konzeption wurden die Ergebnisse laufend in veröffentlicht. 4.3 Aufgaben der Kooperationspartner Um ihre Werkzeuge in die Plattform integrieren zu können, mussten die Kooperationspartner die entsprechenden Schnittstellen zu ihren System erstellen, bzw. offenlegen. Ein einheitliches Austauschformat sorgt dafür, dass die Daten (z.B. Mitarbeiterinformationen) zwischen dem Werkzeug und der Plattform in beide Richtungen ausgetauscht werden können.