Softwaretechnik -- Nicht funktionale Anforderungen Softwaretechnik ¢â‚¬â€œ Nicht funktionale Anforderungen

  • View
    4

  • Download
    0

Embed Size (px)

Text of Softwaretechnik -- Nicht funktionale Anforderungen Softwaretechnik...

  • Softwaretechnik – Nicht funktionale Anforderungen

    Softwaretechnik – Nicht funktionale Anforderungen

    Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin

    Will Turner: You swore she’d go free! Barbossa: Don’t dare impugn me honor boy!

    I agreed she go free, but it was you who failed to specify when or where.

    (Pirates of the Caribbean, 2003)

    Karsten Weicker, Nicole Weicker 1/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Funktional vs. nicht funktional

    I funktionale Anforderung – überprüfbare Funktionalität des Systems Produktfunktionen

    I nicht funktionale Anforderung – andere Eigenschaften, u.a.

    Benutzbarkeit Kompatibilität Effizienz Datenschutz Zuverlässigkeit Sicherheit Portierbarkeit Wiederverwenbarkeit

    Karsten Weicker, Nicole Weicker 2/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Definition

    Definition (nicht funktionale Anforderungen) Nicht funktionale Anforderungen sind Beschränkungen der durch das System angebotenen Dienste oder Funktionen. Dies schließt u.a. Zeitbeschränkungen, Beschränkungen des Entwicklungsprozesses, einzuhaltende Standards und Betriebsbedingungen ein.

    Karsten Weicker, Nicole Weicker 3/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Zu nicht funktionalen Anforderungen

    I wichtig: können nicht über funktionale Tests überprüft werden

    I müssen exakt und (ohne funktionale Tests) überprüfbar formuliert werden

    I bestenfalls über Metriken (Maße) quantifizierbar

    I Metriken sind Grundlage für eine eindeutig überprüfbare nicht funktionale Anforderung

    I ohne Metrik entsteht nur Streit: Was bedeutet z.B.

    ” Leicht bedienbar?“

    Karsten Weicker, Nicole Weicker 4/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Beispiel (aus: Sommerville) I Systemziel:

    Das System sollte für erfahrene Benutzer einfach zu bedienen und so aufgebaut sein, dass Fehler durch den Benutzer minimiert werden.

    I Verifizierbare Anforderung: Es soll erfahrenen Benutzern möglich sein, nach einer Schulung von insgesamt zwei Stunden alle Systemfunktionen zu verwenden. Nach dieser Schulung sollte der durchschnittliche Wert gemachter Fehler bei erfahrenen Benutzern nicht höher als zwei pro Tag sein.

    Karsten Weicker, Nicole Weicker 5/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Definitionen: Metrik (1)

    Definition (Metrik) Eine Metrik ist die Abbildung einer Software oder eines Prozesses der Software-Bearbeitung auf eine skalare oder vektorielle Größe. (aus: Ludewig/Lichter 2007)

    Karsten Weicker, Nicole Weicker 6/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Definitionen: Metrik (2) alternative Definition aus dem IEEE Glossar (IEEE Std 610.12 (1990)):

    I metric – a quantitative measure of the degree to which a system or component possesses a given attribute.

    I quality metric – I a quantitative measure of the degree to which an

    item possesses a given quality attribute. I a function whose inputs are software date and

    whose output is a single numerical value that can be interpreted as the degree to which the software possesses a given quality attribute.

    Karsten Weicker, Nicole Weicker 7/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Definitionen: Metrik (2) alternative Definition aus dem IEEE Glossar (IEEE Std 610.12 (1990)):

    I metric – a quantitative measure of the degree to which a system or component possesses a given attribute.

    I quality metric – I a quantitative measure of the degree to which an

    item possesses a given quality attribute. I a function whose inputs are software date and

    whose output is a single numerical value that can be interpreted as the degree to which the software possesses a given quality attribute.

    Karsten Weicker, Nicole Weicker 7/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Eigenschaften von Metriken

    I Metriken sind I differenzierbar I vergleichbar I reproduzierbar I verfügbar I relevant I rentabel I plausibel

    Siehe Ludewig/Lichter (2007), S. 281

    Karsten Weicker, Nicole Weicker 8/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Beispiele für Metriken

    I Geschwindigkeit: ausgeführte Transaktionen/Sekunde, Bildschirmauffrischungszeit, Reaktionszeit auf Benutzereingabe

    I Größe: Kilobytes I Zuverlässigkeit: Fehler/KLOC, durchschnittliche Zeit

    bis zu einer Fehlfunktion, Wahrscheinlichkeit der Nichtverfügbarkeit, Quote für das Auftreten von Fehlern, Verfügbarkeit als MTTF/(MTTF + MTTR) mean time to failure bzw. mean time to repair (also Fehlerfreie Zeit geteilt durch (Fehlerfreie Zeit plus Reparierzeit))

    Karsten Weicker, Nicole Weicker 9/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Beispiele für Metriken

    I Stabilität Zeit bis zum Neustart nach Fehlfunktion, Wahrscheinlichkeit für Datenverlust bei Fehlfunktion

    I Portierbarkeit Anteil der plattformabhängigen Anweisungen, Anzahl der Zielsysteme

    I Benutzerfreundlichkeit Schulungsdauer, Anzahl der Hilfeseiten

    Nielsen-Norman-Gesetz

    Benutzerfreundlichkeit (usability) ist quantitativ be- stimmbar.

    (nach Endres & Rombach, 2003)

    Karsten Weicker, Nicole Weicker 10/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Überprüfbarkeit: Benutzerfreundlichkeit

    Typische Maße (z.B. in Vergleichsstudien von Microsoft, IBM und SAP) sind:

    I Erfolgsrate: Prozentsatz der fehlerfreien Aufgaben/Zeiteinheit

    I benötigte Zeit: für eine vorgegebene Aufgabe (in min)

    I Fehlerhäufigkeit: Anzahl der Fehler beim Lösen einer Aufgabe

    I Hilfeanfragen: Anzahl der Hilfeanfragen bei einer Aufgabe

    Karsten Weicker, Nicole Weicker 11/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    ISO Norm (1)

    Norm ISO 9126 zur Produktqualität:

    I internat. Standard: nicht funktionalen Anforderungen

    I definiert Metriken

    I kostet einiges an Geld, liegt uns nicht vor.

    Karsten Weicker, Nicole Weicker 12/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    ISO Norm (2) Norm ISO 9126 zur Produktqualität:

    I Funktionalität: Richtigkeit, Angemessenheit, Interoperabilität, Ordnungsmäßigkeit, Sicherheit

    I Zuverlässigkeit: Reife, Fehlertoleranz, Wiederherstellbarkeit

    I Benutzbarkeit: Verständlichkeit, Erlernbarkeit, Bedienbarkeit

    I Effizienz: Zeitverhalten, Verbrauchsverhalten I Änderbarkeit: Analysierbarkeit, Modifizierbarkeit,

    Stabilität, Prüfbarkeit

    I Übertragbarkeit: Anpassbarkeit, Installierbarkeit, Konformität, Austauschbarkeit

    Karsten Weicker, Nicole Weicker 13/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Zwei Minuten

    � Nicht funktionale Anforderungen können nur subjektiv überprüft werden.

    � Eine Produktmetrik ist eine quantitative Messung einer qualitativen Eigenschaft eines Systems.

    � Jede nicht funktionale Anforderung soll über Metriken überprüfbar sein.

    � Nicht funktionale Anforderungen sind in der Spezifikationsphase nicht relevant.

    � Es gibt nicht funktionale Anforderungen, die nicht vom Auftraggeber sondern vom Entwicklerteam gestellt werden.

    Karsten Weicker, Nicole Weicker 14/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Allgemeines

    Zwei Minuten

    � Nicht funktionale Anforderungen können nur subjektiv überprüft werden.

    �8 Eine Produktmetrik ist eine quantitative Messung einer qualitativen Eigenschaft eines Systems.

    �8 Jede nicht funktionale Anforderung soll über Metriken überprüfbar sein.

    � Nicht funktionale Anforderungen sind in der Spezifikationsphase nicht relevant.

    �8 Es gibt nicht funktionale Anforderungen, die nicht vom Auftraggeber sondern vom Entwicklerteam gestellt werden.

    Karsten Weicker, Nicole Weicker 14/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Wiederverwendbarkeit

    Vorteile von Wiederverwendung I höhere Zuverlässigkeit I geringeres Vorgehensrisiko I effektiverer Einsatz von Spezialisten I Übereinstimmung mit Standards I beschleunigte Entwicklung

    McIlroy-Gesetz

    Software-Wiederverwendung verringert die Zy- kluszeit und erhöht Produktivität und Qualität.

    (nach Endres & Rombach, 2003)

    Karsten Weicker, Nicole Weicker 15/ 21

  • Softwaretechnik – Nicht funktionale Anforderungen

    Wiederverwendbarkeit

    Auswirkungen von Wiederverwendung

    I laut Basili (1996): I hohe Wiederverwendung ⇒ weniger Fehler I hohe Wiederverwendung ⇒ weniger

    Nachbesserungen I hohe Wiederverwendung ⇒ höhere Produktivität

    I laut Zweben (1995): I Black-Box-Wiederverwendung ⇒ weniger Aufwand I Black-Box-Wiederverwendung ⇒ höhere Qualität

    Karsten Weicke