nachverfolgbarkeit und informationsflüsse: · pdf filerequirements traceability refers to...

20
Nachverfolgbarkeit und Informationsflüsse: Zusammenhänge und Unterschiede FLOW-Workshop 13.9.2007 Stefan Winkler FernUniversität in Hagen <[email protected]>

Upload: vandiep

Post on 06-Mar-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

Nachverfolgbarkeit und Informationsflüsse:

Zusammenhänge und Unterschiede

FLOW-Workshop

13.9.2007

Stefan Winkler FernUniversität in Hagen

<[email protected]>

Page 2: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 2

Gliederung• Terminologie

– Spuren– Nachverfolgbarkeit

• Zusammenhänge– Unterschiede und Gemeinsamkeiten

• Ansätze im Bereich der Nachverfolgbarkeit

• Informationsfluss zwischen Anforderungsdokumenten– Ergebnisse einer Online-Umfrage

• Zusammenfassung

Page 3: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 3

Was sind Spuren?• Spur: althochdeutsch: spor, eigentlich „Fußspuren“• „Aufeinanderfolge von Abdrücken oder Eindrücken, die jmd./etw. bei der

Fortbewegung im Boden hinterlassen hat“• „von einer äußeren Einwirkung zeugende [sichtbare] Veränderung an

etw., Anzeichen für einen in der Vergangenheit liegenden Vorgang, Zustand“

Quellen: Definitionen:Duden - Deutsches Universalwörterbuch A-Z, 5., überarbeitete Auflage. Mannheim, Leipzig, Wien, Zürich: Dudenverlag 2003 Bilder: http://www.flickr.com

Page 4: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 4

Was sind Spuren im SE?• Spuren sind „Fußabdrücke“ von Informationsflüssen

• Spuren beantworten Fragen:

• Spuren können offensichtlichoder verborgen sein

• Spuren werden mitder Zeit undeutlichund gehen verloren

• Spuren müssen alsogesichert werden

Wer? Was?

Wann?

Womit?

Warum?

Woher?

Wohin?

Wie?

Page 5: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 5

Was ist Nachverfolgbarkeit?• Qualitätsaspekt von Software: Spuren sind nachverfolgbar• Ursprünglich (und häufig auch im Dt. unübersetzt verwendet):

Trace-ability: Trace = Spur, Ability = Fähigkeit• Bekannteste Definition (Gotel und Finkelstein, 1994):

• „Spurenbasierte“ Definition (Pinheiro, 2003):

• I.d.R. verallgemeinert für alle Dokumente der SW-Entwicklung

Requirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards direction.

Requirements traceability refers to the ability to define, capture, and follow the traces left by requirements on other elements of the software development environment and the traces left by those elements on requirements.

Page 6: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 6

Nachverfolgbarkeit / Traceability

Page 7: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 7

Nachverfolgbarkeit / Traceability• beschäftigt sich mit

– Grundsatzfragen• Qualität einzelnen Spuren• Vollständigkeit von • Korrektheit allen Spuren

– Aufzeichnung von Spuren• Unterstützung für manuelle Aufzeichnung• Automatische Aufzeichnung und Entdeckung

– Verwendung von Spuren• Abfrage und Navigation von zusammenhängenden Spuren• Darstellung

– Einbindung in den Softwareentwicklungsprozess• Tailoring• Kosten-Nutzen-Analyse

Page 8: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 8

Anwendungsgebiete• Spuren können verwendet werden, um

– Angemessenheit des Systems nachzuweisen– Entscheidungen nachzuvollziehen– das System zu verstehen– Wiederverwendung zu dokumentieren und wiederverwendbare Elemente

zu identifizieren– Revisionen und Reviews zu unterstützen– Anforderungen zu priorisieren und den Änderungsaufwand

abzuschätzen– Prozessmetriken zu erheben– den Prozess zu überwachen– Schwachstellen und Best Practices festzustellen und

zu vermeiden bzw. wiederholbar zu machen

Page 9: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 9

Nachverfolgbarkeit – InformationsflüsseUnterschiede

Nachverfolgbarkeit:• Untersucht Dokumente auf

feingranulare Beziehungen • (i.d.R.) Prospektive Verfahren• Direkte Unterstützung einzelner

Prozess-Schritte, z.B.– Fehler und Inkonsistenzen finden– Auswirkungen von Änderungen

feststellen

FLOW-Analyse:• Untersucht Kommunikation auf

einer abstrakteren Ebene• (i.d.R.) Retrospektive Verfahren• Prozess-Tailoring (durch Simulat.)• Auffinden von Schwachstellen im

Prozess:– Suboptimale Kommunikation

Protokoll Spezifikation

Dilbert

Wally

Alice

AnalystProjektleiter Entwickler

Tester

Page 10: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 10

• Untersuchung der Wege, die Information durch einen Softwareentwicklungsprozess nimmt

• Ziele:– Bekämpfung von Informationsverlusten– Optimierung der Kommunikation– Verbesserung der Prozess- und Produktqualität

• Gegenseitige Synergien:– Nachverfolgbarkeit vereinfacht das Auffinden von Informationsflüssen

und umgekehrt– Methoden und Techniken ggf. teilweise übertragbar

Nachverfolgbarkeit – InformationsflüsseGemeinsamkeiten

Page 11: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

NachverfolgbarkeitEinige Ansätze

Page 12: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 12

Beispiele (1)

• Spuren von Beteiligten auf Dokumenten

• Spuren von Dokumenten auf Dokumenten– Durch automatische Transformation

„Explizite“ Spuren• Können automatisiert festgehalten werden:

• Versionierung• Konfigurationsmanagement• Metadaten

Modell Code

Projekt-vision

Page 13: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 13

Beispiele (2)• Spuren von

Kommunikationauf Dokumenten

• Spuren von Dokumentenauf Dokumenten

„Implizite“ Spuren• Müssen manuell festgehalten werden:

• Protokolle• Querverweise

AufwändigAutomatisierte Ansätze notwendig

Spez.

Spez. Entw.

Page 14: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 14

Automatisierte Ansätze• Integrationsansatz

– Integration aller am Prozess beteiligten Werkzeuge– Erfassung, Verarbeitung und Einordnung aller Tätigkeiten– PRO-ART (Pohl, 1999), OPHELIA (Smith et al., 2003)

• NLP (natural language processing)-Ansätze– Regelbasiert (Spandoukakis, Zisman et al., 2004)

• Grammatikerkennung (Language Tagger)• Anwendung einer Regelbasis (evtl. mit lernenden Algorithmen)• Erstellung von Querverweisen / Verknüpfungen

– IR (Information Retrieval)-basiert (Hayes, 2006; de Lucia, 2007)• „Google-Algorithmus“: Ähnlichkeit von Dokumenten / Dokumentteilen• Auffinden von Querverweisen

bei 90-100% Treffern in der Ergebnismenge ca. 60-75% falsche PositiveErforschung von diversen Optimierungsmöglichkeiten

Page 15: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 15

Nutzen fuer FLOW?• Erhebung von Informationsfluessen, Datengewinnung

1. Spracherkennung bei Kommunikation2. Texterkennung bei Dokumenten3. Effiziente Ableitung von Teilen des “echten” Informatiosflusses

Spez.

Page 16: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

Informationsfluss zwischen Anforderungsdokumenten

Ergebnisse einer Online-Umfrage(Winkler, 2007)

Page 17: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 17

Umfrage• Deutschspr. Online-Fragebogen mit 19 Hauptfragen in 3 Teilen

– „Welche Dokumente werden bei Ihnen erstellt?“– „Von welchen Dokumenten hängt jedes Dokument ab?“

Aggregation der Ergebnisse in einen Graphen

• Direkte Werbung per Email an ca. 80 Industriekontakte• Ankündigung in diversen Newsgruppen und Mailinglisten• Zeitspanne: 3 Monate (August bis Oktober 2006)• Rücklauf: 37 vollständige Antworten• Stichprobe erreicht gute Überdeckung über

Erfahrung, Unternehmensgröße, Branchen Unternehmensangebot (Entwicklung – Beratung, Intern – Extern)

• Nicht repräsentativ, aber geeignet zur Ableitung von Trends

Page 18: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 18

Informationsfluss im REN

ennu

ngen

wenig

viele

Informationsflüsse sind zwischen Projekt sehr unterschiedlich!

Page 19: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 19

Zusammenfassung• Spuren sind „Fußabdrücke“ von Informationsflüssen• FLOW untersucht Kommunikation• Forschung der Nachverfolgbarkeit untersucht

Zusammenhänge zwischen Dokumenten• Ähnliche Ziele, Syniergien• Übertragbarkeit von (automatisierten) Ansätzen

– Integrationsansatz– Sprachverarbeitungs-Ansatz

• Empirische Untersuchung:– Projektvorgehen und Informationsflüsse sind bei

(fast) jedem Projekt verschieden.

Page 20: Nachverfolgbarkeit und Informationsflüsse: · PDF fileRequirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards

14.09.2007 Nachverfolgbarkeit - Informationsflüsse 20

LiteraturGotel, O. C. Z. ; Finkelstein, A. C. W.: An analysis of the requirements traceability problem. In:

Proceedings of the First International Conference on Requirements Engineering (RE'94), pp. 94-101, 1994.

Hayes, J. H.; Dekhtyar, A.; Sundaram, S. K.: Advancing Candidate Link Generation for Requirements Tracing: The Study of Methods. IEEE Transactions on Software Enginering32(01): 4-19, 2006.

De Lucia, A.; Fasano, F.; Oliveto, R.; Tortora, G.: Recovering Traceability Links in Software Artefact Management Systems using Information Retrieval Methods. ACM Transactions of Software Engineering and Methodology 13(4): 13/1-13:50, 2007.

Pinheiro, F. A. C.: Requirements Traceability. In: Perspectives on software requirements, pp. 93-113, Springer, 2003.

Pohl, K.: PRO-ART: A Process Centered Requirements Engineering Environment. In: The NATURE of Requirements Engineering, Shaker Verlag, 1999.

Smith, M.; Weiss, D.; Wilcox, P.; Dewar, R.: The OPHELIA Traceability Layer. In: 2nd Workshop on Cooperative Supports for Distributed Software Engineering Processes (CSSE 2003), pp. 150-161, 2003.

Spanoudakis, G.; Zisman, A.; Pérez-Minana, E.; Krause, P.: Rule-based generation of requirements traceability relations. Journal of Systems and Software 72(2): 105-127, 2004.

Winkler, S.: Information Flow Between Requirement Artifacts -- Results of an Empirical Study. In: Requirements Engineering: Foundation for Software Quality (REFSQ) 2007, LNCS 4542, pp. 232-246, 2007.