Diese Studienarbeit beschäftigt sich mit dem Requirements Engineering für komplexe System. Neben den essenziellen theoretischen Grundlagen werden einige Vorgehensweisen im Detail erörtert. Beginnend mit der Definition der Notwendigkeit, wird auf die Arten von Anforderungen verwiesen. Im nächsten Schritt werden zwei mögliche Richtungen beziehungsweise Vorgehensweisen betrachtet. Den Requirements-Engineer im Fokus, haben die Themen Anforderungen ermitteln, dokumentieren, prüfen, abstimmen und verwalten einen besonderen Stellenwert. Werkzeuge und Herausforderungen schließen den Bericht ab, bevor ein Resümee gezogen wird. Begleitend dient ein Praxisbeispiel zur Veranschaulichung des Entwicklungsprozesses.
Herausfordernd waren Software- und Systementwicklungen von Beginn an. Spätestens seit Einzug der Digitalisierung und Schaffung des Industrie-Standards 4.0 zählt das Anforderungsmanagement zu den Kerntechnologien der Softwareentwicklung.1 Globalisierung führt zu einem steigenden Wettbewerbsdruck für Unternehmen auf dem Weltmarkt. Dies bringt eine Homogenisierung von Produkten hinsichtlich technischer und qualitativer Aspekte mit sich. Markt- und Kundenbedürfnisse müssen akribisch analysiert werden und bilden die Basis für zielgerichtete Entwicklungsprozesse. Daraus muss eine technische sowie wirtschaftliche Überlegenheit dem Mitbewerber gegenüber geschaffen werden. Das Anforderungsmanagement wird somit wesentlicher Bestandteil der strategischen Planung, um Produkte oder Systeme zu entwickeln.
Wie startet man nun eine Entwicklung auf Basis des Anforderungsmanagements und vor allem mit welchen Ressourcen? Welche Möglichkeiten und Iterationsschleifen passen zum jeweiligen Projekt? Genau diese Fragestellungen werden in der Arbeit analysiert und kritisch bewertet. Ein Praxisbeispiel dient in den relevanten Kapiteln als nützliche Hilfestellung, um den theoretischen Inhalt mit realen Gegebenheiten zu untermauern. Zudem liefert ein One Pager im Anhang das finale Rüstzeug, um in Management-Meetings die Idee und die Bedeutung des Requirements Engineering wirksam zu präsentieren.
Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Praxisbeispiel
- 2 Requirements Engineering
- 2.1 Warum braucht man ein Anforderungsmanagement?
- 2.2 Arten von Anforderungen
- 2.2.1 Funktionale Anforderungen
- 2.2.2 Qualitätsanforderungen
- 2.2.3 Randbedingungen
- 2.3 Vorgehensweisen
- 2.3.1 Konventionell
- 2.3.2 Agil
- 2.4 Anforderungen ermitteln
- 2.4.1 Der Requirements Engineer
- 2.4.2 Stakeholder und deren Bedeutung
- 2.4.3 Ermittlungstechniken
- 2.5 Anforderungen dokumentieren
- 2.5.1 Sprachliche Dokumentation
- 2.5.2 Modellbasierte Dokumentation
- 2.6 Anforderungen prüfen
- 2.7 Anforderungen abstimmen
- 2.8 Anforderungen verwalten
- 2.8.1 Priorisierungsmatrix
- 2.8.2 Verfolgbarkeit
- 2.9 Werkzeuge
- 2.10 Herausforderungen des Anforderungsmanagements
- 3 Zusammenfassung und Ausblick
Zielsetzung und Themenschwerpunkte
Diese Studienarbeit untersucht das Requirements Engineering für komplexe Systeme. Ziel ist es, die theoretischen Grundlagen zu erläutern und verschiedene Vorgehensweisen, insbesondere konventionelle und agile Methoden, zu vergleichen. Die Arbeit beleuchtet den Prozess vom Ermitteln und Dokumentieren bis zum Verwalten von Anforderungen.
- Theoretische Grundlagen des Requirements Engineering
- Vergleich konventioneller und agiler Vorgehensweisen
- Prozess des Anforderungsmanagements (Ermitteln, Dokumentieren, Prüfen, Abstimmen, Verwalten)
- Rollen und Bedeutung von Stakeholdern
- Werkzeuge und Herausforderungen im Anforderungsmanagement
Zusammenfassung der Kapitel
1 Einleitung: Die Einleitung führt in die Thematik des Requirements Engineerings für komplexe Systeme ein und präsentiert ein Praxisbeispiel, das als roter Faden durch die Arbeit dient. Sie begründet die Notwendigkeit eines effektiven Anforderungsmanagements und skizziert den Aufbau der Arbeit.
2 Requirements Engineering: Dieses Kapitel bildet den Kern der Arbeit und behandelt umfassend die verschiedenen Aspekte des Requirements Engineerings. Es beginnt mit der Begründung der Notwendigkeit eines Anforderungsmanagements und beschreibt verschiedene Arten von Anforderungen (funktionale, qualitative, Randbedingungen). Anschließend werden konventionelle und agile Vorgehensweisen im Detail erläutert, inkl. der Rollen des Requirements Engineers und der Bedeutung von Stakeholdern. Die Kapitelteile zur Ermittlung, Dokumentation, Prüfung, Abstimmung und Verwaltung von Anforderungen liefern detaillierte Einblicke in die Praxis. Schließlich werden gängige Werkzeuge und die Herausforderungen des Anforderungsmanagements beleuchtet. Das Kapitel verbindet Theorie und Praxis, indem es das einleitende Praxisbeispiel kontinuierlich einbezieht.
Schlüsselwörter
Requirements Engineering, Anforderungsmanagement, komplexe Systeme, agile Methoden, konventionelle Methoden, Stakeholder, Anforderungsdokumentation, Anforderungsprüfung, Werkzeuge, Herausforderungen.
Häufig gestellte Fragen
Was ist das Ziel dieser Arbeit über Requirements Engineering?
Das Ziel dieser Studienarbeit ist es, das Requirements Engineering für komplexe Systeme zu untersuchen, die theoretischen Grundlagen zu erläutern und verschiedene Vorgehensweisen, insbesondere konventionelle und agile Methoden, zu vergleichen. Die Arbeit beleuchtet den gesamten Prozess vom Ermitteln und Dokumentieren bis zum Verwalten von Anforderungen.
Welche Themenschwerpunkte werden in dieser Arbeit behandelt?
Die Arbeit behandelt folgende Themenschwerpunkte:
- Theoretische Grundlagen des Requirements Engineering
- Vergleich konventioneller und agiler Vorgehensweisen
- Prozess des Anforderungsmanagements (Ermitteln, Dokumentieren, Prüfen, Abstimmen, Verwalten)
- Rollen und Bedeutung von Stakeholdern
- Werkzeuge und Herausforderungen im Anforderungsmanagement
Was ist Requirements Engineering?
Requirements Engineering ist der Prozess, bei dem Anforderungen für ein Softwaresystem oder ein anderes komplexes System definiert, dokumentiert und verwaltet werden. Es umfasst das Ermitteln, Analysieren, Spezifizieren, Validieren und Verwalten von Anforderungen während des gesamten Lebenszyklus des Systems.
Warum ist Anforderungsmanagement wichtig?
Anforderungsmanagement ist wichtig, um sicherzustellen, dass das entwickelte System die Bedürfnisse der Stakeholder erfüllt und dass das Projekt innerhalb des Budgets und Zeitplans abgeschlossen wird. Ein effektives Anforderungsmanagement hilft, Missverständnisse, Fehler und Nacharbeiten zu vermeiden, die zu höheren Kosten und Verzögerungen führen können.
Welche Arten von Anforderungen gibt es?
Es gibt verschiedene Arten von Anforderungen, darunter:
- Funktionale Anforderungen: Beschreiben, was das System tun soll.
- Qualitätsanforderungen: Beschreiben, wie gut das System bestimmte Funktionen ausführen soll (z. B. Leistung, Sicherheit, Benutzerfreundlichkeit).
- Randbedingungen: Beschreiben Einschränkungen, die das System erfüllen muss (z. B. Budget, Zeitplan, gesetzliche Vorschriften).
Was ist der Unterschied zwischen konventionellen und agilen Vorgehensweisen im Requirements Engineering?
Konventionelle Vorgehensweisen im Requirements Engineering sind in der Regel stärker planungsgetrieben und verwenden detaillierte, im Voraus definierte Anforderungen. Agile Vorgehensweisen sind flexibler und iterativer, wobei sich die Anforderungen im Laufe der Zeit entwickeln und angepasst werden.
Welche Rolle spielt der Requirements Engineer?
Der Requirements Engineer ist verantwortlich für die Ermittlung, Dokumentation, Prüfung, Abstimmung und Verwaltung von Anforderungen. Er arbeitet eng mit den Stakeholdern zusammen, um deren Bedürfnisse zu verstehen und in umsetzbare Anforderungen zu übersetzen.
Was sind Stakeholder und warum sind sie wichtig?
Stakeholder sind Personen oder Gruppen, die ein Interesse an dem zu entwickelnden System haben. Sie können Benutzer, Kunden, Manager, Entwickler oder andere Beteiligte sein. Die Einbeziehung der Stakeholder ist entscheidend, um sicherzustellen, dass die Anforderungen vollständig, korrekt und relevant sind.
Welche Techniken werden zur Ermittlung von Anforderungen verwendet?
Es gibt verschiedene Techniken zur Ermittlung von Anforderungen, darunter Interviews, Workshops, Fragebögen, Beobachtungen und Prototyping.
Wie werden Anforderungen dokumentiert?
Anforderungen können auf verschiedene Weise dokumentiert werden, z. B. durch sprachliche Dokumentation (z. B. Use Cases, User Stories) oder modellbasierte Dokumentation (z. B. UML-Diagramme).
Wie werden Anforderungen geprüft und abgestimmt?
Anforderungen werden geprüft, um sicherzustellen, dass sie vollständig, konsistent, eindeutig und testbar sind. Die Abstimmung der Anforderungen erfolgt in der Regel durch Reviews, Workshops oder andere Kommunikationsmethoden.
Wie werden Anforderungen verwaltet?
Die Verwaltung von Anforderungen umfasst die Priorisierung, Verfolgung und Versionskontrolle von Anforderungen. Dies hilft, Änderungen zu verwalten und sicherzustellen, dass alle Beteiligten auf dem gleichen Stand sind.
Welche Werkzeuge werden im Anforderungsmanagement eingesetzt?
Es gibt verschiedene Werkzeuge, die im Anforderungsmanagement eingesetzt werden können, z. B. Requirements-Management-Systeme, Projektmanagement-Tools und Modellierungswerkzeuge.
Welche Herausforderungen gibt es im Anforderungsmanagement?
Zu den Herausforderungen im Anforderungsmanagement gehören unvollständige oder unklare Anforderungen, sich ändernde Anforderungen, Kommunikationsprobleme zwischen Stakeholdern und Schwierigkeiten bei der Priorisierung von Anforderungen.
Was sind die Schlüsselwörter im Zusammenhang mit Requirements Engineering?
Die Schlüsselwörter im Zusammenhang mit Requirements Engineering sind: Requirements Engineering, Anforderungsmanagement, komplexe Systeme, agile Methoden, konventionelle Methoden, Stakeholder, Anforderungsdokumentation, Anforderungsprüfung, Werkzeuge, Herausforderungen.
- Quote paper
- Achim Schiller (Author), 2021, Agiles Requirements Engineering für die Entwicklung komplexer Systeme, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/1553548