Konzeption eines Prozessmodells zum Requirements Engineering f¨ ur

Prozessmodell Requirements Engineering

Dokumentinformationen

Autor

Thomas Havemeister

instructor Univ.-Prof. Dr.-Ing. habil. Ilka Philippow
Schule

Technische Universität Ilmenau, Fakultät für Informatik und Automatisierung

Fachrichtung Wirtschaftsinformatik
Ort Ilmenau
Dokumenttyp Diplomarbeit
Sprache German
Format | PDF
Größe 1.71 MB

Zusammenfassung

I.Motivation und Krise im Anforderungsmanagement

Die Arbeit untersucht die Herausforderungen im Anforderungsmanagement (Requirements Engineering - RE) in der IT-Branche, insbesondere für kleine und mittelständische Softwarehäuser. Der zunehmende Druck, Entwicklungszeiten zu verkürzen und gleichzeitig hohe Qualitätsansprüche zu erfüllen, führt zu einer Krise, die durch hohe Entwicklungskosten und ein oft ungünstiges Return over Investment (ROI) gekennzeichnet ist. Die GFT Systems GmbH Ilmenau, eine Tochter der GFT AG, dient als Fallbeispiel, da sie individuelle Softwarelösungen im Bereich E-Commerce und Enterprise Application Integration (EAI) entwickelt und unter dem Druck aktueller Branchentrends steht. Die Arbeit zielt auf die Standardisierung und Optimierung interner Entwicklungsprozesse ab.

1. Die IT Krise und die Notwendigkeit einer Neuausrichtung

Die Arbeit beginnt mit der Feststellung, dass die IT-Branche nach dem Internetboom eine Phase der Rückbesinnung durchläuft. Um langfristig wettbewerbsfähig zu bleiben, rücken überzeugende Qualität und hohe Kundenzufriedenheit in den Mittelpunkt strategischer Überlegungen. Ein zentrales Problem ist die zunehmende Komplexität von Produkten, die zu längeren Entwicklungszeiten und erhöhten Kosten führt, ohne dass der gewünschte Kundennutzen immer im Verhältnis zu den Investitionen steht (Return on Investment - ROI). Die Problematik ist nicht neu, schon Mitte der 80er Jahre überstieg die Nachfrage nach hochwertiger Software das Angebot bei Weitem. Die Arbeit argumentiert, dass die Krise in der IT-Branche nicht nur auf allgemeine wirtschaftliche Schwächung und rückläufige Nachfrage zurückzuführen ist, sondern auch auf die enormen Entwicklungskosten, die oft in keinem Verhältnis zum Kundennutzen stehen. Die Effektivität der bekannten Vorgehensmodelle wird kritisch hinterfragt, da negative Erfahrungen aus der Vergangenheit berechtigte Zweifel an deren Praxistauglichkeit aufwerfen. Relativ neue Ansätze, wie die Bedeutungsanalyse, werden als potenzielle Lösungsmöglichkeit betrachtet, um Mehrdeutigkeiten und Unvollständigkeiten in der Anforderungsanalyse frühzeitig zu erkennen und zu beseitigen.

2. Relevanz für KMUs und Großunternehmen die Ausgangssituation bei GFT Systems

Die Problematik des Anforderungsmanagements ist besonders relevant für kleine und mittelständische Softwarehäuser (KMUs), die ihren Umsatz hauptsächlich im Projektgeschäft erzielen und auf Flexibilität, Schnelligkeit und ein angemessenes Preis-Leistungs-Verhältnis angewiesen sind. Auch Großunternehmen profitieren von einem verbesserten Verständnis im Anforderungsmanagement und dessen Bedeutung im Softwarelebenszyklus. Die vorliegende Arbeit entstand aus der Situation der GFT Systems GmbH Ilmenau, einer Tochtergesellschaft der GFT AG aus St. Georgen. GFT Systems ist ein typisches Projekthaus, das hauptsächlich individuelle Softwarelösungen für große und mittelständische Unternehmen im Bereich E-Commerce und Enterprise Application Integration (EAI) entwickelt. Der zunehmende Erwartungsdruck und die Branchentrends erfordern verstärkte Anstrengungen zur Standardisierung und Optimierung der internen Entwicklungsprozesse. Diese Ausgangssituation bei GFT Systems dient als Motivation und konkreter Anwendungsfall für die vorliegende Arbeit, die sich mit der Optimierung des Anforderungsmanagements beschäftigt und somit zur Lösung der oben beschriebenen Krise beitragen möchte. Die Arbeit beleuchtet die Notwendigkeit effizienterer Prozesse im Anforderungsmanagement und wie diese sowohl für KMUs als auch für größere Unternehmen einen Wettbewerbsvorteil darstellen können.

3. Bedeutungsanalyse als Ansatz zur Verbesserung des Anforderungsmanagements

Die Arbeit hebt die Bedeutung der Bedeutungsanalyse hervor, um Mehrdeutigkeiten und Unvollständigkeiten in natürlichsprachlichen Aussagen frühzeitig zu erkennen und zu beseitigen. Dies wird als wichtiger Schritt zur Verbesserung der Qualität der Anforderungsanalyse angesehen. Rupp et al. werden zitiert, welche einen Überblick über sprachliche Defekte in der Anforderungsanalyse geben und den Vorschlag unterbreiten, diese Defekte durch Anforderungsschablonen zu umgehen. Es wird die Möglichkeit skizziert, UML-Anwendungsfalldiagramme über mehrere Zwischenstufen in leicht verständliche, defektfreie Textformate zu überführen, um so einen höheren Qualitäts- und Detaillierungsgrad des Anforderungskataloges zu erreichen. Die Arbeit deutet an, dass die Verbesserung der Anforderungsqualität und -präzision ein wichtiger Hebel ist, um die beschriebenen Probleme der IT-Krise, wie hohe Kosten und mangelnder Kundennutzen, zu adressieren. Die frühzeitige Erkennung und Beseitigung von Missverständnissen durch die Bedeutungsanalyse kann somit einen signifikanten Beitrag zur Effizienzsteigerung im Softwareentwicklungsprozess leisten.

II.Grundlagen des Requirements Engineering

Dieser Abschnitt definiert Requirements Engineering (RE) als systematisches Vorgehen zur Spezifikation von Anforderungen (Erfassung, Beschreibung, Prüfung). Es wird zwischen Anforderungsanalyse und Anforderungsdefinition unterschieden. Der Fokus liegt auf der Vermeidung von Mehrdeutigkeiten und Unvollständigkeiten, insbesondere durch den Einsatz von Bedeutungsanalyse und Anforderungsschablonen. Das Kapitel liefert einen theoretischen Rahmen für die anschließende Untersuchung verschiedener Vorgehensmodelle.

1. Definition und Einordnung von Requirements Engineering RE

Dieser Abschnitt klärt die grundlegenden Anliegen des Requirements Engineering (RE) und dessen Einordnung in den Softwarelebenszyklus. Es wird betont, dass RE ein systematisches Vorgehen zur Spezifikation von Anforderungen umfasst, welches die Erfassung, Beschreibung und Prüfung von Anforderungen beinhaltet. Um Missverständnisse zu vermeiden, wird zwischen Anforderungsanalyse (Identifikation und Dokumentation der Kundenwünsche) und Anforderungsdefinition (Erstellung eines verbindlichen Dokumentes zur Beschreibung des Systemverhaltens) unterschieden. Dieser Prozess der Anforderungsentwicklung transformiert die Ergebnisse der Analyse in dokumentierte und verbindliche Anforderungen. Die theoretischen Überlegungen von Balzert, Rupp und Schienmann dienen als Grundlage für die spätere Untersuchung von Vorgehensmodellen. Das erklärte Ziel ist das sukzessive Einführen der verwendeten Konzepte. Die Auswahl der Vorgehensmodelle basiert auf einer Literaturrecherche und der Untersuchung verschiedener Ansätze. Der Abschnitt legt den Grundstein für das Verständnis des RE-Prozesses und seiner Bedeutung für den gesamten Softwareentwicklungsprozess, indem er die wichtigsten Schritte und deren Zusammenhänge erläutert.

2. Der Softwarelebenszyklus und die Rolle des RE

Der Abschnitt beschreibt den typischen Softwarelebenszyklus, dargestellt als treppenartiges Muster (ähnlich dem Wasserfallmodell), mit den Hauptphasen Requirement Analysis, Design, Implementation und Integration. Die Ergebnisse jeder Phase dienen als Input für die nachfolgende Phase. Der Abschnitt betont die Bedeutung von Werkzeugunterstützung in allen Phasen. Er unterstreicht die Notwendigkeit, die Anforderungen (Requirements) systematisch zu erfassen, zu analysieren und zu dokumentieren. Der Fokus liegt auf der Bedeutung des RE für die gesamte Entwicklung, beginnend von der Anforderungsanalyse bis zur Implementierung und Integration. Es wird angedeutet, dass die Analysephase die erste und potentiell folgenreichste Fehlerquelle in einem IT-Projekt darstellt, und somit die Qualität der Anforderungsdokumentation und die frühzeitige Fehlervermeidung zentrale Aspekte des RE sind. Die Einordnung von RE in den Softwarelebenszyklus wird hier verdeutlicht, um seine Bedeutung für den Erfolg des gesamten Projekts zu betonen.

III.Untersuchung verschiedener Vorgehensmodelle

Die Arbeit analysiert verschiedene Vorgehensmodelle (Process Models) wie das V-Modell, den Rational Unified Process (RUP) und Extreme Programming (XP) im Hinblick auf ihren Beitrag zum Anforderungsmanagement. Der Vergleich betrachtet die Stärken und Schwächen der jeweiligen Ansätze im Umgang mit Anforderungsanalyse, Anforderungsdokumentation, und der Anforderungsvalidierung. Es werden Unterschiede in der Phasenorientierung, der Berücksichtigung von Use Cases, und der Handhabung von Änderungen beleuchtet.

1. Vergleich verschiedener Vorgehensmodelle im Anforderungsmanagement

Dieser Abschnitt untersucht verschiedene Vorgehensmodelle (V-Modell, Rational Unified Process (RUP), Extreme Programming (XP)) im Hinblick auf ihre Ansätze im Anforderungsmanagement. Es wird nicht angestrebt, jedes Modell im Detail zu beschreiben, sondern deren Beitrag zur Anforderungsanalyse zu untersuchen und Ideen zum Requirements Engineering zu sammeln. Die Auswahlkriterien für die untersuchten Modelle basieren auf Literaturrecherche und der Analyse verschiedener Ansätze. Der Fokus liegt auf dem Vergleich der unterschiedlichen Herangehensweisen an die Anforderungsanalyse, -dokumentation und -validierung. Es wird aufgezeigt, wie die jeweiligen Modelle die Identifizierung, Analyse und Dokumentation von Kundenwünschen handhaben und welche Methoden sie zur Qualitätssicherung einsetzen. Der Abschnitt dient dazu, die Stärken und Schwächen der verschiedenen Vorgehensmodelle im Kontext des Anforderungsmanagements herauszuarbeiten und den Leser auf die Unterschiede in der Phasenorientierung und den Arbeitsabläufen aufmerksam zu machen. Die Analyse der Modelle soll im späteren Verlauf helfen, eigene, optimierte Ansätze zu entwickeln.

2. Detaillierte Betrachtung des V Modells und des RUP

Das V-Modell wird als ein in der deutschen IT-Landschaft weit verbreitetes Modell untersucht. Die Arbeit beschreibt den Aufbau des V-Modells mit seinen komplexen Submodellen und bürokratischen Formalismen. Der praktische Erkenntnisgewinn wird als eher gering eingeschätzt aufgrund des Fehlens eines eigenen Submodells für das Anforderungsmanagement und der starken Fokussierung auf abstrakte Konzepte. Der hohe Dokumentationsaufwand wird als kritisch bewertet, obwohl die Trennung in eine fachliche und technische Sicht sowie die Einführung von Nachweiselementen als theoretisch stichhaltig angesehen wird. Im Gegensatz dazu wird der Rational Unified Process (RUP) als objektorientierte Methode zur Anforderungsentwicklung dargestellt. Im RUP hat das Requirements Engineering den gleichen Stellenwert wie andere Bereiche, was dessen Bedeutung unterstreicht. Der RUP bietet konkrete Workflows, Vorlagen und Beispiele sowie ein komplexes Rollenmodell für die Anforderungsentwicklung. Das Konzept der Anforderungsverständigung wird erweitert, und der Feedback-Gedanke durch Checklisten und Change Requests in den RE-Prozess integriert. Der RUP nutzt den Anwendungsfall als Ausgangspunkt für Entwurf, Test und Dokumentation, und die Möglichkeit der webbasierten Nutzung wird positiv hervorgehoben.

3. Extreme Programming XP und alternative Ansätze

Extreme Programming (XP) wird als grundlegend anders im Vorgehen als die phasenorientierten Modelle V-Modell und RUP dargestellt. XP konzentriert sich auf eine überschaubare Anzahl effizienter Techniken mit gelockerten Vorgaben. Nicht alle XP-Techniken sind für die Untersuchung relevant. Der Abschnitt beschreibt den Teil von XP, der der klassischen Analysephase entspricht, mit dem Fokus auf die Anforderungsanalyse. Es wird die direkte Verknüpfung von Analyse und Design in XP hervorgehoben, im Gegensatz zur Spezifikation von Anforderungsdokumenten vor dem technischen Entwurf in anderen Modellen. Die zentrale Stellung der Programmierung und iterative, inkrementelle Durchführung werden betont. Wichtige XP-Techniken, die sich über den gesamten Projektverlauf erstrecken, werden kurz beschrieben, darunter die Nutzung von Metaphern zur besseren Verständigung und kurze Releasezyklen für schnelles Feedback. Der Abschnitt zeigt, wie XP einen anderen Ansatz im Anforderungsmanagement verfolgt als traditionelle Vorgehensmodelle und die frühzeitige Einbindung des Kunden in den Entwicklungsprozess betont.

IV.Anwendungsfälle und Anforderungsschablonen

Die Arbeit untersucht Anwendungsfälle (Use Cases) als gängiges Mittel zur Erfassung von High-Level-Anforderungen. Die Grenzen der UML-Notation werden diskutiert, und die Bedeutungsanalyse durch Anforderungsschablonen als Methode zur Präzisierung von naturspachlichen Anforderungen vorgestellt. Dies zielt darauf ab, Mehrdeutigkeiten zu reduzieren und die Qualität der Anforderungen zu verbessern.

1. Anwendungsfälle als Methode der Anforderungsanalyse

Dieser Abschnitt beschreibt die Verwendung von Anwendungsfällen (Use Cases) als gängiges Mittel zur Entwicklung von High-Level-Anforderungen. Es wird betont, dass Anwendungsfälle eine Gesamtsicht auf das zu entwickelnde System bieten und Ausgangspunkt für spätere Entwurfsentscheidungen sind. Die Notwendigkeit der Betrachtung aus unterschiedlichen Blickwinkeln wird hervorgehoben, um die dynamischen Aspekte der fachlichen Seite zu erfassen. Die Beschreibung von Anwendungsfällen erfolgt meist textuell und kann durch Ablaufdiagramme, Zustandsdiagramme, Petri-Netze oder Pseudo-Code ergänzt werden. Jeder Anwendungsfall hat einen Auslöser (Aktor), meist Mitarbeiter oder Kunden, die wertvolle Informationen über die Systemgrenzen liefern. Das Anwendungsfallmodell dient als Diskussionsgrundlage mit dem Kunden und als Strukturierungsmittel für das Gesamtsystem. Die Grenzen der rein grafischen UML-Notation von Anwendungsfällen werden angesprochen, da der Aussagewert der Diagramme als eher gering eingeschätzt wird und die textuelle Beschreibung wichtiger für die Detaillierung und Präzisierung der Anforderungen ist. Die UML-Beziehungskonzepte (include, extend, generalization) werden kurz erwähnt, aber ihre Anwendung für die Anforderungsanalyse wird kritisch hinterfragt.

2. Bedeutungsanalyse mit Anforderungsschablonen zur Präzisierung

Um Auftraggeber und Anwender stärker in die Analyse einzubinden, werden natürlichsprachliche Methoden zur Ermittlung und Qualitätssicherung von Anforderungen vorgeschlagen. Im Gegensatz zu abstrakten Darstellungsversuchen basiert dieser Ansatz auf der natürlichen Sprache, um Anforderungen zu verfassen und abzuleiten. Hochwertige, eindeutige, vollständige, testbare, umsetzbare und juristisch verbindliche Anforderungen in Form einfacher Sätze und Wortgruppen sollen die Akzeptanz beim Kunden erhöhen. Die Autoren Rupp et al. werden erwähnt, die einen Weg beschreiben, wie Sprachdefekte verhindert werden können. Die Bedeutungsanalyse mit Anforderungsschablonen der Sophist Group wird als Ansatz vorgestellt, um Sprachdefekte zu analysieren und zu vermeiden. Dieser Ansatz greift die Problematik von Mehrdeutigkeiten in natürlichsprachlichen Anforderungen auf und bietet eine Methode, diese aktiv zu verhindern, anstatt sie lediglich durch formale oder grafische Methoden zu umgehen. Die Kombination aus Anwendungsfällen für High-Level-Anforderungen und Anforderungsschablonen für Low-Level-Anforderungen wird als umfassender Ansatz für die Anforderungsanalyse präsentiert.

V.Kundensicht und Praxisbeispiel ELFI

Basierend auf Interviews mit 20 Großkunden der GFT Systems GmbH (z.B. Deutsche Post/DHL, Thyssen Krupp, T-Online), werden typische Herausforderungen im Umgang mit Kundenanforderungen identifiziert und klassifiziert. Das Projekt ELFI (für die Stadt Leipzig) dient als Fallbeispiel für die Anwendung der im Rahmen der Arbeit entwickelten Ansätze. ELFI fokussiert sich auf die Optimierung von Haushalts-, Kassen- und Belegwesenprozessen mittels eines neuen IT-Systems und veranschaulicht die praktische Anwendung von Anforderungsmanagement-Methoden.

1. Kundensicht auf Herausforderungen im Anforderungsmanagement

Dieser Abschnitt präsentiert die Ergebnisse einer Befragung von 20 namhaften Großkunden der GFT Systems GmbH (u.a. Deutsche Post/DHL, ThyssenKrupp, T-Online, AWD, Stadt Leipzig). Die Kunden wurden per E-Mail kontaktiert und gebeten, typische Schwierigkeiten im Umgang mit Kundenanforderungen zu nennen. Um die Anonymität der Befragten zu wahren, werden keine exakten prozentualen Angaben gemacht, sondern das prinzipielle Meinungsbild der Kunden als Auftraggeber reflektiert. Die Auswertung der Antworten aus persönlichen Interviews und einem virtuellen Brainstorming erfolgte ohne die Anwendung bekannter theoretischer Konzepte, um den Praxisbezug zu betonen. Die gesammelten Schwierigkeiten wurden abstrahiert und klassifiziert, um ein übersichtliches Schema der häufigsten Probleme zu erstellen. Der Abschnitt liefert somit wertvolle Einblicke in die Herausforderungen, denen sich Unternehmen bei der Formulierung und Verwaltung von Anforderungen gegenübersehen, aus der Perspektive ihrer Auftraggeber. Dies bildet eine wichtige Grundlage für die Entwicklung praxisrelevanter Lösungen im Anforderungsmanagement.

2. Das Praxisbeispiel ELFI Optimierung des Haushalts Kassen und Belegwesen in Leipzig

Der Abschnitt beschreibt das Projekt ELFI für die Stadt Leipzig als Fallbeispiel. Vor einigen Jahren wurde eine Organisationsuntersuchung zum Haushalts-, Kassen- und Belegwesen der Stadt Leipzig durchgeführt, um Potenziale für eine effizientere Gestaltung der Verwaltungsabläufe zu identifizieren. Als Ergebnis wurde die Einführung eines neuen IT-Verfahrens empfohlen, da das bestehende Großrechnerverfahren (HKR-Verfahren) aus dem Jahr 1992 aufgrund des Alters und der fachlichen Anforderungen des Auftraggebers nicht mehr geeignet war. Das Ziel des Projekts ELFI war die Abbildung der Verwaltungsabläufe im Kassen- und Belegwesen (Teilprozesse Kassenverfahren und Haushaltsüberwachung) sowie die organisatorische Kompetenzverteilung in einer elektronischen Verfahrensadministration. Die bisherige manuelle Bearbeitung von Formularen sollte durch ein elektronisches Formularsystem ersetzt werden. Es werden die identifizierten Fachmodule und der angestrebte Prozess beschrieben, um die praktische Anwendung der im theoretischen Teil vorgestellten Methoden zu veranschaulichen. Das Beispiel veranschaulicht die Komplexität von Anforderungsanalysen in realen Projekten und wie ein ganzheitlicher Ansatz zu besseren Ergebnissen führen kann.

VI.Entwicklung eines Anforderungsmanagement Werkzeugs ProjectMentor

Die Arbeit beschreibt die Entwicklung von ProjectMentor, einem Anforderungsmanagement-Werkzeug der GFT Systems GmbH. ProjectMentor zielt auf die effiziente Strukturierung und Verwaltung einer großen Anzahl von Anforderungen ab, unterstützt die konsistente Integration von Anforderungsänderungen und fördert die kooperative Entwicklung. Es wird ein relationales Datenmodell und eine Java-basierte Benutzeroberfläche verwendet.

1. Konzeption und Zielsetzung von ProjectMentor

Dieser Abschnitt beschreibt die Entwicklung von ProjectMentor, einer Anforderungsmanagement-Lösung der GFT Systems GmbH. Das Werkzeug zielt auf die Strukturierung und Verwaltung einer großen Anzahl von Anforderungen ab, um die Effizienz im Anforderungsmanagement zu steigern. Ein zentrales Problem, das ProjectMentor adressiert, ist die Schwierigkeit, ein transparentes Beziehungsgeflecht zwischen Anforderungen zu schaffen und Interdependenzen zu verwalten. ProjectMentor soll die konsistente Integration von Anforderungsänderungen und die Unterstützung kooperativer Entwicklung (Teamarbeit) und Versionierung ermöglichen. Die softwaregestützte Abbildung der Anforderungen soll die Effizienz deutlich erhöhen. Die Grundlage des Anforderungskatalogs bildet ein strukturierter Speicher (Repository) mit Mechanismen zur Definition, Speicherung und Verwaltung von Kundenwünschen. Dieser Ansatz ist ideal für die Umsetzung in einem RE-Werkzeug. Die Notwendigkeit eines solchen Werkzeugs ergibt sich aus der Komplexität des Anforderungsmanagements und dem Bedarf an effizienten Methoden zur Organisation und Verwaltung von Anforderungen in größeren Projekten. Autoritäre Handlungsanweisungen und starre Vorgaben sind nicht zielführend; stattdessen sollte auf die Erfahrungswerte der Organisation zurückgegriffen und die Mitarbeitenden in den Verbesserungsprozess eingebunden werden.

2. Technische Umsetzung und Funktionalität von ProjectMentor

Der Abschnitt detailliert die technische Umsetzung von ProjectMentor. Es wird ein relationales Datenmodell für das Repository verwendet, mit einer JDBC-Anbindung und einem Java-Client für den Zugriff und die Bearbeitung durch den Anforderungsingenieur. Der Anforderungskatalog, der in ProjectMentor abgebildet ist, wurde nach Implementierung der wichtigsten Funktionen durch ProjectMentor selbst modelliert. Die Benutzeroberfläche des Prototyps wird kurz beschrieben. Der Abschnitt zeigt, wie die softwaregestützte Abbildung der Anforderungen die Effizienz der Arbeit deutlich erhöhen und erst ermöglichen kann. Es wird betont, dass ein strukturierter Speicher (Repository) für die Definition, Speicherung und Verwaltung von Kundenwünschen sowie den Zugriff darauf unerlässlich ist. Die technische Architektur von ProjectMentor ist auf eine systematische Erfassung und Dokumentation von Anforderungen ausgerichtet und soll somit einen wichtigen Beitrag zur Optimierung des Anforderungsmanagementprozesses leisten. Die Implementierung selbst dient als Beispiel für die Anwendung der im theoretischen Teil vorgestellten Prinzipien.