Auflistung nach Schlagwort "Metrics Suite"
1 - 1 von 1
Treffer pro Seite
Sortieroptionen
- ZeitschriftenartikelDie Komplexität der Traceability(Softwaretechnik-Trends: Vol. 32, No. 3, 2012) Herrmann, AndreaAndrea Herrmann Freie Software Engineering Trainerin und Forscherin D-70372 Stuttgart, AndreaHerrmann3@gmx.de Motivation IT-Systeme und ihre Dokumentation werden immer komplexer. Gerade die Verwaltung von TraceabilityInformationen ist hiervon betroffen, da die Anzahl möglicher Traceability-Beziehungen zwischen den Software- und Dokumentations-Elementen (z.B. zwischen Klassen, Testfällen und Anforderungen) mehr als linear mit der Größe des IT-Systems steigt. Komplexität bewirkt bei der Software-Entwicklung, dass die Ergebnisse für den Menschen umso fehleranfälliger zu entwickeln und aufwändiger zu warten sind, je komplexer sie sind. Komplexität verursacht also Kosten. Dem Menschen bereitet Komplexität Schwierigkeiten bei der Wahrnehmung (Visuelle Belastung), beim Verstehen (Kognitive Belastung) und beim Schlussfolgern (Konzept der beschränkten Rationalität). Die begrenzte Speicherkapazität des Arbeitsgedächtnisses beschränkt die Anzahl an Modell-Elementen, die gleichzeitig wahrgenommen und verstanden werden können. Immerhin können Experten mehr Komplexität verarbeiten als Laien. Beim Laien geht man davon aus, dass er 7 ± 2, also maximal 9 Elemente gleichzeitig verstehen kann [8]. Für Experten darf ein Datenmodell auch bis zu 95 Elemente enthalten [6]. Definition: Komplexität und nützliche Metriken Frederick Brooks [1] beschäftigte sich bereits in den 80er Jahren wegweisend mit der Komplexität von ITSystemen. Er unterschied zwischen der 'essential complexity' und der 'accidential complexity', die sich zur Gesamtkomplexität aufsummieren. Die 'essential complexity' lässt sich nicht vermeiden, denn sie wohnt dem zu lösenden Problem inne. Sie entsteht durch die Anzahl der Elemente des Systems und deren Abhängigkeiten, von außen vorgegebene KonformitätsAnforderungen an die Schnittstellen, die Veränderlichkeit und Unsichtbarkeit von Software, die es nötig macht, mehrere Modelle zu verwenden, um ein System vollständig zu beschreiben. Die 'accidential complexity' entsteht zusätzlich und unnötig durch die gewählte Lösung und deren Darstellung; beispielsweise durch eine schlecht modularisierte Software-Architektur mit unnötig stark gekoppelten Komponenten oder durch eine ungünstige Darstellung von Informationen. Das Ziel der Komplexitätsforschung im Software Engineering ist es üblicherweise, die Lösung passend zu gegebenem Problem so zu wählen, dass die accidential complexity minimal wird. Allerdings werden Problem und Lösung durch mehrere Variablen beschrieben, und wie sie die Komplexität beeinflussen, ist bisher nicht quantitativ bekannt. Mehr noch: Es gibt verschiedenste Komplexitätsmetriken. Eine Komplexitätsmetrik ist dann nützlich, wenn sie geeignet ist, um eine praxisrelevante Größe wie Fehleranfälligkeit oder Wartungsaufwand des Systems vorherzusagen. Auf der Suche nach der besten Metrik wurde eine umfangreiche Studie durchgeführt, mit dem zweischneidigen Ergebnis, dass zwar Komplexitätsmetriken gut die Fehleranfälligkeit über die Zeit und Komponenten desselben Projektes voraussagen, aber für jedes Projekt sind dies jeweils andere Metriken [9].