Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Qualitätskriterien für Software

Ähnliche Präsentationen


Präsentation zum Thema: "Qualitätskriterien für Software"—  Präsentation transkript:

1 Qualitätskriterien für Software
Ein Vortrag von Anton Afanasjew Informatik-Seminar WS05/06

2 Inhalt des Vortrags Qualitätskriterien Qualitätsmanagement
Qualitätskriterien für Software Qualitätskriterien für Softwareentwicklung Qualitätsmanagement Begriffe Elemente des Qualitätsmanagements Total Quality Management DIN EN ISO 9000:2000 – Familie Testverfahren Allgemeines Statische Testverfahren Dynamische Testverfahren Kontrollflussbezogene Verfahren

3 Qualitätskriterien für Software
Was sind die Anforderungen an eine Software? Was sind die Anforderungen an Software-Entwicklung? Wie kann man Softwarequalität messen?

4 Allgemeine Qualitätsklassen
„Quick and Dirty“- Software Software funktioniert nur bei sinnvollen Eingaben korrekt Betriebswirtschaftliche Software Die Software arbeitet korrekt und blockt unsinnige Eingaben ab Software mit zusätzlichen Anforderungen Software berücksichtigt weitere Anforderungen wie Ausfallssicherheit, Reaktionszeit usw.

5 Software-Eigenschaften (1)
Korrektheit Software führt ihre Aufgaben korrekt durch Robustheit Software funktioniert auch unter besonderen Umständen korrekt (z. B. falsche Eingaben) Zuverlässigkeit Korrektheit+Robustheit

6 Software-Eigenschaften (2)
Änderbarkeit: Erweiterbarkeit und Wartbarkeit Leichtigkeit, mit der die Software geändert werden kann Erweiterbarkeit: Änderungen aufgrund von Softwareerweiterung Wartbarkeit: Änderungen aufgrund von Fehlern Änderbarkeit wirkt sich sehr auf Kosten aus

7 Software-Eigenschaften (3)
Wiederverwendbarkeit Eigenschaft der SW-Teile, die es erlaubt, sie mit anderen Teilen zu kombinieren Vorteile: Weniger Fehler, Kostenreduzierung Methode: OOAD Kompatibilität Zusammenspiel mit den anderen SW-Produkten Problem: Unterschiedliche Datenformate Lösung: Standards

8 Software-Eigenschaften (4)
Portabilität Leichtigkeit, die Software auf anderen Systemen zu verwenden Wichtig, da Portierung ein großer Kostenfaktor ist Java als positives Beispiel Integrität Sicherheit der Software Fähigkeit, sich gegen unerlaubte Zugriffe zu wehren

9 Software-Eigenschaften (5)
Performance Schnelligkeit und Effizienz in der Ausführung Heute nicht mehr so wichtig, wegen schneller und billiger Hardware Ausnahmen: Echtzeitanwendungen und DB- BS-Kernel Benutzerfreundlichkeit Aussehen Ergonomie Effizienz bei der Eingabe von Daten Standardisierte grafische Oberflächen

10 Qualitätskriterien für den Entwurf von Software (1)
Zerlegbarkeit Zerlegung des Problems in Teilprobleme, die unabhängig voneinander gelöst werden können Kombinierbarkeit Geschickte Entwicklung von Modulen, so dass sie später nach dem Baukastenprinzip kombiniert werden können (=>Wiederverwendbarkeit)

11 Qualitätskriterien für den Entwurf von Software (2)
Verständlichkeit Die Funktionalität und das Nutzen des Moduls soll später ohne Kenntnisse der anderen Module verstanden werden können Stetigkeit Änderungen der Spezifikation sollen möglichst wenige Module beeinflussen (=>Änderbarkeit) Modulgeschütztheit Ein Fehler oder eine Ausnahmesituation soll möglichst wenige Module beeinflussen

12 Qualitätsmanagement Was ist Qualitätsmanagement? Wer hat‘s erfunden?
Welche Normen gibt es? Welche Beziehungen gibt es zwischen normalen QM und Software-QM?

13 Begriffe (1) Qualität Anforderung
Ein Maß, das angibt, inwiefern ein Produkt die gestellten Anforderungen erfüllt Aber auch die Güte der Prozesse, zur Herstellung von Produkten Qualität muss definiert und geschaffen werden Anforderung Eine Erwartung einer bestimmten Güte des Produktes Sie ist meistens definiert, aber kann auch intuitiv erwartet und vorausgesetzt werden

14 Begriffe (2) Qualitätsmanagement Qualitätssicherung
Definierte Prozesse und Tätigkeiten zur Steuerung und Prüfung einer Organisation bezüglich der Qualität Qualitätssicherung Früher: mit QM gleichgesetzt Heute: Teil des QM, der Maßnahmen umfasst, das Vertrauen zu schaffen, dass Qualitätsanforderungen erfüllt werden

15 Elemente des Qualitätsmanagement (1)
Qualitätspolitik Prinzipien des Unternehmens bezüglich der Qualität Von der Unternehmensführung definiert und durchgesetzt Selbstverpflichtung des Unternehmens Qualitätsplanung Festlegen der Qualitätsziele und der dafür notwendigen Prozesse und Ressourcen Definition der Qualitätsziele bei SW nur mit einer eindeutigen Anforderungsspezifikation möglich Qualitätslenkung Erfüllung der Qualitätsanforderungen Vorbeugende Maßnahmen Nachtragende Maßnahmen

16 Elemente des Qualitätsmanagement (2)
Qualitätssicherung Schaffen des Vertrauens in die Erfüllung der Qualitätsanforderungen Regelmäßige Überprüfung der Prozesse, die mit der Qualität zusammenhängen (Audits) Dokumentation und Publikation der Prozesse und der Messgrößen Zertifizierung Qualitätsverbesserung Verbessern der Fähigkeit, Qualitätsanforderungen zu erfüllen Auswertung von Messergebnissen Änderungen der Prozesse aufgrund von Audit-Ergebnissen

17 Total Quality Management
Dt. Begriff: Umfassendes Qualitätsmanagement Eine Führungsmethode, die Kundenzufriedenheit zum Hauptziel des Unternehmens macht Alle anderen Ziele werden davon abgeleitet Qualität steht im Mittelpunkt Alle Mitarbeiter werden in das Qualitätsmanagement eingebunden

18 Geschichte des TQM (1) Ende des 19. Jahrh. : Industrialisierung
Arbeitsteilung Qualitätskontrolle durch Kontrollmeister (Taylor‘sche Methode) Ab 1920: Verbesserung der Qualitätskontrolle durch statistische Methoden und Stichprobenprüfungen (Dr. W. Andrew Shewart)

19 Geschichte des TQM (2) Ab 1950:
Nach dem Ende des 2. Weltkriegs liegt japanische Industrie am Boden Qualität ist Fremdbegriff Amerikaner W. E. Deming kommt nach Japan Mit seiner Hilfe erobern qualitativ hochwertige Waren aus Japan den Weltmarkt Japanischer Held W.E. Deming

20 Geschichte des TQM (3) Demings Thesen:
Qualitätskontrolle ist mehr als eine Endkontrolle Sie ist ein Prozess, der die gesamte Produktherstellung begleitet Qualität spart Geld: Weniger Nacharbeitung, höhere Produktivität, neue Märkte Qualitätsverbesserung durch PDSA-Zyklus Demings Wheel

21 Geschichte des TQM (4) In den 80-ern zieht Deming nach USA und veröffentlicht „If Japan can, why can‘t we?“ wodurch er auch dort berühmt wird J.M. Juran führt den kundenorientierten Qualitätsbegriff ein In 1961 prägt A.V. Feigenbaum den Begriff „Total Quality Control“ Vorbeugende Beseitigung potentieller Fehler Überwachung der Qualität von Produkten und deren Produktion Kundendienst und Wartung

22 Geschichte des TQM (5) Der Japaner Ishikawa nimmt diesen Aspekt auf
Qualitätskontrolle als Managementaufgabe Beteiligung aller Mitarbeiter an der Verbesserung der Qualität Prozessorientierte Unternehmensführung gewinnt an Bedeutung Diese Stufe der Entwicklung heißt TQM

23 Qualitätsmanagementsysteme und Standards für deren Umsetzung (1)
Großer Konkurrenzdruck Kunden sind wählerisch, was Qualität angeht Firmen müssen nachweisen, dass sie besser als Andere sind (z.B. durch eine Zertifizierung) Dazu ist die Einhaltung der Anforderungen während des gesamten Produktionsprozesses erforderlich Ein Qualitätsmanagementsystem gibt Anhaltspunkte zur Umsetzung

24 Qualitätsmanagementsysteme und Standards für deren Umsetzung (2)
Aktuelle Standards: ISO 9000:2000: Grundlagen und Begriffe für Qualitätsmanagementsysteme ISO 9001:2000: Anforderungen an die Qualitätsmanagementsysteme ISO 9000-Teil 3: Leitfaden für die Anwendung von ISO 9001 auf die Entwicklung, Lieferung und Wartung von Software

25 Die wichtigsten Prinzipien der 9000ff- Normen (1)
QM-System Das Unternehmen muss ein QM-System entwickeln und es in einem QM-Handbuch niederlegen Alle Prozesse zur Erfüllung der Anforderungen müssen dort auch beschrieben werden Ebenso die QM-Politik und die QM-Ziele

26 Die wichtigsten Prinzipien der 9000ff- Normen (2)
Verantwortung der obersten Leitung Selbstverpflichtung QM-Politik und QM-Ziele, Ressourcen Verantwortungsbereiche für die Kontrolle der Prozessdurchführung und –verbesserung Qualitätsbeauftragte Prüfen die Durchführung der Prozesse Sorgen für die gute Kommunikation im Unternehmen QM-Bewertung und Anpassung nach folgenden Infos Auswertung interner Audits Kundenrückmeldungen Fehler und Wirksamkeit der Prozesse

27 Die wichtigsten Prinzipien der 9000ff- Normen (3)
Management der Ressourcen Das Unternehmen muss die notwendigen Mittel zur Einführung und Aufrechterhaltung des QM-Systems zur Verfügung stellen Motivation und Schulung der Mitarbeiter Infrastruktur Hard- und Software Dienstleistungen Finanzmittel

28 Die wichtigsten Prinzipien der 9000ff- Normen (4)
Produktrealisierung Produktionsprozesse müssen geplant werden (unter Berücksichtigung der Qualitätsziele) Kundenanforderungen müssen ermittelt werden Kommunikation zw. Entwicklungsgruppen und mit den Kunden Entwicklungsphasen Regelmäßige Beurteilung der Erfüllbarkeit der Qualitätsanforderungen (mit Lösungsvorschlägen) Lieferantenkontrolle Validierung der Produktionsprozesse

29 Die wichtigsten Prinzipien der 9000ff- Normen (5)
Messung, Analyse und Verbesserung Entsprechende Prozesse Methoden zur Messung der Kundenzufriedenheit Methoden zur Messung und Verbesserung von Prozessen Messung der Produkte Analyse der gemessenen Daten Vorbeugende und Korrekturmaßnahmen

30 Testverfahren Was muss man bei den Software-Tests beachten?
Wie testet man systematisch? Was sind statische und dynamische Testverfahren? Was sind kontrollflussbezogene Testverfahren?

31 Begriffe Test: Verifikation: Testfall: Testdaten:
Prüfung der Software auf die Übereinstimmung mit den Anforderungen Verifikation: Prüfung eines Software-Modells auf die Übereinstimmung mit den Anforderungen mit Hilfe von mathematischen Beweisen Testfall: Eine Menge von Eingabedaten mit den erwarteten Ergebnissen Testdaten: Teilmenge aller möglichen Eingabedaten der Testfälle, mit denen das Programm tatsächlich getestet wird

32 Grundlagen zum Testen Entwickler sollten ihre eigene Software nicht testen Hauptproblem beim Testen: geeignete Testfälle finden Testen mit sinnlosen, falschen, ungültigen Eingaben notwendig Tests müssen reproduzierbar sein Testen, ob ein Programm etwas tut, was es nicht sollte, und ob es etwas nicht tut, was es sollte Testen ist eine anspruchsvolle und kreative Aufgabe !!!

33 Statische Testverfahren
Testen des Codes Code-Inspection Programmierer erklärt den Code Die Anderen stellen Fragen und versuchen die Fehler zu finden 30%-80% der Fehler werden so entdeckt Walkthrough Durchlaufen möglichst vieler Testfälle Analyse und Verifikation der Komplexität Berechnen der Geschwindigkeit der Algorithmen abhängig von den Eingabedaten (Lineare, quadratische, exponentielle Komplexität)

34 Dynamische Testverfahren
Testen in der realen Umgebung Testen nach dem Prinzip der Stichproben Exemplarische Standard- und Sonderfälle Passende Testfälle sind wichtig

35 Kontrollflussbezogene Testverfahren (1)
Das Programm wird als ein Kontrollflussdiagramm dargestellt Anweisungsblöcke bilden die Knoten Kontrollfluss wird durch Kanten dargestellt Durch geschickte Wahl der Testfälle sollen möglichst viele Teile der Kontrollstrukturen durchlaufen werden

36 Beispiel if (a>=0) b=a+1; else b=a-1; if (c+d>=0) e=c+d e=a+b
return e

37 Kontrollflussbezogene Testverfahren (2)
Anweisungsüberdeckung Alle Anweisungen werden mindestens einmal durchgeführt (nicht ausreichend) Zweigüberdeckung Alle Verzweigungen werden mindestens einmal verfolgt (Fehler sind immer noch möglich) Pfadüberdeckung Alle möglichen Pfade werden mindestens einmal durchlaufen (Nicht praktikabel)

38 Beispiel Anweisungsüberdeckung: Zweigüberdeckung: Pfadüberdeckung:
a=2,c=0,d=0 erreicht: A1,A3,A5 a=-2,c=-1,d=-1 erreicht: A2,A4,A5 VOLLSTÄNDIG Zweigüberdeckung: Obere 2 Eingaben reichen aus, um E1 und E2 jeweils für die Werte true und false zu verfolgen Pfadüberdeckung: a=2,c=0,d=0 durchläuft Pfad true, true a=2,c=-1,d=-1 durchläuft Pfad true, false a=-2,c=0,d=0 durchläuft Pfad false, true a=-2,c=-1,d=-1 durchläuft Pfad false, false (Bei k linearen Binärentscheidungen 2 hoch k Pfade, bei Schleifen evtl unendlich viele Pfade)

39 Softwarequalitätskriterien: Zusammenfassung
Qualitätskriterien für Software (Korrektheit, Robustheit, Performance usw.) Softwareentwicklung (Zerlegbarkeit, Verständlichkeit usw.) Qualitätsmanagement Total Quality Management (Deming, Kundenorientierung, QM-Systeme) ISO 9000:2000ff (Standards für QM-Systeme) Testverfahren für Software Testpraxis (sinnlose Eingaben testen, geeignete Testfälle finden, Reproduzierbarkeit von Tests) Statische und dynamische Testverfahren (Code-Inspection, Walkthrough, Kontrollflussbezogene Testverfahren)

40 Vielen Dank für die Aufmerksamkeit !!!
Ende Vielen Dank für die Aufmerksamkeit !!!

41 Fragen FRAGEN???


Herunterladen ppt "Qualitätskriterien für Software"

Ähnliche Präsentationen


Google-Anzeigen