Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli

Die Seite wird erstellt Martin Kluge
 
WEITER LESEN
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
Requirements Engineering mit DOORS

                Themenarbeit Softwareengineering

                            Oliver Röösli
                   oliver.roeoesli@stud.hslu.ch

Oliver Röösli                                      Seite 1/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
Inhaltsverzeichnis

    1. Abbildungsverzeichnis                                         3

    2. Was ist Requirements Engineering?                             4
        2.1 Kriterien für eine gute Requirements Definition          6

        2.2 10 Schritte für ein besseres Anforderungsmanagement      6

    3. Anforderungen an ein Requirements-Tool                        7

    4. Evaluation Telelogic DOORS®                                   9
        4.1 Einführung DOORS                                         9

                4.1.1 Features von DOORS                             9

                4.1.2 Unterstützte Betriebssysteme & Installation   10

        4.2 Was kann DOORS                                          10

        4.1 SWOT-Analyse                                            14

        4.2 Vor- und Nachteile                                      15

    5. Einsatz von CARE-Werkzeugen                                  16

    6. Fazit                                                        17

    7. Quellenverzeichnis                                           18
        7.1 Literatur                                               18

        7.2 Internet                                                18

Oliver Röösli                                                       Seite 2/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
1. Abbildungsverzeichnis
Abbildung 1: Grund von Fehlern
Abbildung 2: Fehlerbehebungskosten
Abbildung 3: Treiber für Anforderungen
Abbildung 4: Oberfläche DOORS
Abbildung 5: Änderungsrequest in DOORS
Abbildung 6: Verknüpfungen in DOORS

Oliver Röösli                            Seite 3/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
2. Was ist Requirements Engineering?
Um zu erklären, was genau Requirements Engineering oder auf deutsch
„Anforderungserhebung“ ist, braucht es zuerst eine Definition für den Begriff
Anforderung.

Definiton Requirements:

Ein Requirement ist eine Anforderung an ein System, das heisst eine (Soll-) Aussage
über das für einen Beobachter oder Umsystem wahrnehmbare Verhalten eines
Systems 1.

Das Requirements Engineering ist diejenige Disziplin des Projektmanagements,
welche die Anforderungen an das Zielsystem aktiv durch ihren gesamten
Lebenszyklus begleitet mit Hilfe von ingenieurmässigen Vorgehen2.

Warum wird Requirements Engineering überhaupt getan. Oft läuft es in
Softwareprojekten so, dass das Endprodukt nicht dem erwarteten Produkt entspricht.
Der Grund ist meistens bei nicht genau definierten oder missverstandenen
Anforderungen zu suchen, was folgende Grafik deutlich veranschaulicht.

                                      Abbildung 1: Grund von Fehlern

1   Mertens M, 2008, Informationsmanagement_Kapitel6.pdf

2   Mertens M, 2008, Informationsmanagement_Kapitel6.pdf

Oliver Röösli                                                              Seite 4/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
Ein weiteres Problem, dass durch nicht genau definierten Anforderungen entsteht sind
die Kosten. Je später in einem Software Projekt ein Fehler oder eine Abweichung zum
Soll-Zustand erkannt wird, desto höher fallen die Kosten für dessen Bereinigung aus.
Und das Requirements Engineering ist eine der ersten Disziplinen überhaupt.

                           Abbildung 2: Fehlerbehebungskosten

Weitere negative Effekte können zusätzlich entstehen, falls dem Requirements
Engineering zu wenig Beachtung geschenkt wird. Dies sollte gleich eine Motivation
sein, sich für ein gut praktiziertes Requirement Engineering einzusetzen.

      ‣ Die Wünsche und Bedürfnisse ändern sich, und man erkennt es nicht
      ‣ Das Entwickelte lässt sich nicht gut integrieren
      ‣ Die Lösung ist nur schwer wartbar
      ‣ Performance Probleme
      ‣ Die Teams arbeiten nicht effizient
      ‣ Grosser Testaufwand, ohne zu wissen ob man alles testet
      ‣ Komplexität des Umfelds wird zu spät erkannt
Die Hauptaktivitäten von Requirements Engineering sehen wie folgt aus:

      1. Sammeln
         a. Gewinnung
         b. Analyse

Oliver Röösli                                                               Seite 5/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
2. Ausarbeiten
         a. Spezifikation
         b. Validierung

      3. Verwalten
         a. Freigabe
         b. Änderung (Change Management)
         c. Verfolgung (Traceability)

2.1 Kriterien für eine gute Requirements Definition

Beim Requirements Engineering geht es nicht nur darum, dass man alle
Anforderungen sammelt. Gerade beim zweiten Schritt, in der Ausarbeitung der
Anforderungen, muss beachtet werden, dass diese Anforderungen klar und
verständlich formuliert werden. Die goldenen Regeln der Ausarbeitung sind dabei:

      ‣ Anforderungen formulieren, keine Lösungen
      ‣ Schreibweise soll klar und verständlich sein (in der Sprache des Anwenders)
      ‣ Die Subjekte sollen definierte werden
      ‣ Passivsätze sollten wenn möglich vermieden werden
      ‣ Die Bedeutung von „muss“, „soll“, „kann“ sollte zuerst definiert werden
      ‣ Wo möglich quantifizierbare und testbare Aussagen
      ‣ Verwende ein Glossar

2.2 10 Schritte für ein besseres Anforderungsmanagement

Diese 10 Schritte sollten beim Requirements Engineering beachtet werden und kann
als Checkliste eingesetzt werden.

      1. Definiere den Nutzen
      2. Identifiziere die Stakeholder3
      3. Verstehe die Treiber

3Stakeholder ist ein Individuum, eine Organisation oder ein System, das Einfluss hat auf ein Projekt bzw. es zu
Fall bringen kann

Oliver Röösli                                                                                         Seite 6/18
Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
Abbildung 3: Treiber für Anforderungen

      4. Ermittle die operationellen Konzepte
      5. Definiere die externen Schnittstellen
      6. Benutze ein einfaches Format
      7. Vermeide mehrdeutige Terminologien
      8. Definiere logische und verständliche Anforderungen
      9. Definiere eine Verifizierungsmethode
      10. Benutze ein Standardtemplate

Diese 10 Schritte garantieren noch kein besseres Requirement Management, doch
sollten sie auf jeden Fall beachtet werden.

3. Anforderungen an ein Requirements-Tool
Die Software Projekte werden allgemein immer komplexer und zum anderen wird die
Software auch vermehrt weltweit entwickelt. Dies bedingt, dass eine ständig
wachsende Anzahl von weltweit verteilten Stakeholdern im Requirement Engineering
berücksichtigt werden muss. Darüber hinaus werden kurze Innovationszyklen und
kürzere Produkteinführungszeiten (time-to-market) zu einem entscheidenden
Wettbewerbsfaktor, wodurch sich der verfügbare Zeitrahmen für die Entwicklung eines
Systems und damit auch das Requirement Engineering verringert.

Die Anforderungen können natürlich auf einem Blatt Papier, oder in einer Excel-Liste
aufgenommen werden. Doch gibt es vermehrt auch Tools auf dem Markt, die das
Requirement Management unterstützen und vereinfachen sollten. Diese Tools sind so

Oliver Röösli                                                               Seite 7/18
genannte CARE-Werkzeuge (Computer Aided Requirements Engineering Tools) mit
dem Ziel, Anforderungen an laufende oder gewünschte Software Systeme
systematisch in den Griff zu bekommen.

Bevor ich in dieser Arbeit auf ein bestimmtes Tool eingehe, definiere ich zuerst die
Anforderungen der Anwender inklusive der Projektleitung, was die Ansprüche an ein
solches Tools sind. Sprich, wo kann ein Tool einen wirklichen Nutzen schaffen und den
Prozess effizienter gestalten.

Die Minimalanforderung ist, dass Anforderungen mitsamt ihren Attributen
definiert und abgebildet werden können.

Eine der wichtigsten Anforderungen an ein solches Tool ist mit Sicherheit die
Verfolgbarkeit (Traceability) der Anforderungen. Das heisst, wer hat wann was
gemacht. Dies auch hinweg über sämtlich Artefakte und dessen Verknüpfungen.
Der Vorteil mit dem Einsatz eines CARE-Tools ist, dass es die Daten zentral verwaltet
werden kann. Die Anwender greiffen, dabei auf dein zentrale Datenbank zu, um
Änderungen an den Anforderungen vorzunehmen.

Weiter sollte ein solches Tool Abhilfe schaffen bei der Versionskontrolle, so dass
automatisch, falls nötig, neue Versionen generiert werden und so eine übersichtliche
und kontrollierbare Historie entsteht.

Da sich die Daten auf einer zentralen Datenbank befinden, muss das Tool
Transaktionssicherheit garantieren, so dass keine Inkonsistenzen entstehen
können.

Weiter sollte das Tool fähig sein, Verknüpfungen zwischen den Anforderungen und
weiteren Objekten im Prozess der Softwareentwicklung, zum Beispiel Use-Cases zu
verwalten.

Der Import von anderen Formaten, wie zum Beispiel Excel oder Word sollte möglich
sein, so dass eine Übergang von manuellem Verwalten zu einem Tool möglichst
schnell und reibungslos von sich geht, und nicht alles neu erfasst werden muss.

Features wie das Suchen oder Sortieren verstehen sich beim Einsatz von einem
Requirement Tool von selbst.

Ein weiterer wichtiger Punkt ist die Usability des Tools und sollte auf keinen Fall
unterschätzt werden. Falls das Tool nur schwer zu bedienen ist und es vorher noch

Oliver Röösli                                                                Seite 8/18
Schulungen braucht, kann es schwierig werden, dass das Tool bei den Benutzern
überhaupt Akzeptanz findet und auch wirklich richtig benutzt und eingesetzt wird.

4. Evaluation Telelogic DOORS®
4.1 Einführung DOORS

Das Tool von Telelogic mit dem Namen DOORS ist eine der führenden Lösungen für
das Anforderungsmanagement und ist im Besitz von IBM. DOORS ist vor allem in den
Branchen Luftfahrt, Verteidigung, Telekommunikation und Elektronik stark verbreitet.

                                         DOORS

                 Dynamic      Object     Oriented   Requirements    System

4.1.1 Features von DOORS

Die wesentlichen Features und Vorteile von DOORS sind laut dem Hersteller:

                ‣Intuitive Oberflächen, die die Einführung des Anforderungsmanagements
                förden
                ‣Skalierbarkeit für alle Projektgrössen mit einer beliebigen Anzahl von
                Benutzern
                ‣Eine flexible, aktuelle, benutzerfreundliche Nachverfolgbarkeitsmatrix für
                Anforderungen
                ‣Umfangreicher Support für die Aufzeichnung, Strukturierung, Verwaltung
                und Analyse von Anforderungen und ihrer Nachverfolgbarkeit
                ‣Perfekte Integration mit anderen Lösungen von Telelogic sowie mit
                Drittanbieter für mehr Anforderungstransparenz und eindeutige
                Nachverfolgbarkeit im gesamten Entwicklungslebenszyklus

Oliver Röösli                                                                     Seite 9/18
4.1.2 Unterstützte Betriebssysteme & Installation

DOORS ist für folgende Betriebssysteme erhältlich:

                - Windows
                - HP-UX
                - Linux
                - Solaris

Die Installation des Tools ist sehr einfach, man benötigt dazu einen Server-Installer,
einen Client-Installer und ein gültiges Lizenz-File.
Es muss beachtet werden, dass der Server zuerst installiert werden muss. Danach
kann der Client installiert werden und es muss der Pfad der Datei mit den
Lizenzinformationen angegeben werden.

4.2 Was kann DOORS

DOORS ist ein sehr mächtiges CARE-Werkzeug mit einem grossen Funktionsumfang.

DOORS verspricht eine gemeinsame Requirement Management Umgebung, in der ein
Team Informationen sehr leicht verwalten und teilen können. Zur Unterstützung für die
Verwaltung der Requirements bietet DOORS:

      ‣Gap-Analyse für nicht adressierte Anforderungen
      ‣Grafische Tools die dem Benutzer helfen, die Gebiete mit den grössten
      Änderungen zu identifizieren
      ‣Verfolgbarkeits-Analyse zur Risikoidentifizierung
      ‣Umfassende Impact Analysen (Reports) bei neuen allfälligen Änderungen
      ‣Transparente Oberfläche zur Anforderungs-Verwaltung, in nur einem Fenster
      kann DOORS Anforderungen aufnehmen und anzeigen, Grafiken und Tabellen
      können eingebunden werden und die Verknüpfungen werden ersichtlich

Oliver Röösli                                                               Seite 10/18
Abbildung 4:Oberfläche DOORS

DOORS besitzt die Fähigkeit Änderungen (Change Requests) zu managen und
unterstützt den gesamten Lebenszyklus sämtlicher Artefakte im
Softwareentwicklungsprozess sehr gut.
Weiter offeriert DOORS ein Change Proposal System Modul, das für das managen
von Änderungen eingesetzt werden kann. Hier können Anträge für Änderungen an
einem bestimmten Modul gemacht werden und es wird sichergestellt, dass der
Prozess kontrolliert von statten geht.

Oliver Röösli                                                      Seite 11/18
Abbildung 5: Änderungsrequest in DOORS

Wie bereits erwähnt ist die Traceability eine der wichtigsten Anforderungen an ein
solches Tool. Auch hier kann DOORS Abhilfe schaffen. Mittels Drag and Drop ist es
sehr einfach bestimmte Dokument miteinander zu verlinken. Diverse Reports helfen
dabei dem Anwender den Überblick nicht zu verlieren und sich ein Bild über die
aktuelle Situation zu machen.

Oliver Röösli                                                            Seite 12/18
Abbildung 6: Verknüpfungen in DOORS

Weiter unterstützt DOORS auch das Prinzip des Requirements-Driven Developments
und kann speziell durch ein weiteres Tool von Telelogic, namentlich Tau, erweitert
werden. Die Integration mit

- HP QualityCenter
- Microsoft Team Foundation Server

wird auch unterstützt.

Mit DOORS kann man nicht nur Anforderungen verwalten, sonder wie schon erwähnt,
sämtlich Artefakte die bei der Entwicklung einer Software entstehen. Auch im Bereich
des Testing bietet DOORS einige nützlich Funktionen, doch ich fokussiere mich in
dieser Arbeit auf das Verwalten der Anforderungen und werde nicht auf all die anderen
Features eingehen.

Oliver Röösli                                                               Seite 13/18
4.1 SWOT-Analyse

Die SWOT-Analyse soll einen Überblick über die grössten Stärken, Schwächen,
Chancen und Risiken bei einem Einsatz von DOORS geben.

         • Zentrale Datenhaltung         • Usability (benötigt
         • Mehrbenutzerfähigkeit           Schulung und Übung)
         • Traceability                  • Lizenzkosten
         • Versionskontrolle             • Administration der SW
                                                                            S
         • Transaktionsicherheit           (Benutzer, Rollen,
  S                                                                         C
         • Import diverser Formate         Berechtigungen)
  T                                                                         H
         • Such- und
  Ä                                                                         W
           Sortierfunktionen
  R                                                                         Ä
         • Verlinkung zu anderen
  K                                                                         C
           Artefakten
  E                                                                         H
         • Transparenz
  N                                                                         E
         • Fortschritt- und
                                                                            N
           Statuskontrolle
         • Anpassungsfähigkeit (doors
           extension language)

         • Effizientere Prozesse         • Akzeptanz der Mitarbeiter
         • kürzere time-to-market        • Richtige Anwendung
         • bessere Qualität              • Weniger Kommunikation
         • bessere Kunden/               • (zu) grosser
                                           Funktionsumfang                  R
  C        Lieferanten Beziehungen
                                                                            I
  H      • Kosteneinsparungen                                               S
  A
                                                                            K
  N
                                                                            I
  C
                                                                            K
  E
                                                                            E
  N
                                                                            N

Oliver Röösli                                                          Seite 14/18
Grundsätzlich gilt diese Analyse nicht nur für DOORS, sondern kann generell für
CARE-Werkzeuge betrachtet werden. Die Unterschiede der einzelnen Tools sind nur
minimal und der Funktionsumfang ist in etwa identisch.

4.2 Vor- und Nachteile

Aus dieser SWOT-Analyse lassen sich die grössten Vor- und Nachteile von DOORS
leicht ableiten.

Ein wesentlicher Vorteil ist sicher die zentrale Datenhaltung sowie die Traceability. Die
Nachverfolgbarkeitkeit ist ein sehr nützliches Feature in DOORS und es ist sehr leicht
zu sehen, wann eine Person an einer bestimmten Anforderung etwas geändert hat.

Auch die Verlinkungen in DOORS sind gut implementiert, und man kann innerhalb der
Applikation von den Requirements zu den Use-Cases und auch anderen Artefakten im
Softwareentwicklungsprozess springen und erhält somit völlige Transparenz.

Den grössten Nachteil sehe ich in der Benutzung dieses Werkzeugs. So intuitiv, wie
der Hersteller das verspricht, ist die Software leider nicht. Es braucht eine gewisse
Zeit, bis man die Applikation auch wirklich effizient nutzen kann.
Weiter ist die Disziplin der Anwender gefragt, dass sie auch wirklich immer den
aktuellen Stand der Dinge in DOORS eintragen.
Zu beachten sind auch die Lizenzkosten und mögliche Wartungsverträge, die je nach
Paket und Bedürfnis unterschiedlich hoch ausfallen.

Oliver Röösli                                                                  Seite 15/18
5. Einsatz von CARE-Werkzeugen
CARE-Werkzeuge werden immer vermehrt eingesetzt, doch nach wie vor werden
meist eigens entwickelte Lösungen oder EXCEL als Werkzeug eingesetzt. Ein weiteres
führendes Tool im Bereich Requirement Management ist Rational RequisitePro®
ebenfalls von IBM. Weiter gibt es Jira, Slate und etliche mehr.

                    Markt Werkzeuge Anforderungsanalyse, SEI 2002

                                           3%
                                 19%

                                                      51%
                                 27%

         Sonstige oder Eigententwicklung        RequisitePro   Doors    Slate

Die meisten auf dem Markt erhältlichen Tools umfassen in etwa denselben
Funktionsumfang und bieten dieselben Vor- und Nachteile wie das Produkt von
Telelogic.

Oliver Röösli                                                            Seite 16/18
6. Fazit
Ob man ein CARE-Werkzeug einsetzen will, sollte zuerst gründlich hinterfragt und
abgewägt werden.
Alle auf dem Markt erhältlichen Tools können sehr viel und decken meist nicht nur das
Anforderungsmanagement ab. Diese Tools können, was man sich von ihnen
verspricht, leider meist noch viel mehr. Sie schaffen Abhilfe bei Themen wie
Traceability, zentrale Datenhaltung oder auch das Verknüpfen zu anderen Artefakten.

Gerade aber die Handhabung dieser Tools ist nicht immer ganz einfach und bringt
interne Schulungen mit sich, was auch wieder Kosten verursacht. Weiter ist die
Disziplin der Anwender gefragt, nur falls diese das Tool auch richtig und konsequent
bedienen, kann ein Mehrwert entstehen. Die Gefahr ist auch, dass die Kommunikation
zwischen der Projektleitung und dem Projektteam leidet, da weniger persönliche
Kommunikaton stattfindet und stattdessen der Fortschritt und die Kontrolle nur noch
über das Tool abgewickelt wird.

Schlussendlich ist es eine Frage der Grösse des Projekts und der Anzahl
Anforderungen die verwaltet werden müssen. Meiner Meinung nach kann man gut bis
zu 200 Anforderungen auch in einem EXCEL-Sheet verwalten und spart sich dabei
das Einarbeiten in ein bestimmtes Tool, sowie auch die entstehenden Lizenzkosten.
Sind es mehr, kann man ein solches Werkzeug in Betrachtung ziehen. Gerade wenn
man sehr viel Artefakte mit Beziehungen untereinander verwalten muss und das auch
noch weltweit verteilt, kann zum Beispiel DOORS einen echten Vorteil liefern. Die
Transparenz ist mit Sicherheit wesentlich höher, als wenn man nur ein EXCEL einsetzt
und die Unterstützung gilt für den gesamten Lebenszyklus der Anforderungen mitsamt
den Änderungen.

Als Schlusswort gilt zu sagen, dass die Tools auch nur so gut sind wie die Personen
die es bedienen.

Oliver Röösli                                                               Seite 17/18
7. Quellenverzeichnis
7.1 Literatur

•Mertens M, 2008, Informationsmanagement_Kapitel6.pdf
•Kurmann D, 2008, Folien Requirements Engineering

7.2 Internet

•http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-301/SoftWiki_2_Hagen.pdf
•www.telelogic.com/products/doors/index.cfm
•http://www.gi-ev.de/fachbereiche/softwaretechnik/re-pl/publikationen/ak-tools-abschlussbericht-2006.pdf
•http://swt.cs.tu-berlin.de/lehre/seminar/ss07/folien/DOORS_Folien.pdf
•http://www.infforum.de/themen/anforderungsanalyse/thema_RE_werkzeuge.htm
•http://de.wikipedia.org/wiki/Telelogic
•http://www.gi-ev.de/fachbereiche/softwaretechnik/re-pl/publikationen/ak-tools-abschlussbericht-2006.pdf
•http://www.software-kompetenz.de/?16937

Oliver Röösli                                                                                    Seite 18/18
Sie können auch lesen