23
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€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Softwaretechnik –Nicht funktionale Anforderungen

Karsten Weicker, Nicole WeickerHTWK 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

Page 2: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Funktional vs. nicht funktional

I funktionale Anforderung –uberprufbare Funktionalitat des SystemsProduktfunktionen

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

Benutzbarkeit KompatibilitatEffizienz DatenschutzZuverlassigkeit SicherheitPortierbarkeit Wiederverwenbarkeit

Karsten Weicker, Nicole Weicker 2/ 21

Page 3: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Definition

Definition (nicht funktionale Anforderungen)Nicht funktionale Anforderungen sindBeschrankungen der durch das System angebotenenDienste oder Funktionen. Dies schließt u.a.Zeitbeschrankungen, Beschrankungen desEntwicklungsprozesses, einzuhaltende Standards undBetriebsbedingungen ein.

Karsten Weicker, Nicole Weicker 3/ 21

Page 4: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Zu nicht funktionalen Anforderungen

I wichtig: konnen nicht uber funktionale Testsuberpruft werden

I mussen exakt und (ohne funktionale Tests)uberprufbar formuliert werden

I bestenfalls uber Metriken (Maße)quantifizierbar

I Metriken sind Grundlage fur eine eindeutiguberprufbare nicht funktionale Anforderung

I ohne Metrik entsteht nur Streit: Was bedeutetz.B.

”Leicht bedienbar?“

Karsten Weicker, Nicole Weicker 4/ 21

Page 5: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Beispiel (aus: Sommerville)I Systemziel:

Das System sollte fur erfahrene Benutzereinfach zu bedienen und so aufgebaut sein, dassFehler durch den Benutzer minimiert werden.

I Verifizierbare Anforderung:Es soll erfahrenen Benutzern moglich sein, nacheiner Schulung von insgesamt zwei Stunden alleSystemfunktionen zu verwenden. Nach dieserSchulung sollte der durchschnittliche Wertgemachter Fehler bei erfahrenen Benutzernnicht hoher als zwei pro Tag sein.

Karsten Weicker, Nicole Weicker 5/ 21

Page 6: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Definitionen: Metrik (1)

Definition (Metrik)Eine Metrik ist die Abbildung einer Software odereines Prozesses der Software-Bearbeitung auf eineskalare oder vektorielle Große.(aus: Ludewig/Lichter 2007)

Karsten Weicker, Nicole Weicker 6/ 21

Page 7: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

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 degreeto which a system or component possesses agiven 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 canbe interpreted as the degree to which the softwarepossesses a given quality attribute.

Karsten Weicker, Nicole Weicker 7/ 21

Page 8: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

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 degreeto which a system or component possesses agiven 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 canbe interpreted as the degree to which the softwarepossesses a given quality attribute.

Karsten Weicker, Nicole Weicker 7/ 21

Page 9: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Eigenschaften von Metriken

I Metriken sindI differenzierbarI vergleichbarI reproduzierbarI verfugbarI relevantI rentabelI plausibel

Siehe Ludewig/Lichter (2007), S. 281

Karsten Weicker, Nicole Weicker 8/ 21

Page 10: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Beispiele fur Metriken

I Geschwindigkeit: ausgefuhrte Transaktionen/Sekunde,Bildschirmauffrischungszeit, Reaktionszeit aufBenutzereingabe

I Große: Kilobytes

I Zuverlassigkeit: Fehler/KLOC, durchschnittliche Zeitbis zu einer Fehlfunktion, Wahrscheinlichkeit derNichtverfugbarkeit, Quote fur das Auftreten von Fehlern,Verfugbarkeit als MTTF/(MTTF + MTTR) mean timeto failure bzw. mean time to repair (also Fehlerfreie Zeitgeteilt durch (Fehlerfreie Zeit plus Reparierzeit))

Karsten Weicker, Nicole Weicker 9/ 21

Page 11: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Beispiele fur Metriken

I Stabilitat Zeit bis zum Neustart nach Fehlfunktion,Wahrscheinlichkeit fur Datenverlust bei Fehlfunktion

I Portierbarkeit Anteil der plattformabhangigenAnweisungen, Anzahl der Zielsysteme

I Benutzerfreundlichkeit Schulungsdauer, Anzahl derHilfeseiten

Nielsen-Norman-Gesetz

Benutzerfreundlichkeit (usability) ist quantitativ be-stimmbar.

(nach Endres & Rombach, 2003)

Karsten Weicker, Nicole Weicker 10/ 21

Page 12: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Uberprufbarkeit: Benutzerfreundlichkeit

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

I Erfolgsrate: Prozentsatz der fehlerfreienAufgaben/Zeiteinheit

I benotigte Zeit: fur eine vorgegebene Aufgabe (in min)

I Fehlerhaufigkeit: Anzahl der Fehler beim Losen einerAufgabe

I Hilfeanfragen: Anzahl der Hilfeanfragen bei einerAufgabe

Karsten Weicker, Nicole Weicker 11/ 21

Page 13: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

ISO Norm (1)

Norm ISO 9126 zur Produktqualitat:

I internat. Standard: nicht funktionalenAnforderungen

I definiert Metriken

I kostet einiges an Geld, liegt uns nicht vor.

Karsten Weicker, Nicole Weicker 12/ 21

Page 14: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

ISO Norm (2)Norm ISO 9126 zur Produktqualitat:

I Funktionalitat: Richtigkeit, Angemessenheit,Interoperabilitat, Ordnungsmaßigkeit, Sicherheit

I Zuverlassigkeit: Reife, Fehlertoleranz,Wiederherstellbarkeit

I Benutzbarkeit: Verstandlichkeit, Erlernbarkeit,Bedienbarkeit

I Effizienz: Zeitverhalten, Verbrauchsverhalten

I Anderbarkeit: Analysierbarkeit, Modifizierbarkeit,Stabilitat, Prufbarkeit

I Ubertragbarkeit: Anpassbarkeit, Installierbarkeit,Konformitat, Austauschbarkeit

Karsten Weicker, Nicole Weicker 13/ 21

Page 15: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Zwei Minuten

� Nicht funktionale Anforderungen konnen nur subjektivuberpruft werden.

� Eine Produktmetrik ist eine quantitative Messung einerqualitativen Eigenschaft eines Systems.

� Jede nicht funktionale Anforderung soll uber Metrikenuberprufbar sein.

� Nicht funktionale Anforderungen sind in derSpezifikationsphase nicht relevant.

� Es gibt nicht funktionale Anforderungen, die nicht vomAuftraggeber sondern vom Entwicklerteam gestelltwerden.

Karsten Weicker, Nicole Weicker 14/ 21

Page 16: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Allgemeines

Zwei Minuten

� Nicht funktionale Anforderungen konnen nur subjektivuberpruft werden.

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

�8 Jede nicht funktionale Anforderung soll uber Metrikenuberprufbar sein.

� Nicht funktionale Anforderungen sind in derSpezifikationsphase nicht relevant.

�8 Es gibt nicht funktionale Anforderungen, die nicht vomAuftraggeber sondern vom Entwicklerteam gestelltwerden.

Karsten Weicker, Nicole Weicker 14/ 21

Page 17: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Vorteile von WiederverwendungI hohere ZuverlassigkeitI geringeres VorgehensrisikoI effektiverer Einsatz von SpezialistenI Ubereinstimmung mit StandardsI beschleunigte Entwicklung

McIlroy-Gesetz

Software-Wiederverwendung verringert die Zy-kluszeit und erhoht Produktivitat und Qualitat.

(nach Endres & Rombach, 2003)

Karsten Weicker, Nicole Weicker 15/ 21

Page 18: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Auswirkungen von Wiederverwendung

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

NachbesserungenI hohe Wiederverwendung ⇒ hohere Produktivitat

I laut Zweben (1995):I Black-Box-Wiederverwendung ⇒ weniger AufwandI Black-Box-Wiederverwendung ⇒ hohere Qualitat

Karsten Weicker, Nicole Weicker 16/ 21

Page 19: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Nutzen der Wiederverwendung

I SeienCneu Kosten einer Komponente (Neuentwicklung)Cwieder Kosten fur die Wiederverwendung einer Komp.r Anteil der wiederverwendeten KomponentenS Große der Software (z.B. in KLOC)P0 = S

CneuBasisproduktivitat

I Dann gilt (laut Endres, 1988):

Pr = P0

1− r + r · Cwieder

Cneu

Karsten Weicker, Nicole Weicker 17/ 21

Page 20: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Probleme

I hohere Wartungskosten

I Mangel an Unterstutzung durch Werkzeuge

I”Nicht-hier-erfunden“-Syndrom

I Wartung einer Komponentenbibliothek

I Auffinden und Anpassen wiederverwendbarerKomponenten

Karsten Weicker, Nicole Weicker 18/ 21

Page 21: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Wiederverwendung kauflicher Produkte (1)

I Probleme bei der Integration vonStandardsystemen:

I Mangel an Kontrolle uber Funktionalitat undLeistung

I Probleme mit der ubergreifendenFunktionsfahigkeit

I keine Kontrolle uber die WeiterentwicklungI Unterstutzung durch die Anbieter von

Standardsystemen

Karsten Weicker, Nicole Weicker 19/ 21

Page 22: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Wiederverwendung kauflicher Produkte (2)

Basili-Boehm-COTS-Hypothese

COTS-basierte Software beseitigt nicht dieSchlusselgefahren der Software-Entwicklung.

(nach Endres & Rombach, 2003)

I COTS = Commercial Off–The-ShelveI Provokation von Basili und Boehm 2001

I mehr als die Halfte der Features wird nicht benotigtI nur Support fur drei ReleasesI Verbindungscode hat dreifache KostenI personliche Fahigkeiten und Erfahrung bleiben

hochste Produktivitatsfaktoren

Karsten Weicker, Nicole Weicker 20/ 21

Page 23: Softwaretechnik -- Nicht funktionale Anforderungen€¦ · Softwaretechnik – Nicht funktionale Anforderungen Allgemeines Zu nicht funktionalen Anforderungen I wichtig: k¨onnen

Softwaretechnik – Nicht funktionale Anforderungen

Wiederverwendbarkeit

Aufgabe

I Finden Sie zwei sinnvolle nicht funktionaleAnforderungen fur dieEvaluationsplanungssoftware.

I Beschreiben Sie, wie Sie diese nichtfunktionalen Anforderungen uberprufen konnen.

Karsten Weicker, Nicole Weicker 21/ 21