nachverfolgbarkeit und informationsflüsse: · pdf filerequirements traceability refers to...
TRANSCRIPT
Nachverfolgbarkeit und Informationsflüsse:
Zusammenhänge und Unterschiede
FLOW-Workshop
13.9.2007
Stefan Winkler FernUniversität in Hagen
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
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
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?
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.
14.09.2007 Nachverfolgbarkeit - Informationsflüsse 6
Nachverfolgbarkeit / Traceability
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
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
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
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
NachverfolgbarkeitEinige Ansätze
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
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.
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
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.
Informationsfluss zwischen Anforderungsdokumenten
Ergebnisse einer Online-Umfrage(Winkler, 2007)
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
14.09.2007 Nachverfolgbarkeit - Informationsflüsse 18
Informationsfluss im REN
ennu
ngen
wenig
viele
Informationsflüsse sind zwischen Projekt sehr unterschiedlich!
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.
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.