Requirements Engineering mit DOORS - Themenarbeit Softwareengineering - Oliver Röösli
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Requirements Engineering mit DOORS Themenarbeit Softwareengineering Oliver Röösli oliver.roeoesli@stud.hslu.ch Oliver Röösli Seite 1/18
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
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
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
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
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
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