Qualitätskriterien für Software

Slides:



Advertisements
Ähnliche Präsentationen
Ing. Helena Čierna, PhD. & Ing. Peter Pohančaník
Advertisements

Lexikon der Qualität Begriffe in Verbindung mit Qualität und ISO9000 finden sie auch im Lexikon der Qualität erläutert (
Qualität „Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener.
Integrations- und Funktionstests im Rahmen des V-Modelles
Phasen und ihre Workflows
Qualitätsmanagement von Atena Engineering in der Automobilindustrie Vorstellung von Kompetenzen und Projektbeispielen Gianni Murgia
Messung, Analyse und Verbesserung
Controlling, Analyse und Verbesserung (Teil 2)
BSC Balanced ScoreCard QOS Quality Operating System
LE LM 8 - LO 3 Prozessnormen und Normen zu QM-Systemen
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Prozessqualität: Ansätze und Ziele
Software „Unter Software versteht man die Gesamtheit oder auch einen Teil der Programme für Rechensysteme. Diese Programme ermöglichen zusammen mit den.
Prozessqualität: Ansätze und Ziele
Was ist und wie prüft man Qualität
Prozessqualität und Produktqualität
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.2- LM 8 - LO 9 Definitionen zu LM 8.
Schulung der Mitarbeiter
Was ist Qualität ? Qualität von Produkten oder Dienstleistungen ist das Gesamtergebnis aller Aktivitäten in jeder Phase des gesamten Leistungsprozesses.
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Zertifizierung von Software: CMM oder ISO 9000
Qualität von Software Qualität ist nicht messbar, sondern nur über die Erfüllung von Anforderungen zu definieren Die Erfüllung von Anforderungen ist oft.
Definition Qualitätsaudit
Qualitätsmanagement-Handbuch
Controlling, Analyse und Verbesserung (Teil 1)
Testen, Analysieren und Verifizieren von Software
Dokumentationsanforderungen
Referent: Heinrich Schrenker
Qualitätsmanagement in der Klinik ein kurzer Überblick
Gesundes Führen lohnt sich !
Qualitätsentwicklung
Vorgehensmodelle: Schwergewichtige Modelle
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Synergieeffekte durch softwaregestützte Prozessmodelle
Qualitätsmanagement im Tourismus Best Practice Beispiele mittelständischer Organisationen Lateinamerika-Konferenz der Deutschen Wirtschaft (LAK) 15/
Revision der Normen zum Qualitätsmanagement
Einführung eines integrierten prozessorientierten Verwaltungsmanagements im Luftfahrt-Bundesamt - Beitrag zum 10. eGovernment-Wettbewerb in der Kategorie.
Zentralübung Automotive Software Engineering – Übungsblatt 8
Aufbau einer QM- Systematik entsprechend der DIN EN ISO 9001
GIS - Seminar Wintersemester 2000/2001
Warum? Kooperationsfähigkeit Fachkompetenz Einsatzbereitschaft
Definitionen der SWT (1)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Qualitäts-Controlling
Six Sigma Nina Welsch Oktober 2013 ©2007 IndiTango AG | |
ISO
Wasserfallmodell und Einzelbegriffe
Qualitätsmanagement in kommunalen Verkehrsplanungsprozessen
Prozessorientierter Aufbau nach EN ISO 9001:2000 und
Qualität Heinz-Werner Fahle.
Aufgaben und Ziele des Faches Qualitätsmanagement:
Qualität ? ? was ist das??? ? Kai - Uwe Güteklasse A
Korrektheit von Programmen – Testen
Software Engineering Grundlagen
Branchenübliche Zertifizierungen
Qualitätsmanagement-Systeme in der Praxis der Torf- und Humuswirtschaft Dr. Ursula Priske BTD-Unternehmensberatung Deutscher Torf- und Humustag 2004.
Was ist Qualitätsmanagement?
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
IFS in der Praxis und die qualitätsrelevanten Systeme der Brauerei Wieselburg Josef Martin Wasner Leiter Produktion und Qualitätssicherung
Qualitätsmanagement-Systeme - ein Wirtschaftsfaktor
Qualitätsmanagement nach ISO 9001:2000 in der Zahnarztpraxis
4.Qualitätsmanagementsystem
Software-Entwicklung
Wertschöpfende Audits Impuls zur Rechtssicherheit bei ISO 9001 Audits
Projektmanagement und Softwarequalität
DIN EN ISO 9000ff:2000 Hallo Einführung ISO & Geschichte Anforderungen Prozessmodell Zusammenfassung Diskussion Literatur Exkurs HALLO Referatsthema: DIN.
Willkommen zur Schulung
 Präsentation transkript:

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

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

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?

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.

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

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

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

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

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

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)

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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)

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)

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)

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

Fragen FRAGEN???