11.10.2013 Aufrufe

Traceability – Verfolgbarkeit sich ändernder Anforderungen

Traceability – Verfolgbarkeit sich ändernder Anforderungen

Traceability – Verfolgbarkeit sich ändernder Anforderungen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

1<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

<strong>Traceability</strong> <strong>–</strong> <strong>Verfolgbarkeit</strong><br />

<strong>sich</strong> <strong>ändernder</strong> <strong>Anforderungen</strong><br />

Matthias Bogaczyk<br />

02.02.2005


Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

2<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

"Despite the importance of traceability<br />

there is surprisingly little written about it."<br />

[Gerald Kotonya and Ian Sommerville:<br />

Requirements Engineering, processes and techniques, 1997]


1. 1. Was ist ist<br />

traceability?<br />

Gliederung<br />

2. 2. Warum<br />

traceability?<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

3<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

4. 4. Lösungsansätze<br />

für für traceability<br />

3. 3. Probleme<br />

mit traceability


Was ist traceability?<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

4<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Gotel & Finkelstein (1994):<br />

traceability is the ability to describe and follow the life of a<br />

requirement in both forward and backward direction<br />

• IEEE standard glossary:<br />

traceability: the degree to which a relationship can be<br />

established between two or more products of the<br />

development process<br />

• Also:<br />

<strong>–</strong> Verfolgung von<br />

• Auswirkungen von <strong>Anforderungen</strong> auf spätere Stadien der<br />

Softwareentwicklung bis hin zur Implementierung<br />

• Begründung von Entscheidungen im Softwareentwicklungsprozess<br />

durch Rückführung auf Anforderung


Was ist traceability? (2)<br />

• <strong>Traceability</strong> kann als nicht-funktionale<br />

Anforderung angesehen werden, da<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

5<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

<strong>–</strong> traceability allgemein als Qualitätsmerkmal in das<br />

Produkt mit eingeht<br />

• eine spätere Produktabnahme durch den Kunden<br />

vereinfacht wird<br />

• ohne traceability das Projekt unter Umständen nicht<br />

durchführbar ist


Einordnung in den<br />

Softwareentwicklungsprozess<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

6<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

[nach Pohl, Dömges, Jarke]


Einordnung in den<br />

Softwareentwicklungsprozess (2)<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

trace<br />

<strong>Anforderungen</strong> Softwaremodell<br />

Programmcode<br />

7<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Wo kann traceability helfen?<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

8<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Wo kann traceability helfen?<br />

<strong>–</strong> Software-Entwicklungs-Prozess:<br />

• Fortschrittsverfolgung<br />

• Treffen von Entscheidungen<br />

• Vermeiden von Fehlern<br />

<strong>–</strong> Qualitäts<strong>sich</strong>erung, Qualitätskontrolle:<br />

• Sind <strong>Anforderungen</strong> des Kunden verwirklicht?<br />

• Finden von Fehlern<br />

• Falls Fehler vorhanden: Wie wirken sie <strong>sich</strong> aus?<br />

<strong>–</strong> Debugging, Wartung:<br />

• Anpassungen bei <strong>sich</strong> ändernden <strong>Anforderungen</strong> leichter<br />

durchführbar ("impact analysis")


Einordnung in den<br />

Softwareentwicklungsprozess (2)<br />

<strong>Anforderungen</strong> Softwaremodell<br />

B<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

A<br />

F<br />

Programmcode<br />

9<br />

C<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

E<br />

D


Was spricht gegen traceability?<br />

• Stetiges und umfassendes tracing ohne<br />

angemessene Hilfsmittel ist schwierig,<br />

zeitaufwändig und damit teuer<br />

• Besser:<br />

<strong>–</strong> Detailgrad der Daten dynamisch anpassen<br />

<strong>–</strong> Werkzeuge verwenden<br />

• Aber: Es gibt keine Standardisierung für<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

10<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

<strong>–</strong> Art oder Menge der zu sammelnden Information<br />

<strong>–</strong> Semantik der Darstellung


Verteilung von <strong>Anforderungen</strong> bei<br />

fortschreitendem Entwicklungsprozess<br />

<strong>Anforderungen</strong> Softwaremodell<br />

Programmcode<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

11<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Probleme bei der Durchführung (1)<br />

• Probleme bereiten also<br />

<strong>–</strong> initiale Datenerhebung<br />

• Art der Daten<br />

• Semantik der Daten<br />

<strong>–</strong> inkrementelle Datenerhebung während des<br />

Evolutionsprozesses<br />

• Datenintegrität, Datenkonsistenz<br />

• Redundanzfreiheit<br />

• Komplexität der Daten<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

12<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Probleme bei der Durchführung (2)<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

13<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Probleme bereiten also<br />

<strong>–</strong> Uneinheitliche Sprache und Form der<br />

Dokumentation, da informell<br />

• Formalisierung, kontrolliertes Vokabular<br />

• text-mining Ansätze<br />

<strong>–</strong> fehlende Akzeptanz, da vorhandene Tools bereits<br />

Teilbereiche abdecken<br />

• configuration version management (CVM), z.B. perforce<br />

• intergrated develoment environment (IDE), z.B. eclipse


Verfügbare traceability Werkzeuge<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

14<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Ophelia, Orpheus (europäisches Projekt)<br />

• DOORS (Telelogic)<br />

• SABRE (EBT, University of Illinois at Chicago)<br />

• Pro-ART (Jarke et al.)<br />

• ...<br />

• Ein Problem bleibt jedoch vorerst bestehen:<br />

<strong>–</strong> Daten müssen noch manuell gesammelt und<br />

gepflegt werden. Nur die Auswertung und<br />

Präsentation erfolgt momentan durch Werkzeuge.


Beispiel: Ophelia<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

15<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Beispiel: PRO-Art<br />

(Pohl, Dömges, Jarke)<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

16<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Techniken zur Organisation von<br />

Artefakten<br />

• Referenzen (links) zwischen Dokumenten<br />

<strong>–</strong> Hypertext<br />

<strong>–</strong> <strong>Traceability</strong>matrix<br />

<strong>–</strong> relationale Datenbank<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

17<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Abhängigkeiten zwischen Schlüsselphrasen<br />

<strong>–</strong> kontrolliertes Vokabular<br />

<strong>–</strong> text-mining-Verfahren<br />

• Beispiel:<br />

Use case changeUserId<br />

Funktion setUserId(id)


Ansatz nach A. Egyed<br />

• Basis: use cases (Szenarien)<br />

• Erstelle: test cases<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

18<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Protokolliere bei Durchführung der test cases,<br />

welche Fragmente des Quellcodes ausgeführt<br />

werden<br />

• Nachteil: lauffähiger Prototyp erforderlich


Wie kommt man an die nötigen<br />

Daten?<br />

• Verantwortlichkeiten müssen klar sein<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

19<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

<strong>–</strong> Entwickler kommentiert Code und dokumentiert,<br />

welcher Teil des Softwaremodells umgesetzt wurde<br />

• Fortschrittsverfolgung<br />

<strong>–</strong> Entwickler darf abgeleitete <strong>Anforderungen</strong> nicht<br />

stillschweigend implementieren<br />

• fällt aber spätestens beim backward-trace auf<br />

<strong>–</strong> Projektleiter informiert Team über aktualisierte<br />

<strong>Anforderungen</strong><br />

• Ereignis wird an den traceability Graphen geschickt


Nutzen von traveability:<br />

impact & derivation analysis<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

20<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk


Schlußwort<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

21<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• <strong>Traceability</strong> zweifelsfrei nützlich, aber leider<br />

teuer in Erstellung und Pflege<br />

• Positives Kosten-Nutzen-Verhältnis meist erst<br />

bei langfristiger Anwendung<br />

• Derzeit nur lückenhafte<br />

Werkzeugunterstützung, aber Forschung und<br />

Entwicklung laufen


Literaturangaben (1)<br />

Software Engineering <strong>–</strong> Prof. Dr. Maritta Heisel<br />

Seminar Requirements Engineering, WS2004/05<br />

Vortrag von Mittwoch, 02. Februar 2005<br />

22<br />

<strong>Traceability</strong><br />

Matthias Bogaczyk<br />

• Ramesh B., Jarke M.: Towards reference models for requirements traceability.<br />

in IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 27, NO. 1,<br />

JANUARY 2001<br />

• Edwards M., Howell S., A Methodology for System Requirements Specification and<br />

<strong>Traceability</strong> for Large Real-Time Complex Systems, technical report, U.S. Naval<br />

Surface Warfare Center Dahlgren Division, Dahlgren, Va., 1991.<br />

• Kowalczykiewicz K., Weiss D., Poznan University of Technology, Project OPHELIA*,<br />

IV Krajowa Konferencja Inzynierii Oprogramowania, Poznan 2002<br />

• Hull, Jackson, Dick, Requirements Engineering, 2005<br />

• Egyed A., A Scenario-Driven Approach to <strong>Traceability</strong>, 0-7695-1050-7/01 $10.00 ©<br />

2001 IEEE<br />

• Gotel O., Finkelstein A., Extended Requirements <strong>Traceability</strong>: A Framework for<br />

Changing Requirements

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!