Traceability – Verfolgbarkeit sich ändernder Anforderungen
Traceability – Verfolgbarkeit sich ändernder Anforderungen
Traceability – Verfolgbarkeit sich ändernder Anforderungen
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