Softwarequalität - Qualitätsmodelle



Ähnliche Dokumente
Softwarequalitätsmodelle

Qualitätssicherung. Was ist Qualität?

SWE12 Übungen Software-Engineering

Softwarequalität: Einführung. 15. April 2015

Was versteht man unter Softwarequalität?

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können.

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

Fragebogen ISONORM 9241/110-S

12 Nicht-funktionale Anforderungen

Managementbewertung Managementbewertung

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Fragebogen zur Anforderungsanalyse

Qualität 1. 1 Qualität

FUTURE NETWORK REQUIREMENTS ENGINEERING

Tag des Datenschutzes

Qualitätsmanagement in kleinen und mittleren Unternehmen

Informationssystemanalyse Grundlagen 1 1

Validierung von Software-Werkzeugen. Matthias Hölzer-Klüpfel

Content Management System mit INTREXX 2002.

SAFEYTEAMS-Newsletter Nr. 5

Whitebox-Tests: Allgemeines

6 Management der Informationssysteme (2)

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Pflichtenheft: Wettervorhersagen via Webservice

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Softwaretechnik. Fomuso Ekellem WS 2011/12


Die Klimaforscher sind sich längst nicht sicher. Hans Mathias Kepplinger Senja Post

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Requirements Engineering für IT Systeme

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Qualitätsmanagement. Grundlagen

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Fragebogen: Abschlussbefragung

Änderung der ISO/IEC Anpassung an ISO 9001: 2000

Die Softwareentwicklungsphasen!

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

9001 weitere (kleinere) Änderungen

Qualitätsmanagement im Projekt

Some Software Engineering Principles

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Einführung und Motivation

Quality Assurance Review der IT-Revision (QAR-IT) -Ein Leitfaden -

Comparison of Software Products using Software Engineering Metrics

9.6 Korrekturmaßnahmen, Qualitätsverbesserung

Die Nutzer im Mittelpunkt des Software-Entwicklungprozesses

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

Requirements Engineering

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

Produktbezogener Ansatz

Was beinhaltet ein Qualitätsmanagementsystem (QM- System)?

Internet Explorer Version 6

Übungsklausur vom 7. Dez. 2007

Wie misst man Qualität?

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Pflichtenheft. 1 Zielbestimmungen Musskriterien Wunschkriterien Abgrenzungskriterien... 2

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Simulation (vormals Feldversuch) Cico im Gelenkbus

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Der schnelle Weg zu Ihrer eigenen App

... Bitte Namen und Matrikelnummer oben eintragen.

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

J O L A N T H E D L U G O K E C K I C A R O L I N K A N J A

Was versteht man unter Softwaredokumentation?

B&B Verlag für Sozialwirtschaft GmbH. Inhaltsübersicht

ISO 9001:2015 REVISION. Die neue Struktur mit veränderten Schwerpunkten wurde am 23. September 2015 veröffentlicht und ist seit

Herausforderungen für das Qualitätsmanagement in der Supply-chain

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Erfahrungen mit Hartz IV- Empfängern

Terminologie zwischen normativer Referenz und deskriptiver Dokumentation. Dr. Birte Lönneker-Rodman, Across Systems GmbH

GRS SIGNUM Product-Lifecycle-Management

Dipl.-Ing. Herbert Schmolke, VdS Schadenverhütung

DER SELBST-CHECK FÜR IHR PROJEKT

GfWM-regional - Fishbowl Wissen , Wissenschaftszentrum Kiel

Delta Audit - Fragenkatalog ISO 9001:2014 DIS

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

GPP Projekte gemeinsam zum Erfolg führen

Zeichen bei Zahlen entschlüsseln

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Prozessoptimierung. und. Prozessmanagement

.. für Ihre Business-Lösung

Planung, Auswahl und Ingest

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Projekt- Management. Landesverband der Mütterzentren NRW. oder warum Horst bei uns Helga heißt

Algorithmische Kryptographie

Die Betriebssicherheitsverordnung (BetrSichV) TRBS 1111 TRBS 2121 TRBS 1203

Messmittelfähigkeit. Andreas Masmünster, Quality Control Event, 30. Juni 2011

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Mit prozessorientiertem Qualitätsmanagement zum Erfolg - Wer das Ziel kennt, wird den Weg finden -

Softwaretechnikpraktikum SS Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Transkript:

Softwarequalität - Qualitätsmodelle Proseminar IT-Kennzahlen und Codemetriken Clara Lange 17.05.2010 TU München

Inhalt 1. Was ist Softwarequalität? 2. Sichten auf Softwarequalität 3. Messen von Qualität 4. Qualitätsmodelle 5. Qualitätsmanagement 2

1. Was ist Softwarequalität? 1. Definitionen von Qualität 2. Der Begriff Softwarequalität 3. Unterscheidung von Softwarequalität 3

1.1. Definitionen von Qualität Qualität = Gesamtheit der Eigenschaften von Erzeugnissen, die den Grad ihrer Eignung für einen bestimmten Verwendungszweck bestimmen [Quelle: Fremdwörterbuch] 4

1.1. Definitionen von Qualität Qualität = Bezeichnung einer potentiell wahrnehmbaren Zustandsform von Systemen und ihrer Merkmale, welche in einem bestimmten Zeitintervall anhand bestimmter Eigenschaften des Systems in diesem Zustand definiert wird [Quelle: wikipedia.de] 5

1.2. Der Begriff Softwarequalität Wie kann man Softwarequalität messen? Wer ist verantwortlich für die Qualität von Software? Lohnen sich Verbesserungen an der Softwarequalität? Wie beeinflusst die Qualität den Gebrauch vom Benutzer? Führt hohe Qualität auch zu höherem Profit und hält sich das Produkt lang auf dem Markt? 6

1.2. Der Begriff Softwarequalität Good Software = Good Business??? Softwarequalität bedeutet auch, dass die festgelegten Anforderungen erreicht werden. Softwarequalität ist ein komplexes und vielschichtiges Konzept, das aus verschiedenen Perspektiven betrachtet werden kann und durch Qualitätsmanagement erreicht werden kann. 7

1.3. Unterscheidung von Softwarequalität Produktqualität = Grad der Qualität eines Produktes Prozessqualität = Qualität der Herstellungsprozesse für ein Produkt Innere Qualität = Entwicklerperspektive ( Lesbarkeit des Quellcodes, Erweiterbarkeit, Wartbarkeit,...) Äußere Qualität = Kundenperspektive ( Einfache Verwendbarkeit, Zuverlässigkeit, Funktionsumfang,...) 8

2. Sichten auf Softwarequalität 1. Transzendente Sicht 2. Benutzerorientierte Sicht 3. Herstellerorientierte Sicht 4. Produktorientierte Sicht 5. Wertorientierte Sicht 9

2.1. Transzendente Sicht Qualität kann nicht präzise definiert und gemessen werden. Qualität kann nur durch Erfahrung beurteilt werden. Qualität entspricht einem Ideal, das man anstreben will, welches aber wahrscheinlich nie erreicht werden kann. 10

2.2. Benutzerorientierte Sicht Qualität ist ausgerichtet auf die Bedürfnisse und Anforderungen des Benutzers. Problem: unterschiedliche Benutzergruppen, somit unterschiedliche Bedürfnisse Benutzer entscheidet subjektiv über die Qualität von Produkten. 11

2.3. Herstellerorientierte Sicht Qualität entspricht der Einhaltung von Anforderungen. Sicht bezieht sich auf die Qualität während der Produktion und nach der Auslieferung. Qualität wird durch Prozesskontrolle erreicht, um Kosten für Nacharbeit zu verhindern. 12

2.4. Produktorientierte Sicht Qualität stellt eine exakt definierbare und messbare Größe dar. Ordnung der Produkte ist hinsichtlich ihrer Qualität und ihrer Eigenschaften möglich. Sicht ermöglicht eine objektive und kontextfreie Beurteilung von Qualität. 13

2.5. Wertorientierte Sicht Qualität wird über die Herstellungskosten und einen angemessenen Einkaufspreis definiert. Qualität entspricht einem guten Preis-Leistungs- Verhältnis. 14

3. Messen von Qualität 1. Allgemeines zum Messen 2. Messen aus der Sicht des Benutzers 3. Messen aus der Sicht des Herstellers 15

3.1. Allgemeines zum Messen Messen von Softwarequalität ist sehr problematisch, da es nicht einmal eine einheitliche Definition von Softwarequalität gibt. Gegensätzliche Softwarequalitätsziele: Funktionsumfang Benutzbarkeit, Portabilität Sicherheit Messen von Softwarequalität ist abhängig von der Sicht. 16

3.2. Messen aus der Sicht des Benutzers Zuverlässigkeit: Messbar durch die Zeit zwischen Ausfällen des Systems oder durch die Anzahl der Ausfälle über eine gewisse Zeitspanne Benutzbarkeit: Messbar durch die Zeit, die verstrichen ist, bis der Benutzer sich eine gewisse Kompetenz angeeignet hat, um mit dem Produkt gut umgehen zu können 17

3.3. Messen aus der Sicht des Herstellers Normalisierung: Anzahl der Defekte/Ausfälle: Defektrate = Anzahl der Defekte hinsichtlich der Größe des Softwareprodukts Auswirkung auf das Testen: Anzahl der Fehler während einer bestimmten Software Engineering Aktivität Gesamtanzahl der Fehler 18

3.3. Messen aus der Sicht des Herstellers Überarbeitungs-/Nacharbeitungskosten: Nacharbeitungszeit = zusätzlicher Arbeitsaufwand, um Fehler nach der Fertigstellung der Dokumentation und des Codes zu finden und zu beheben Nacharbeitungskosten = zusätzliche Kosten, die in der Nacharbeitungszeit entstehen Normalisierung: Anteil der Nacharbeitungszeit an der gesamten Entwicklungszeit 19

4. Qualitätsmodelle 1. Allgemeines zu Qualitätsmodellen 2. Qualitätsmodell von McCall 3. Qualitätsmodell nach der Norm ISO 9126 4. Probleme von Softwarequalitätsmodellen 5. Mögliche Lösungen für die Problematik der Qualitätsmodelle 20

4.1. Allgemeines zu Qualitätsmodellen Qualitätsmodelle zeigen, wie Qualitätseigenschaften miteinander verbunden sind und wie man diese messen kann. Qualitätsmodelle dienen als Hilfsmittel für konkrete Planungs- und Bewertungsaufgaben. 21

4.2. Qualitätsmodell von McCall 1. Bestandteile des Modells 2. Aufbau des Qualitätsmodells 3. Teilausschnitt aus dem Qualitätsmodell nach McCall 22

4.2.1. Bestandteile des Modells Das Modell nach McCall ist ein dreistufiges Qualitätsmodell, zusammengesetzt aus Qualitätsfaktoren ( factors ), mehreren Merkmalen ( criteria ) zu jedem Faktor und Kenngrößen ( metrics ) zu jedem Merkmal. 23

4.2.1. Bestandteile des Modells Korrektheit = Umfang, in dem die Software ihre Spezifikation und damit die Anforderungen erfüllt Zuverlässigkeit = Leistungsfähigkeit eines Systems, die angeforderte Funktionalität unter festgelegten Bedingungen und für einen festgelegten Zeitraum zu erfüllen Effizienz = Größenordnung, in dem ein System seine Leistung mit einem minimalen Ressourcenverbrauch erbringt 24

4.2.1. Bestandteile des Modells Integrität = Umfang, in dem ein System nicht berechtigte Zugriffe auf Programme und Daten und deren unberechtigte Veränderung verhindert Benutzbarkeit = Leichtigkeit, mit der ein Benutzer die Bedienung eines Systems erlernen kann Wartbarkeit = Leichtigkeit, mit der ein System verändert werden kann, um Fehler zu beheben 25

4.2.1. Bestandteile des Modells Testbarkeit = Aufwand, der in einem System für die Durchführung von Tests und die Erstellung von Testfällen notwendig ist Flexibilität = Bequemlichkeit, mit der ein System abgeändert werden kann, um neue Anforderungen umzusetzen Portabilität = Leichtigkeit, mit der ein System von einer Hardwareumgebung oder Softwareumgebung in eine andere übergeführt werden kann 26

4.2.1. Bestandteile des Modells Wiederverwendbarkeit = Größenordnung, in der ein Teil der Software in mehr als einem Programm oder System erneut verwendet werden kann Verknüpfbarkeit = Bequemlichkeit, mit der mehrere Systeme Informationen austauschen und mit diesen arbeiten können 27

4.2.2. Aufbau des Qualitätsmodells Korrektheit Zuverlässigkeit Verfolgbarkeit Vollständigkeit Konsistenz Fehlertoleranz Genauigkeit Alle implementierten Funktionen benutzt Alle referenzierten Funktionen implementiert Fehler behebbar & führen nicht zum Systemabsturz 28

4.2.2. Aufbau des Qualitätsmodells Effizienz Ausführungseffizienz Speichereffizienz 1- # ungenutzter Daten gesamte # Daten Zugriffskontrolle Schutz vor unberechtigtem Speicherzugriff Integrität Zugriffsnachweis Bedienbarkeit Alle Schritte für Anwendungen beschrieben Benutzbarkeit Trainierbarkeit Kommunikativität Nützliche Hilfe vorhanden 29

4.2.2. Aufbau des Qualitätsmodells Einfachheit Keine Funktionen doppelt vorhanden Wartbarkeit Kürze/Prägnanz Selbsterklärung # Kommentare gesamte # Zeilen Modularität 30

4.2.2. Aufbau des Qualitätsmodells Einfachheit Testbarkeit Instrumentiertheit Selbsterklärung # zu testende Zweige gesamte # Zweige Modularität 1- # Module > 100 gesamte # Module 31

4.2.2. Aufbau des Qualitätsmodells Einfachheit Keine globale Daten Flexibilität Erweiterbarkeit Allgemeinheit # allg. anwendb. Module gesamte # Module Modularität 32

4.2.2. Aufbau des Qualitätsmodells Einfachheit Portabilität Systemunabhängig 1- # nützliche Progr. gesamte # Progr. Geräteunabhängig Benutzte Progr.Sprache auf anderen Maschinen vorhanden 33

4.2.2. Aufbau des Qualitätsmodells Einfachheit Eindeutige Namen für Variablen Allgemeinheit Wiederverwendbarkeit Modularität Systemunabhängig Geräteunabhängig 34

4.2.2. Aufbau des Qualitätsmodells Modularität Verknüpfbarkeit Kommunikationskompatibilität Standardprotokolle integriert & nutzbar Datenkompatibilität Übersetzung zw. vers. Datenformaten möglich 35

4.2.3. Teilausschnitt aus dem Qualitätsmodell nach McCall Einfachheit Kürze Erweiterbarkeit Allgemeinheit Modularität Wartbarkeit Testbarkeit Flexibilität Portabilität Wiederverwendbarkeit Instrumentiertheit Selbsterklärung Systemunabhängigk. Geräteunabhänigk. Kommunikat.kompat. Datenkompatibilität. Verknüpfbarkeit 36

4.3. Qualitätsmodell nach der Norm ISO 9126 1. Bestandteile des Qualitätsmodells 2. Gesamtüberblick über ISO 9126 37

4.3.1. Bestandteile des Qualitätsmodells Funktionalität: Inwieweit wurden die geforderten und erforderlichen Funktionen implementiert? Sind diese ausführbar? Funktionalität Angemessenheit Sicherheit Richtigkeit Interoperabilität 38

4.3.1. Bestandteile des Qualitätsmodells Zuverlässigkeit: Ist eine angemessene Freiheit von Fehlern garantiert? Kann die Software ein bestimmtes Leistungsniveau halten? Zuverlässigkeit Reife Robustheit Fehlerfreiheit Wiederherstellbarkeit 39

4.3.1. Bestandteile des Qualitätsmodells Benutzbarkeit: Welcher Aufwand ist nötig, dass der Benutzer das Programm leicht bedienen kann und die Bedienung schnell erlernen kann? Benutzbarkeit Verständlichkeit Bedienbarkeit Erlernbarkeit 40

4.3.1. Bestandteile des Qualitätsmodells Effizienz: Steht das zeitliche Verhalten im Verhältnis zu den verbrauchten Ressourcen und eingesetzten Betriebsmitteln? Effizienz Zeitverhalten Verbrauchsverhalten 41

4.3.1. Bestandteile des Qualitätsmodells Änderbarkeit: Wie leicht lässt sich das System verbessern oder an eine neue Umgebung anpassen? Änderbarkeit Analysierbarkeit Testbarkeit Modifizierbarkeit Stabilität 42

4.3.1. Bestandteile des Qualitätsmodells Übertragbarkeit: Ist es realisierbar, die Software auf anderen Hard- oder Softwaresystemen einzusetzen? Übertragbarkeit Anpassbarkeit Austauschbarkeit Installierbarkeit Konformität 43

4.3.2. Gesamtüberblick über ISO 9126 Angemessenheit Richtigkeit Interoperabilität Sicherheit Verständlichkeit Erlernbarkeit Bedienbarkeit Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Reife Fehlerfreiheit Wiederherstellbarkeit Robustheit Zeitverhalten Verbrauchsverhalten Analysierbarkeit Modifizierbarkeit Stabilität Testbarkeit Änderbarkeit Übertragbarkeit Anpassbarkeit Installierbarkeit Konformität Austauschbarkeit 44

4.4. Probleme von Softwarequalitätsmodellen Standardisierte Qualitätsmodelle Keine Rücksicht auf individuelle Qualitätsanforderungen von Produkten oder Projekten & fehlender Bezug zu Aktivitäten im Entwicklungsprozess, somit auch zu Kosten und Nutzen Zusammenhang zwischen Merkmalen und Teilmerkmalen meist nicht eindeutig Entscheidung, welche Eigenschaften zu einer guten Definition von Softwarequalität gehören Unpräzise Messungen & Ermittlung von Kenngrößen nicht aussagekräftig genug Schwierigkeit, die Kriterien meist direkt messen oder bewerten zu können 45

4.5. Mögliche Lösungen für die Problematik der Qualitätsmodelle Aktivitätenbasierte Qualitätsmodelle http://mediatum2.ub.tum.de /doc/737380/737380.pdf Modifizieren Wartung Testen Verstehen (Analysieren) Strukturiertheit X X X Kommunikativität X Selbsterklärbark. X X Kürze/Prägnanz X 46

4.5. Mögliche Lösungen für die Problematik der Qualitätsmodelle Individuelle Festlegung der Qualitätsziele anhand der Anforderungen eines Projektes, d.h. Qualitätsmodelle können angepasst und erweitert werden Blick auf den Prozess während der Herstellung eines Produktes, d.h. Prozesskontrolle Qualitätsmanagement 47

5. Qualitätsmanagement Qualitätsmanagement = alle organisatorischen und technischen Maßnahmen, die der Erschaffung und der Erhaltung von Softwarequalität dienen Qualitätsplanung Qualitätssteuerung Qualitätskontrolle bzw. -prüfung 48

Literatur [KP96] Kitchenham, B., Pfleeger, S.L., Software Quality: The Elusive Target, IEEE Software, v.13 n.1, p.12-21, January 1996 http://de.wikipedia.org/wiki/softwarequalit%c3%a4t http://de.wikipedia.org/wiki/iso/iec_9126 http://www.ifi.uzh.ch/rerg/fileadmin/downloads/teaching/courses/swq_ss07/kapitel_06_q_d_e.pdf http://user.cs.tu-berlin.de/~sepradm/ws9900/projekt/referate/sqs_folien.pdf http://wwwmatthes.in.tum.de/file/teaching/eist/public/teil2_1.pdf http://wirtschaftslexikon.gabler.de/definition/qualitaetssicherung.html http://pi.informatik.uni-siegen.de/lehre/2007s/lm/lm_sqmo_20070505_a5.pdf http://books.google.de/books? id=7zbsz54jg1wc&pg=pa10&lpg=pa10&dq=kitchenham+pfleeger+mccall&source=bl&ots=fifrjv61nf &sig=yphxruxqafoncumdzeht0zg3d_8&hl=de&ei=cpfrs9zpfd- JOOzO4asO&sa=X&oi=book_result&ct=result&resnum=3&ved=0CBEQ6AEwAg#v=onepage&q=kitch enham%20pfleeger%20mccall&f=false [MRW77] McCall, Jim, Richards, Paul, Walters, Gene, Factors in Software Quality, November 1977 49

Schluss Vielen Dank für die Aufmerksamkeit! 50