* Function Points * OO-Metriken
* Manuelle Prüfmethoden
* Funktionskategorien Datenbestände/Transaktionen (5)
* Bindungsmetrik
* Bindungsstärken (8)
* LOC
* Stahlknecht Bedeutung
* Aufwandsmetriken
* formelles Assessment (6 Schritte) * informelles Assessment (3 Bereiche, 6 Stufen)
* Inspektionssitzung * Teilnehmer * Ablauf/Dauer * Aufgaben (3) * Prinzipien (4) * Argumentationsprinzipien (4) * Vorgehensweisen (4) * Mögliche Ergebnisse (3) * 3. Stunde * Nachbereitung * Ziele (3) * Mögliche Metriken (8) * Eigenschaften von Fehlern (5) * Mängelbeseitigung * Nachprüfung * Wie viele Änderungen sind durchschnittlich fehlerhaft? * Wann wird ein Prüfobjekt freigegeben? * Wann wird eine Re-Inspektion durchgeführt?
* Teilnehmer (5)
* Basis-Checkliste (Beispiele für Prüfhinweise) * Beispiele für Inspektionsrichtlinien (9)
* Prüfdokumente
* Inspektionsprotokoll (4 Angaben) * Defekte (6 Angaben) * Metriken je Teilnehmer (3)
* Einsatz
* Schwerpunkte (6)
* Vergleich der Verfahren
* Bewertungsmaßstäbe müssen anforderungsbezogen eingesetzt werden * Maßnahmen müssen zielgerichtet eingesetzt werden
* required time: Zeit, während der das System zur Verfügung stehen muss. * non-required time: Zeit, während der das System nicht zur Verfügung stehen muss. * up time: Zeit, in der das System funktionsfähig ist. * disabled time: Ziet, in der das System nicht funktionsfähig ist. * down time (internal down time): Zeit, in der das System ausfallen ist. * external disabled time (external loss time, external down time): Zeit, in der das System nicht zur Verfügung steht, weil externe Ressourcen nicht genutzt werden können. * undetected fault time: Zeit zwischen Ausfall und Erkennen der Störung. * administrative delay: Zeit, während der keine Wartung durchgeführt werden kann. * maintenance time: Zeit, während der Wartung durchgeführt wird. * active maintenance time: Zeit, während der aktiv Wartung betrieben wird (ohne logistische Wartezeiten). * preventive maintenance time: Zeit, während der präventive Wartung betrieben wird (inkl. logistische Wartezeiten). * logistic delay time: Zeit, während der aufgrund von fehlenden Ressourcen keine Wartung betrieben werden kann. * active preventive maintenance time: Zeit, die für präventive Wartung verwendet wird. * corrective maintenance time: * logistic delay time * repair time: Zeit, in der korrektive Wartung betrieben wird (inkl. logistische Wartezeiten). * active repair time (active corrective maintenance time) * fault localization time (fault diagnosis time): Benötigte Zeit zur Fehlersuche. * technical delay: Zeit für zusätzlich notwendige technische Maßnahmen. * fault correction time: Zeit für die Störungsbeseitigung. * check out time: Zeit zum Nachweis der Funktionsfähigkeit.
* Überlebenswahrscheinlichkeit (reliability, reliability performance) R(t): System ist funktionstüchtig (unter spezifizierten Betriebsbedingungen) in [0;t] (exponentiell monoton fallend) <latex>R(t) = e^{−\lambda \cdot t}</latex>
* strukturell: Erweiterung der Architektur * funktional: Erweiterung der Systemfunktionalität * Informationsredundanz: Erweiterung der abgelegten Nutzinformationen um weitere Informationen * Zeitredundanz: zusätzlicher Zeitaufwand zur Ausführung von Funktionen * Aktivierung * statisch: aktiv während gesamter Laufzeit * dynamisch: aktiv im Bedarfsfall * Fehlerart * homogene Redundanz / Replikation -> Alterungsfehler * diversitäre Redundanz / Diversität -> Designfehler
* Beispiele
* Entwicklungsaufwand in Monaten: TDEV (time of development) * Entwicklungsaufwand in Personen: N (number of programmers)
* Function Point Verfahren (Albrechts-Metrik)
* externe Ausgaben (external output EO) * interne Dateizugriffe (internal logical file ILF) * externe Dateizugriffe (external interface file EIF) * externe Anfragen (external inquiry EQ) * Elementarprozess / Transaktion * Kleinste für den Benutzer bedeutende Verarbeitungseinheit. * Eigenständig und in sich abgeschlossen. * Hinterlässt konsistenten Systemzustand.
* Entwurfsstrukturmetriken von Blaschek
* reproduzierbar / repeatable -> konsistent machen / standardisieren * Richtlinien (Projektstandards) sind vorhanden, Planung/Organisation beruht auf Erfahrung, diszipliniertes Management, Projektleiter überwachen Kosten, Zeitpläne und Funktionalität * es gibt Phasen und Meilensteine, innerhalb der Phasen: black box * definiert / defined -> vorhersagbar machen * Standard-Entwicklungsprozess ist etabliert und dokumentiert, SE-Prozessgruppe ist vorhanden, Projektleiter adaptiert das Modell, firmenweite Schulungen werden angeboten * organisationsweites Verständnis, Phasen -> transparent, Standardaktivitäten * gesteuert / managed -> weiterentwickeln / kontinuierlich verbessern * Qualitätsziele sind gesetzt, Prozesse werden überwacht und bewertet * quantifizierbare/voraussagbare Ergebnisse * optimiert / optimized * Ausrichtung des Unternehmens auf ständige Verbesserung, Schwachstellen werden aufgedeckt und zukünftig vermieden * kontinuierliche Verbesserung * {{:se:cmmreifegradstufen1.jpg|}} * {{:se:cmmreifegradstufen2.jpg|}}
* Verbesserungen durch höhere Stufen
* Durchführbarkeit * Ressourcen * Organisationsstrukturen * Schulungen * Prozessbewertung * Stichproben * Ermittlung der Ergebnisse/Wirksamkeit der Maßnahmen * Verifikation * Reviews * Audits * Aktivitäten (müssen implementiert werden) * Durchzuführende Aktivitäten * Planung * Verfahren * Durchführung der Arbeit * Überwachung * korrektive Maßnahmen
* Handlungsanweisungen, Aktivitäten und Maßnahmen
* Prüfobjekt vorlegen * Eingangsprüfung * Autor muss Prüfobjekt definitiv abgeschlossen haben * Prüfreferenzen liegen vor * Unterstützende Literatur liegt vor (Checklisten, Wörterbuch etc.) * Planung * Aufteilung in Teilobjekte für eine Sitzung (10-20 Seiten, 250 LOC) * Festlegen der Inspektoren * Inhalt * Vollständigkeit * Intervallgrenzen/Fallunterscheidungen * Fehlerbehandlung * Test-/Wartbarkeit * Szenarien (z.B. UseCases, Testfälle) * Einhaltung von Standards * Verteilen des Prüfobjekts und der nötigen Unterlagen * Inspektionsregeln und -ablauf bekanntgeben und evtl. Einführungssitzung vereinbaren * (Einführungssitzung) * Benötigte Unterlagen verteilen * Erläuterung der Rollen der Inspektoren * Überblick über Prüfobjekt durch den Autor -> Hinweis auf wesentliche/kritische Teile des Objekts * Gäste sind erlaubt * Vorbereitung * Inspektoren untersuchen das Prüfobjekt unter Berücksichtigung der Regeln und ihrer Rolle * Inspektoren erstellen Inspektionsreport (Fragen, klassifizierte Defekte, benötigte Zeit) * Üblich sind 1-4 Stunden Vorbereitungszeit je Inspektor * Inspektionssitzung * 3-7 Teilnehmer (mind. Autor, Inspektor, Moderator), kein Vorgesetzter des Autors, keine Gäste * Vorlesen durch Inspektor * Dauer 2-2,5 Stunden, Geschwindigkeit 5-10 Seiten/125 LOC pro Stunde * Aufgaben * Identifikation von Defekten * Klassifikation des Defekts * Moderator erstellt Protokoll * Prinzipien * In Problemen denken, nicht in Lösungen! * Nicht Verbesserungen suchen! * Diskussion und Kommentierung ist nicht erlaubt! * Der Autor muss die Ausführungen verstehen! * Argumentationsprinzipien * Es geht um das Objekt, nicht um den Autor! * Sachlichkeit, nicht Emotionalität! * "Ich-Formulierungen" verwenden! * Beim Thema bleiben! * Vorgehen * statisch (linear, konsekutiv), Schnittstellen berücksichtigen * dynamisch (Szenarien) * Checklisten * Ergebnis * Freigabe mit Auflagen * Mängel beheben, Überprüfung durch Autor * Wiederholung der Prüfung (ab ca. 5% Änderungen am Prüfobjekt oder bei kritischen Objekten) * (3. Stunde) * Lösungsdiskussion * Nachbereitung * Sinn * Nachweis der Effektivität der Inspektion * Aktualisierung der Checklisten * Verbesserung der Inspektionen * (mögliche) Metriken * Vorbereitungszeit / Inspektor * Vorbereitungszeit / Seite * Dauer der Inspektionssitzung(en) * Gesamtzahl der inspizierten Seiten * Seiten / Inspektionssitzung * Dauer der Überprüfung einer Seite * Anzahl der Fehler / Gesamtzeit der Inspektion * gefundene Fehler / Seite * Fehler * Phase, in der der Fehler gemacht wurde * Phase, in der der Fehler gefunden wurde * Fehlergewicht (schwer, mittel, leicht) * Fehlertyp (falsch, fehlend, überflüssig, ungenau) * Fehlerklasse (Standard, Basis, zeitlich, ...) * Mängelbeseitigung * Aufwandsabschätzung * Änderungsanträge / Einbeziehen der Projektleitung -> Anpassen der Projektplans / Priorisierung * Überprüfung * ca. 1/6 der Korrekturen ist fehlerhaft * Prüfung durch Autor, ggf. Reinspektion * Für Freigabe: alle schweren/mittelschweren Mängel beseitigt, alle offenen Punkte bearbeitet * Durchführung, falls Mängelbeseitigungskosten > Kosten für Reinspektion * Freigabe
* Teilnehmer
* Inspektionsprotokoll * Inspektionsdatum * Name des Moderators * Prüfobjekt * Referenzunterlagen * Defekte * Kurzbeschreibung des Defekts * Ort des Defekts * Bezug zu Regeln oder Checklisten * Klassifikation * Begründungen (für Defekte, die sich auf Regeln, Checklisten, Prozesse beziehen) * Fragen an den Autor * Metriken * Vorbereitungszeit * Dauer der Sitzung * Nachbereitungsaufwand
* Einsatz
* Schwerpunkte: Konformität zu Vorgängerprodukten, Vollständigkeit, Struktur, Fehlerverhalten, Lesbarkeit und Verständlichkeit, Überflüssiges streichen
* Vergleich
* Identifikation der Geschäftsvorfälle in Zusammenhang mit dem Leistungsangebot / der Aufgabenstellung. * Geschäftsvorfall: Ein Geschäftsobjekt, das durch die in einem Geschäftsprozess beschriebenen Aktivitäten bearbeitet wird. Geschäftsvorfälle werden durch Ereignisse (Anfragen an das System) ausgelöst. Ergebnis: eine für den Anwender erkennbare Aktion. * Geschäftsprozess: Fachlich zusammenhängende, organisatorisch jedoch evtl. verteilte, zeitlich und logisch zusammenhängende Aktivitäten, die notwendig sind, um einen Geschäftsvorfall ergebnisorientiert zu bearbeiten. * Geschäftsvorfälle finden: Datenströme zum/vom System analysieren * Externe Systeme: Organisationen, Personen, technische Systeme / aktiv, autonom, kooperativ * Muss das System alle Aufgaben übernehmen, oder können vielleicht auch Personen Leistungen erbringen? * Aspekte zur Ermittlung des "optimalen" Produkts * Zweck des Produkts * Umfang der Dienstleistung * Existenz externer technischer Systeme * Einflüsse externer Institutionen, Organisationen und Personen * Auswirkungen der Produktdefinition auf Betroffene * eigene Marktposition * Festlegung der Rolle des künftigen Produktes bei der Erbringung der Leistung. * Anwendungsfall: Beschreibung einer zu erbringenden Leistung. Er beschreibt eine Menge von Aktivitäten eines Systems, die für seine Akteure zu einem wahrnehmbaren Ergebnis führen. Wird durch einen Akteur initiiert, ist unteilbar * Ermittlung von Anwendungsfällen: Geschäftsvorfälle -> Leistungen des Systems sind Anwendungsfälle * Arbeitsumfang != Produktumfang * Ableitung von Anforderungen zu jedem Anwendungsfall.
* Anforderungsdokumentation
\mbox{MTTFF} = \overline{T} = \int_{0}^\infty \mathrm R(t)\,\mathrm dt
\int{0}^\infty \mathrm R(t)\,\mathrm dt = \int{0}^\infty \mathrm 2e^{-0.1t\frac{1}{y}}-e^{-0.2t\frac{1}{y}}\,\mathrm dt
= \int{0}^\infty \mathrm 2e^{-0.1t\frac{1}{y}}\,\mathrm dt - \int{0}^\infty e^{-0.2t\frac{1}{y}}\,\mathrm dt
= [-20ye^{-0.1t\frac{1}{y}}]0^\infty - [-5ye^{-0.2t\frac{1}{y}}]0^\infty
= \left[\lim{t \to \infty}(-20ye^{-0.1t\frac{1}{y}}) - (-20ye^{\frac{0}{y}})\right] - \left[\lim{t \to \infty}(-5ye^{-0.2t\frac{1}{y}}) - (-5ye^{\frac{0}{y}})\right]
= \left[0 + 20y\right] - \left[0 + 5y\right]
= 20y - 5y
= 15y
</latex>
\mbox{PM} = \alpha \cdot \mbox{KDSI}^\beta \cdot \prod{i=1}^{15} ai
\mbox{PM} = 3 \cdot 90^{1,12} \cdot 1
\mbox{PM} = 463,32
</latex>
* Kontext des Systems / Systemgrenzen
* Was ist ein Anwendungsfall?