Basiswissen Requirements Engineering (eBook)

Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level
eBook Download: EPUB
2021 | 5. Auflage
268 Seiten
dpunkt (Verlag)
978-3-96910-245-9 (ISBN)

Lese- und Medienproben

Basiswissen Requirements Engineering -  Klaus Pohl,  Chris Rupp
Systemvoraussetzungen
29,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Kompaktes Grundlagenwerk für den Requirements Engineer

  • Standardwerk in 5. Auflage
  • konform zum IREB-Lehrplan Version 3.0
  • mit interaktiven Elementen: animierte Grafiken, Videos

Dieses Lehrbuch umfasst den erforderlichen Stoff zum Ablegen der Prüfung 'Certified Professional for Requirements Engineering (Foundation Level)' nach IREB-Standard. Es vermittelt das Grundlagenwissen und behandelt die wesentlichen Prinzipien und Praktiken sowie wichtige Begriffe und Konzepte. Die Themen im Einzelnen:

- Grundlegende Prinzipien des Requirements Engineering
- Arbeitsprodukte und Dokumentationspraktiken
- Praktiken für die Erarbeitung von Anforderungen
- Prozess und Arbeitsstruktur
- Praktiken für das Requirements Management
- Werkzeugunterstützung

Das Buch eignet sich gleichermaßen für das Selbststudium, zur Vorbereitung auf die Zertifizierung sowie als kompaktes Basiswerk zum Thema in der Praxis und an Hochschulen.

Die 5. Auflage wurde komplett überarbeitet, ist konform zum IREB-Lehrplan Foundation Level Version 3.0 und wurde angereichert mit interaktiven Elementen wie animierte Grafiken und Videos.



Prof. Dr. Klaus Pohl leitet die Forschungsgruppe Software Systems Engineering an der Universität Duisburg-Essen und ist geschäftsführender Direktor von paluno - The Ruhr Institute for Software Technology an der Uni DuE. Das Requirements Engineering zählt seit Anfang der 90er-Jahre zu seinen Forschungs- und Beratungs-schwerpunkten. Er war der wissenschaftliche Gründungsdirektor von lero - The Irish Software Research Centre -, leitete zahlreiche Industrie- und Forschungsprojekte im Bereich Software Systems Engineering und ist (Co-)Autor von über 300 begutachteten Publi-kationen, darunter mehrere Bücher. Chris Rupp ist OberSOPHISTin (formal: geschäftsführende Gesell-schafterin). In 30 Jahren Berufstätigkeit sammelt sich so einiges an: ein Unternehmen, 6 Bücher, 55 Mitarbeiter und unheimlich viel Erfahrung. Meine Leidenschaft für die Projektberatung ist vermut-lich schuld daran, dass ich bis heute nicht 'nur' manage, sondern auch ganz nah am Kunden und an Innovationsprojekten dran bin und in Projekten mitarbeite. Gute Ideen so umzusetzen, dass alle Stakeholder das Gefühl haben, ein intelligentes und nutzbringen-des Produkt vor sich zu haben, ist die Vision, die mich dabei an-treibt. Mein Wissen teile ich gerne in Vorträgen, Büchern und Artikeln.

Prof. Dr. Klaus Pohl leitet die Forschungsgruppe Software Systems Engineering an der Universität Duisburg-Essen und ist geschäftsführender Direktor von paluno – The Ruhr Institute for Software Technology an der Uni DuE. Das Requirements Engineering zählt seit Anfang der 90er-Jahre zu seinen Forschungs- und Beratungs-schwerpunkten. Er war der wissenschaftliche Gründungsdirektor von lero – The Irish Software Research Centre –, leitete zahlreiche Industrie- und Forschungsprojekte im Bereich Software Systems Engineering und ist (Co-)Autor von über 300 begutachteten Publi-kationen, darunter mehrere Bücher. Chris Rupp ist OberSOPHISTin (formal: geschäftsführende Gesell-schafterin). In 30 Jahren Berufstätigkeit sammelt sich so einiges an: ein Unternehmen, 6 Bücher, 55 Mitarbeiter und unheimlich viel Erfahrung. Meine Leidenschaft für die Projektberatung ist vermut-lich schuld daran, dass ich bis heute nicht "nur" manage, sondern auch ganz nah am Kunden und an Innovationsprojekten dran bin und in Projekten mitarbeite. Gute Ideen so umzusetzen, dass alle Stakeholder das Gefühl haben, ein intelligentes und nutzbringen-des Produkt vor sich zu haben, ist die Vision, die mich dabei an-treibt. Mein Wissen teile ich gerne in Vorträgen, Büchern und Artikeln.

1 Einleitung und Grundlagen


Die Bedeutung des Requirements Engineering für die erfolgreiche, den Kunden1 zufriedenstellende Entwicklung von Systemen ist mittlerweile nicht mehr zu übersehen. In der Praxis ist es üblich, einen entsprechenden Aufwand für das Requirements Engineering einzuplanen. Der Requirements Engineer ist dementsprechend meist eine eigenständige Rolle im Projekt mit anspruchsvollen Tätigkeiten.

1.1 Requirements Engineering – Was?


Um ein Entwicklungsprojekt zum Erfolg zu führen, muss zunächst bekannt sein, was die Anforderungen an das System sind.

Definition 1–1: Anforderung

Eine Anforderung ist:

  1. (1) Ein notwendiges Bedürfnis eines Stakeholders.
  2. (2) Eine Fähigkeit oder Eigenschaft, die ein System erfüllen muss.
  3. (3) Eine dokumentierte Repräsentation eines Bedürfnisses, einer Fähigkeit oder Eigenschaft.

Übersetzta aus [IREB-Glossar 2020]

a. Die Begriffe sind im IREB-Glossar sowohl in Deutsch als auch in Englisch angegeben, die Definition aber nur in Englisch.

Die Bedeutung der Stakeholder

Stakeholder (Interesseneigner) ist einer der zentralen Begriffe im Requirements Engineering. Stakeholder dienen u.a. als wichtigste Quellen für Anforderungen, und das Übersehen eines Stakeholders hat häufig zur Konsequenz, dass die ermittelten Anforderungen an das System lückenhaft sind [Macaulay 1993]. Stakeholder sind also alle diejenigen Personen oder Organisationen, die Anforderungen in irgendeiner Weise beeinflussen. Das können natürliche Personen sein, die das System später nutzen werden (z.B. Nutzer oder Administrator), und natürliche Personen, die Interesse an dem System haben, es aber nicht nutzen werden oder sollen (z.B. das Management oder Hacker, vor denen man das System schützen muss). Stakeholder können aber auch juristische Personen oder Institutionen sein, die allerdings durch natürliche Personen vertreten werden müssen, die die Anforderungen des betrachteten Systems beeinflussen bzw. definieren können.

Definition 1–2: Stakeholder (Interesseneigner)

Ein Stakeholder ist eine Person oder Organisation, die Einfluss auf die Anforderungen des Systems hat oder auf die das System Auswirkungen hat.

Übersetzt aus [IREB-Glossar 2020]

Anforderungen werden für eine Vielzahl von Dingen erhoben, die im Requirements Engineering häufig alle vereinfacht als Systeme bezeichnet werden. Hierzu zählen:

  • Dem Kunden zur Verfügung gestellte Produkte
    Hierunter werden häufig klassische Softwaresysteme verstanden, die an den Kunden ausgeliefert werden. Daneben finden sich vermehrt Systeme mit einem Softwareanteil, die aber auch Hardware oder mechatronische Bestandteile umfassen.
  • Dem Kunden zur Verfügung gestellte Dienstleistungen
    Neben den zuvor angesprochenen Systemen, die als Produkt an den Kunden ausgeliefert werden, zählen hierzu beispielsweise Services, die zur Verfügung gestellt werden.
  • Andere Arbeitsergebnisse
    Neben Softwareprodukten und Dienstleistungen können Stakeholder aber auch Anforderungen an andere Systeme definieren. Dies können u.a. Arbeitsprodukte, Geräte, Hardwarebauteile oder beliebige Subsysteme oder Komponenten eines Systems umfassen, die benötigt werden, um ein bestimmtes Ziel der Stakeholder zu erreichen.
  • Zusammensetzungen oder Bestandteile der oben genannten Dinge. Also beispielsweise Komponenten oder sonstige Zulieferungen für Systeme des Kunden.

Ziel des Requirements Engineering

Dem Requirements Engineering im Entwicklungsprozess kommt die Aufgabe zu, die Anforderungen der Stakeholder zu ermitteln, zweckmäßig zu dokumentieren, zu überprüfen und abzustimmen sowie die dokumentierten Anforderungen über den gesamten Lebenszyklus des Systems hinweg zu verwalten.

Definition 1–3: Requirements Engineering

Das Requirements Engineering ist ein systematischer und disziplinierter Ansatz zur Spezifikation und zum Management von Anforderungen mit dem Ziel, die Wünsche und Bedürfnisse der Stakeholder zu verstehen und die Gefahr zu minimieren, ein System auszuliefern, das diese Wünsche und Bedürfnisse nicht erfüllt.

Übersetzt aus [IREB-Glossar 2020]

Im Allgemeinen unterscheidet man zwischen drei Arten von Anforderungen:

  • Funktionale Anforderungen
  • Qualitätsanforderungen
  • Randbedingungen (Constraints)

Funktionale Anforderungen legen die Funktionalität fest, die das geplante System zur Verfügung stellen soll. Sie werden typischerweise in Funktions-, Verhaltens- und Strukturanforderungen unterteilt.

Definition 1–4: Funktionale Anforderung

Eine funktionale Anforderung ist eine Anforderung bezüglich des Ergebnisses oder des Verhaltens, das von einer Funktion des Systems bereitgestellt werden soll.

Übersetzt aus [IREB-Glossar 2020]

Qualitätsanforderungen legen gewünschte Qualitäten des zu entwickelnden Systems fest und beeinflussen häufig – in größerem Umfang als die funktionalen Anforderungen – die Gestalt der Systemarchitektur. Typischerweise beziehen sich Qualitätsanforderungen auf die Performance, die Verfügbarkeit, die Zuverlässigkeit, die Skalierbarkeit oder die Portabilität des betrachteten Systems.

Definition 1–5: Qualitätsanforderung

Eine Qualitätsanforderung ist eine Anforderung, die sich auf ein Qualitätsmerkmal bezieht, das nicht durch funktionale Anforderungen abgedeckt wird.

Übersetzt aus [IREB-Glossar 2020]

Zusammenhang zwischen funktionalen Anforderungen und Qualitätsanforderungen

Qualitätsanforderungen stehen häufig mit verschiedenen funktionalen Anforderungen in Beziehung. Qualitätsanforderungen können etwa funktionale Anforderungen weiter konkretisieren oder ihre Umsetzung wird durch funktionale Anforderungen beschrieben. Dennoch empfiehlt es sich, Qualitätsanforderungen und funktionale Anforderungen getrennt voneinander zu spezifizieren. Zudem sollte der Bezug von Qualitätsanforderungen und funktionalen Anforderungen nachvollziehbar dokumentiert werden, um eine größtmögliche Nachvollziehbarkeit zu erreichen.

Exkurs: Qualitätsanforderungen

In der Praxis werden die Qualitätsanforderungen eines Systems häufig nur unzureichend dokumentiert und zwischen Stakeholdern abgestimmt. Dies gefährdet den Projekterfolg oder die spätere Akzeptanz des entwickelten Systems erheblich. Der Requirements Engineer sollte daher im Entwicklungsprozess eines Systems möglichst frühzeitig besonderes Augenmerk auf die Ermittlung, Dokumentation und Abstimmung der Qualitätsanforderungen legen.

Typischerweise werden sehr unterschiedliche Qualitäten eines Systems der Anforderungsart »Qualitätsanforderung« zugeordnet. Um auf strukturierte Art und Weise mit den Qualitätsanforderungen eines Systems umgehen zu können, wurden verschiedenste Kategorisierungen von Qualitätsanforderungen vorgeschlagen. Beispielsweise schlägt der Standard [ISO/IEC 25010:2011] eine Kategorisierung für Qualitätsanforderungen vor, die als Standardstruktur für die Dokumentation von Qualitätsanforderungen und als Checkliste zur Ermittlung und Überprüfung von Qualitätsanforderungen dienen kann. Typische Kategorien dieses Standards sind:

  • Anforderungen, die die Leistung des Systems definieren, insbesondere das Antwortzeitverhalten und der Ressourcenverbrauch.
  • Anforderungen, die die Sicherheit des Systems definieren, beispielsweise die Nachweisbarkeit, Authentizität, Vertraulichkeit und Integrität, aber auch der Schutz des Nutzers vor körperlichen Schäden.
  • Anforderungen, die die Zuverlässigkeit der Funktionalität des Systems definieren, insbesondere in Bezug auf Verfügbarkeit, Fehlertoleranz und Wiederherstellbarkeit.
  • Anforderungen, die die Benutzbarkeit des Systems definieren, insbesondere in Bezug auf Barrierefreiheit, Erlernbarkeit und Bedienbarkeit.
  • Anforderungen, die die Änderbarkeit (Wartbarkeit) des Systems definieren, insbesondere in Bezug auf die Wiederverwendbarkeit, Analysierbarkeit, Modifizierbarkeit und Prüfbarkeit.
  • Anforderungen, die die Übertragbarkeit des Systems definieren, insbesondere in Bezug auf Anpassbarkeit, Installierbarkeit und Austauschbarkeit.

Anforderungen einiger der o.g. Kategorien werden vorherrschend für einzelne Funktionen definiert (z.B. Leistung, Zuverlässigkeit), andere meist für das gesamte System gefordert (z.B. Änderbarkeit, Übertragbarkeit). Qualitätsanforderungen werden gegenwärtig meist in natürlicher Sprache formuliert, da eine formalere Beschreibung nur mit viel Aufwand und Expertise durchgeführt werden...

Erscheint lt. Verlag 29.3.2021
Reihe/Serie Basiswissen
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Software Entwicklung Requirements Engineering
Schlagworte Anforderungsmanagement • Certified Professional Requirements Engineer • CPRE • IREB • Projektmangement • Requirements Engineering • requirements management • Software engineering • Softwareentwicklung • Software- und Systementwicklung
ISBN-10 3-96910-245-6 / 3969102456
ISBN-13 978-3-96910-245-9 / 9783969102459
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
EPUBEPUB (Wasserzeichen)
Größe: 3,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich