RFC (response for a class)

Zur Messung von Softwareprodukten werden sogenannte Software-Metriken verwendet, die unterschiedliche Eigenschaften von Softwareprodukten und -prozessen quantifizieren. Eine objektorientierte Metrik berücksichtigt bei der Messung von Software die Zusammenfassung von Datenstrukturen und der darauf anwendbaren Methoden zu einem Objekt, dessen Beziehungen zu anderen Objekten sowie die generellen Strukturmerkmale objektorientierter Programmierung.


Die Metrik nach Response for a Class (RFC) ist einzuordnen in die Gruppe der Maße, die Software auf Klassenebene messbar machen. Weitere objektorientierte Software-Metriken sind Weighted Methods for Class (WMC), Coupling Between Objects (CBO), Depth of Inheritance Tree (DIT), Lack of Cohesion in Methods (LCOM) und Number of Children (NOC).

RFC-Definition: RFC ist die Anzahl aller möglichen auszuführenden Methoden.

Dabei werden alle möglichen direkten und indirekten über Assoziationen erreichbare Methodenaufrufe gewertet.

Beispiel Klassendiagramm

Beispiel Klassendiagramm

Das dargestellte Klassendiagramm definiert die statischen Teile eines Systems von Klassen mit ihren Assoziationen und Methoden.

Beispiel Klassendiagramm: RFC(A)=4 und RFC(B)=2 und RFC(C)=1, RFC(F)=0.

Anwendung: Vorwiegend in Zusammenhang mit der Testbarkeit und Wartbarkeit von Software. Dem liegt die Überlegung zugrunde, dass eine Klasse umso komplexer zu verstehen und zu behandeln ist, je grösser die Anzahl ihrer Methoden sowie Kopplungen mit anderen Klassen ist. Die Komplexität zieht dann auch einen höheren Aufwand - einen erhöhten Schwierigkeitsgrad - bei Änderungen nach sich. Dabei gibt der Wert für Response for a Class (RFC) auch die maximale Anzahl der möglichen Aufrufe von Methoden an und definiert somit speziell die Anzahl der Testfälle.

Informationen zum Artikel
Deutsch:
Englisch: response for a class - RFC
Veröffentlicht: 05.02.2014
Wörter: 246
Tags: #Analyse
Links: Aufwand, CBO (coupling between objects), DIT (depth of inheritance tree), Klasse, Klassendiagramm