Bestimmung der Object Points 1. Bewertung des Klassenmodells (Basis für die Schätzung des Codier- und Unittest-Aufwands. Pro Klasse berechnet man ClassPoints = (#Basisattribute+2∗#Referenzattribute+3∗#Methoden)∗Neuheit Hierbei versucht Neuheit zu messen, zu welchem Prozentsatz die Klassenrealisierung nicht durch Vererbung erstellt wird, d.h. geerbte Member werden nicht gezählt. 2. Bewertung der Interaktion (Basis für die Schätzung der Integration und des Integrationstestaufwands.) Pro Operation (d.h. Methodengruppe) berechnet man MessagePoints = (#Parameter+2∗#Quellen+2∗#Ziele)∗Komplexitaet∗Neuheit Hierbei ist eine Quelle ein Aufrufpunkt und ein Ziel ist eine Klasse, in der die Methode definiert wurde. Die Komplexität misst die Kompliziertheit der Methode als hoch (1,25) mittel (1,0) niedrig (0,75) 3. Bewertung der Anwendungsprozesse (Basis für die Schätzung des Systemtestaufwands. Die Anwendungsprozesse entsprechen etwa den Use-Cases.) Pro Prozess berechnet man ProcessPoints = (Prozesstyp + #Varianten) ∗ Komplexitaet Es werden vier Typen von Prozessen unterschieden Batch-Prozesse (2) geringe menschliche Eingriffe Online-Prozesse (4) wesentliche menschliche Eingriffe System-Prozesse (6) z.B. Backup, Recovery Realtime-Prozesse (8) gesteuert von externen Ereignissen Hierbei werden Prozesse ähnlicher Art zusammengefasst. 4. Berechnung einer Rohgröße Mit diesen Zahlen erhält man ObjectPoints = X ClassPoints + X MessagePoints + X ProcessPoints 5. Gewichtung nach den Qualitätsanforderungen Sneed schlägt vor, die berechnete Rohgröße nach den Qualitätsanforderungen zu gewichten (12 Kriterien), die durch Metriken bestimmt werden: Zuverlässigkeit Sicherheit Zeiteffizienz Speichereffizienz Benutzbarkeit Integrität Integrierbarkeit Portabilität Wartbarkeit Datenunabhängigkeit Testüberdeckung Konformität Jeder Faktor erhält einen Wert zwischen 0 und 2: minimaler Wert (0) Industriestandard (1) Maximaler Wert (2) Der Durchschnitt dieser Werte ergibt den Qualitätsfaktor QF QualityAdjustedObjectPoints = ObjectPoints ∗ QF 6. Gewichtung nach Eigenschaften des Projekts Dieser Wert wird aufgrund von Eigenschaften des gesamten Erstellungsprozesses noch ein weiteres Mal gewichtet (10 Aspekte): Verfügbarkeit von Groupware zur Unterstützung des Projektteams Qualität der Benutzeroberfläche der Entwicklungsumgebung Zuverlässigkeit des Netzes, in dem die Entwickler arbeiten Reife des zu entwicklenden Prozesses technische Unterstützung des Projektteams Anwendungsgrad objekt-orientierter Methoden objekt-orientiertes Niveau der verwendeten Sprache Verfügbarkeit von objekt-orientierten CASE-Tools Anwesenheit eines Objekt-Repositorys Grad der Testautomatisierung Jede dieser Eigenschaften wird bewertet mit nicht erfüllt (0) gering erfüllt (1) teilweise erfüllt (2) hoch erfüllt (3) vollständig erfüllt (4) Durch die Summe er hält man eine Bewertung des Technologiegrades (0.6 ≤ P EF = 1 − /100 ≤ 1.0) AdjustedObjectPoints = QualityAdjustedObjectPoints ∗ EF