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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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