Software dringt heutzutage in alle Bereiche der Technik und des menschlichen Lebens vor. Es gibt kaum ein Terrain, in dem man nicht die eine oder andere Applikation findet. Neben der anwachsenden Tragweite von Software-Systemen gibt es eine Anzahl von Berichten über Mängel beim Einsatz und der Entwicklung dieser Systeme.
Aufgrund dieser unterschiedlichen Einflussfaktoren hat sich Software-Qualität gegenwärtig intensiv in den Fokus der Unternehmensphilosophie bewegt. Der Softwarehersteller möchte ein Produkt auf den Markt einführen, dass eine einwandfreie Qualität hat um so gut wie möglich Kundenbindung zu betreiben. Der Anwender auf der anderen Seite möchte ein Produkt haben, das seine Arbeit vereinfacht und seine Anforderungen abdeckt.
In diesem Zusammenhang sei auch die menschliche Seite bei der Qualitätserzeugung zu betonen: Nur durch die Erkenntnis, Qualitätsarbeit zu leisten, kann in erster Linie Qualität zustande kommen. Methoden, Prinzipien, Werkzeuge oder Dokumente, können ohne diese Überzeugung nicht optimal eingesetzt werden.
Auch ist die immer schneller werdende Innovationsgeschwindigkeit in der Informationstechnik ein weiteres Argument für die anwachsende Bedeutung des Qualitätsmanagements, die verursacht, dass für Unternehmen am Markt, die konkurrenzfähig bleiben wollen, ein Festhalten an starren Prozessen immer schwieriger wird.
Um diese Konkurrenzfähigkeit aufrechtzuerhalten wird von dem meisten Softwarehersteller ein Qualitätsmanagementsystem betrieben. Ein Qualitätsmanagementsystem versteht sich als die „erforderliche Organisationsstruktur, Verfahren, Prozesse und Mittel“ für die Verwirklichung des Qualitätsmanagements.
Nach einer kurzen Begriffserläuterung über die für diese Diplomarbeit relevanten Begriffe folgt eine Einführung in die konstruktiven Qualitätsmaßnahmen, ihre Methoden und Konzepte.
Im Anschluss daran, wird auf die analytischen Qualitätsmaßnahmen, die „nah“ am Code sind eingegangen. Es wird unter anderem der Black Box Test, der White Box Test und den zwischen den beiden angesiedelte Gray Box Test vorgestellt. [...]
INHALTVERZEICHNIS
1 Einleitung
2 Problemstellung und Zielsetzung
3 Einführung in den Qualitätsbegriff und das Software-Qualitätsmanagement
3.1 Was ist Software-Qualität?
3.2 Der Begriff Fehler
3.3 Der Begriff Test
4 Qualitätsmanagementsysteme für die Software-Entwicklung
4.1 Aktivitäten und Ziele des Qualitätsmanagementsystems
4.2 Aufbau eines Qualitätsmanagementsystems
5 Konstruktive Qualitätssicherungsmaßnahmen
5.1 Prinzipien, Methoden, Formalismen und Werkzeuge für konstruktive Qualitätssicherungsmaßnahmen
5.2 Prototyping
5.2.1 Exploratives Prototyping
5.2.2 Experimentelles Prototyping
5.2.3 Evolutionäres Prototyping
5.3 Typen von Vorgehensmodellen
5.4 Die Rolle der Dokumentation in Software-Projekten
5.4.1 Probleme des Dokumentationsprozesses
5.4.2 Ansprüche an die Dokumentation in Bezug auf die Qualitäts- gestaltung
5.4.3 Maßnahmen zur projektbezogenen Dokumentation
5.5 Werkzeuge für die Software-Prüfung
5.5.1 CASE als Werkzeug
5.6 Software- Konfigurationsmanagement
5.7 PersonelleMaßnahmenfürdieQualitätsbeeinflussung
6 Analytische Qualitätssicherungsmaßnahmen..
6.1 Statische Prüfungen
6.1.1 Audits
6.1.2 Walktroughs und Inspektionen
6.1.3 Reviews im Entwicklungsprozess
6.2 Dynamische Prüfungen
6.2.1 Black-Box-Test
6.2.2 White-Box-Test
6.2.3 Gray-Box-Test
6.3 Aktivitäten beim Testen von Software
6.3.1 Testplanung
6.3.2 Testdurchführun g
6.3.3 Testauswertung
6.4 Testaufgaben
6.4.1 Modultesten
6.4.2 Integrationstesten
6.4.3 Systemtesten
6.4..4 Abnahmetesten
7 Extreme Programming (XP)
7.1 Werte
7.2 Prinzipien
7.3 Praktiken
8 Zusammenfassung
Literaturverzeichnis
Versicherung
Abbildungsverzeichnis
Abbildung 1: Funktionen des Qualitätsmanagements
Abbildung 2: Qualitätsmerkmale von Software
Abbildung 3: Fehlerarten
Abbildung 4: Ziele und Instrumente zur Qualitätssicherung
Abbildung 5: Konstruktive Qualitätssicherungsmaßnahmen
Abbildung 6: Exploratives Prototyping
Abbildung 7: Spezialisierung von Vorgehensmodellen
Abbildung 8: Wasserfallmodell
Abbildung 9: V-Modell
Abbildung 10: Spiralmodell
Abbildung 11: CASE-Werkzeugklassifikation
Abbildung 12: Werkzeuge des Konfigurationsmanagements
Abbildung 13: Analytische Qualitätssicherungsmaßnahmen
Abbildung 14: Testende Verfahren
Abbildung 15: Black-Box-Test
Abbildung 16: White-Box-Test
Abbildung 17: Aspekte des Testprozesses
Abbildung 18: Kategorien von Testaufgaben mit Merkmalen
Abbildung 19: Die Werte des XP
Abbildung 20: Prinzipien im Extreme Programming
Abbildung 21: Praktiken des XP
Tabellenverzeichnis
Tabelle 1: Folgen mangelnder Qualität
Tabelle 2: Muster eines Softwaretestplans
Abkürzungverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
1 Einleitung
Die Einführung in das Software-Qualitätsmanagement will primär die Software- Entwicklung mit der Begrifflichkeit Qualität derart verzahnen, dass der Leser eine
Vorstellung von der mittlerweile recht selbständigen unfangreichen Disziplin des
Qualitätsmanagements erhält.
Da Ausdrücke wie Qualität, Testen und Fehler gegenwärtig in ihrer Signifikanz sehr differenziert benutzt werden, gilt es in erster Linie diese Schlagworte zu
erklären, um diese ausschlaggebenden Punkte im Qualitätsmanagement näher zu bringen.
Weiterhin folgt ein Überblick über die Aktivitäten, die Ziele und den Aufbau
eines Qualitätsmanagementsystem.
Im fünften Kapitel geht es um die konstruktiven Qualitätsmaßnahmen,
insbesondere deren Prinzipien, Methoden, Formalismen und Werkzeuge die das Ziel haben, ein Produkt zu entwickeln oder zu pflegen, dass a priori bestimmte Eigenschaften besitzt und bei dessen Entwicklungs- oder Pflegeprozess so viele Mängel und Fehler wie möglich vermieden werden .
Kapitel 6 beschreibt die statischen und dynamischen Prüfungen sowie die
Aktivitäten und Aufgaben beim Testen. Hier liegt der Fokus bei den statischen Prüfungen im Bereich der Audits, Reviews und Inspektionen.
Bei den dynamischen Prüfungen wird differenziert auf die Testarten
eingegangen.
2 Problemstellung und Zielsetzung
Software dringt heutzutage in alle Bereiche der Technik und des menschlichen
Lebens vor. Es gibt kaum ein Terrain, in dem man nicht die eine oder andere
Applikation findet. Neben der anwachsenden Tragweite von Software-Systemen gibt es eine Anzahl von Berichten über Mängel beim Einsatz und der Entwicklung dieser Systeme.
Aufgrund dieser unterschiedlichen Einflussfaktoren hat sich Software-Qualität gegenwärtig intensiv in den Fokus der Unternehmesphilosophie bewegt. Der Softwarehersteller möchte ein Produkt auf den Markt einführen, dass eine
einwandfreie Qualität hat um so gut wie möglich Kundenbindung zu betreiben. Der Anwender auf der anderen Seite möchte ein Produkt haben, das seine Arbeit vereinfacht und seine Anforderungen abdeckt.
In diesem Zusammenhang sei auch die menschliche Seite bei der
Qualitätserzeugung zu betonen: Nur durch die Erkenntnis, Qualitätsarbeit zu
leisten, kann in erster Linie Qualität zustande kommen. Methoden, Prinzipien, Werkzeuge oder Dokumente, können ohne diese Überzeugung nicht optimal
eingesetzt werden.
Auch ist die immer schneller werdende Innovationsgeschwindigkeit in der
Informationstechnik ein weiteres Argument für die anwachsende Bedeutung des Qualitätsmanagements, die verursacht, dass für Unternehmen am Markt, die
konkurrenzfähig bleiben wollen, ein Festhalten an starren Prozessen immer schwieriger wird.
Um diese Konkurrenzfähigkeit aufrechtzuerhalten wird von dem meisten
Softwarehersteller ein Qualitätsmanagementsystem betrieben. Ein
Qualitätsmanagementsystem versteht sich als die „erforderliche Organisationsstruktur, Verfahren, Prozesse und Mittel“ für die Verwirklichung des Qualitätsmanagements.
Nach einer kurzen Begriffserläuterung über die für diese Diplomarbeit relevanten Begriffe folgt eine Einführung in die konstruktiven Qualitätsmaßnahmen, ihre Methoden und Konzepte.
Im Anschluss daran, wird auf die analytischen Qualitätsmaßnahmen, die „nah“ am Code sind eingegangen. Es wird unter anderem der Black Box Test, der White Box Test und den zwischen den beiden angesiedelte Gray Box Test vorgestellt.
3 Einführung in den Qualitätsbegriff und das Qualitätsmanagement
Obwohl der Begriff Qualität seit dem Altertum bekannt ist, wird der
Qualitätsbegriff eher als ein Schlagwort mit einer nicht klar abgegrenzten
Definition benutzt.
Das lateinische Wort qualitas [1] welches sich aus qualis (wie beschaffen) ableiten
würde, ließe sich jedoch nur als Beschaffenheit eines Gegenstandes übersetzen.
Aus unterschiedlichen Normen und Standards ist die folgende Definition des
Qualitätsbegriffs zu finden:
- ISO 8402: „ Qualität ist die Gesamtheit von Merkmalen (und Merkmalswerten) einer Einheit bezüglich ihrer Eignung, festgelegte und
vorausgesetzte Erfordernisse zu erfüllen.“ [2]
Es ist hervorzuheben, dass der obengenannte Qualitätsbegriff sowie für die
Produktqualität, d.h. die Einheit ist ein Endprodukt, als auch für die
Prozessqualität, d.h. die Einheit ist ein Ablauf für die Produkterstellung,
einsetzbar ist. Auch lässt er sich in Zusammenhang mit Qualität, zum Beispiel die Sichtweise der Beteiligten (Kundensicht, Lieferantensicht, etc.) aber auch
gesetzliche oder Kundenanforderungen identifizieren.
Die gewachsene Signifikanz der Produktqualität ist aus kundenorientierter Sicht relativ selbstverständlich, so fordert jeder Käufer ein einwandfreies Produkt im Sinne seiner Anforderungen.
Tabelle 1 visualisiert die Ergebnisse einer Marktstudie [3] , die belegt, wie sehr
Qualitätsmängel vom Kunden bestraft werden.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 1: Folgen mangelnder Qualität
Aus diesen und anderen Studien ergibt sich die große Relevanz der Qualität.
Somit ist das Qualitätsmanagement eine Kernaufgabe im Unternehmen. Software-Qualitätsmanagement muss sich im Rahmen gesicherter Erkenntnis bewegen und allgemein anerkannte Normen und Standards zugrunde legen.
Qualitätsmanagement
In Anlehnung an die Norm 8402 versteht man unter Qualitätsmanagement
folgendes:
„Alle Tätigkeiten der Gesamtführungsaufgabe, welche die Qualitätspolitik, Ziele und Verantwortungen festzulegen, sowie diese durch Mittel der Qualitätsplanung,
Qualitätslenkung und Qualitätsverbesserung im Rahmen des
Qualitätsmanagementsystems verwirklichen“.
Qualitätsmanagement gehört in den Verantwortungsbereich aller Führungskräfte. Bei der Realisierung des Qualitätsmanagements, die unter dem Gesichtspunkt der Wirtschaftlichkeit erfolgt sind alle Mitarbeiter der Organisation involviert.
Seghezzi rundet die obige Definition praxisnahe ab indem er dem
Qualitätsmanagement vier Fachfunktionen und eine Führungsfunktion zuordnet. [5]
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Funktionen des Qualitätsmanagements
Die Qualitätsplanung hat als eine der vier Fachfunktionen die Aufgabe,
Anforderungen zu ermitteln und diese in Form von Produkt –
und Prozessmerkmalen umzusetzen. Im Bereich der Qualitätslenkung
(Prozessmanagement) sind sämtliche Unternehmensprozesse so durchzuführen und zu beherrschen, dass die Spezifikationen eingehalten werden und fehlerfreie Produkte entstehen.
Die Qualitätsförderung hat die Aufgabe, die Qualität der Produkte, der Prozesse und somit des Unternehmens zu steigern, um folglich die Konkurrenzfähigkeit am Markt zu erhöhen. Im Rahmen der Qualitätssicherung werden Qualitätsrisiken ermittelt und Präventionen getroffen, um Sie zu minimieren oder zu eliminieren.
Abbildung in dieser Leseprobe nicht enthalten
Da diese vier Fachfunktionen sich nicht einzelnen Organisationseinheiten
zuordnen lassen, sondern als Querschnittsaufgaben auf eine Vielzahl von
Unternehmenseinheiten verteilt sind, tritt eine erhebliche
Schnittstellenproblematik auf. Aus diesem Grund wird von Seghezzi, die Führung in Sachen Qualität , als fünfte Funktion definiert, die weitaus an Bedeutung
gewonnen hat.
3.1 Was ist Software-Qualität?
„Ich kann freilich nicht sagen, ob es besser wird, wenn es anders wird;
aber soviel kann ich sagen, es muss anders werden, wenn es gut werden soll. ’’ [7]
Georg Christoph Lichtenberg
Die Qualität eines Software-Produkts wird bestimmt durch den Prozess, in dem es entwickelt wird, und die Merkmale, die es besitzt. Der Prozess kann zeitlich durch Phasen oder Iterationen strukturiert werden, man spricht dann von einem Phasen- oder Vorgehensmodell (siehe Kapitel 5.3) . Die Qualität muss in jeder dieser
Phasen entstehen. Zu jeder Phase müssen Anforderungen bezogen auf die
Aktivitäten und Phasenergebnisse gestellt werden und diese am Ende jeder Phase überprüfen. Für das Management ist die erfolgreiche Realisierung von Meilensteinen eine wichtige Prozessanforderung. Ein Meilenstein ist z.B. die
Fertigstellung eines Pflichtenheftes am Ende einer Phase.
Die Endqualität eines Software-Produkts setzt sich stufenweise aus der
Realisierung der Prozessanforderungen und der Qualität der Phasenergebnisse zusammen. Nachfolgend werden die Merkmale genannt, die die Qualität einer
Software bestimmen:[8]
Funktionalität: bezieht sich auf den jeweiligen Anwendungsbereich der
Software. Es bezieht sich auf das Vorhandensein von Funktionen mit
determinierten Eigenschaften, welche die definierten Anforderungen erfüllen, z.B. Richtigkeit, Angemessenheit.
Zuverlässigkeit: Ausfallsicherheit, Fehlerfreiheit und Wiederherstellbarkeit sind die entscheidenden Merkmale der Zuverlässigkeit eines Programms.
Ein Software-System ist ausfallsicher, wenn nach technischen Störungen wie z.B.
Stromausfall oder Rechnerabsturz keine Daten verloren gehen oder falsche
Ergebnisse erzeugt werden. Unter Fehlerfreiheit versteht man eine Software, die bei allen zulässigen Eingabemöglichkeiten korrekte Ergebnisse liefert. Unter Wiederherstellbarkeit wird der Aufwand verstanden, der nach Auftreten eines Bedien- oder Programmfehlers erforderlich ist, um die Programmfunktionen
wieder zu nutzen.
Benutzerfreundlichkeit: Aufwand, der zur Einarbeitung und zur Benutzung des Software-Systems erforderlich ist, und individuelle Beurteilung durch eine
festgelegte oder vorausgesetzte Gruppe. Dazu gehören Verständlichkeit,
Erlernbarkeit, Bedienbarkeit.
Effizienz: Kennzeichen effizienter Software ist der Grad, indem die
Beanspruchung der vorhandenen Rechnerressourcen minimalisiert sind. Sie unterteilt sich in Verbrauchsverhalten und Zeitverhalten. Verbrauchsverhalten bedeutet eine Minimalisierung der Speicherbelegung. Zeitverhalten bedeutet eine
Minimalisierung des Rechenzeitverbrauchs.
Änderbarkeit: ist der Aufwand, der zur Durchführung vorgegebener Änderungen notwendig ist. Änderungen können Korrekturen, Verbesserungen oder
Anpassungen an Änderungen der Umgebung, der Anforderungen und der
funktionalen Spezifikation einschließen.
Übertragbarkeit: ist die Eignung der Software, von einer Umgebung in eine
andere übertragen zu werden. Die Umgebung kann die organisatorische,
Hardware- oder Softwareumgebung einbeziehen.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Qualitätsmerkmale von Software
3.2 Der Begriff Fehler
Der Begriff Fehler wird im deutschen Sprachgebrauch für sehr vieles verwendet. Im Englischen wird genauer zwischen error, fault und failure unterschieden. Der Error (häufig als Fehler übersetzt) ist als Abweichung zwischen einen Ist- von
einem Sollwert oder als Irrtum zu interpretieren Der Fault (Störung) stellt das Versagen einer Einheit durch eine unzulässige Eigenschaft dar. Der Failure
beschreibt die (menschliche) Handlung.
Hier wird auf die Norm IEEE Std 610 der „Glossary of Software Engineering Terminology“ referenziert [10]:
„Ein Fehler(error) ist die Abweichung zwischen dem berechneten, beobachteten oder gemessenen Wert oder einem Zustand der Betrachtungseinheit und dem
entsprechenden spezifizierten oder theoretisch richtigen Wert.“ Ein Fehler liegt beispielsweise vor, wenn ein Programm einen Ausgabewert 100 berechnet und der tatsächliche Wert 150 beträgt.
Myers bietet eine andere Definition[11]: “Ein Software-Fehler ist gegeben, wenn ein Programm nicht das tut, was der Benutzer vernünftigerweise erwartet.“ Aus
diesen hervorgebrachten Definitionen ist zu erkennen, dass es wichtig ist,
die Benutzeranforderungen zu bestimmen. Grundlage zur Erzeugung von
Software hoher Qualität ist daher eine ausgeprägte Kommunikation zwischen Software-Hersteller und dem Kunden.
Es gibt unterschiedliche Kennzahlen Fehler zu klassifizieren [12]:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Fehlerarten
Fehler pro Bereich:
Als womöglich wichtigste Kennzahl sollten die Fehler pro Bereich determiniert werden. Die Zahl kann direkt zu den Annahmen bei der Risikoabschätzung in Bezug gesetzt werden
Fehler nach Fehlerart:
Hier werden die Fehler in unterschiedliche Fehlerarten eingeordnet. Dadurch wird versucht, den Grund des Fehlers anzugeben. Gründe für Fehler können in der Analyse, dem Design, der Datenbasis, der Programmierung, dem Betriebssystem usw. liegen.
Fehler pro Zeiteinheit:
Die Zeit kann durch zwei Angaben in Ihre Testauswertungen einfließen. Erstens durch das Datum, an dem der Fehler gefunden wurde, und zweites durch das
Datum, an dem der Fehler behoben wurde.
Wenn man das Datum festhält, an dem Fehler gefunden werden, so kann man jederzeit evaluieren, wie viele Fehler momentan pro Tag oder Woche gefunden werden. Das Datum der Fehlerbehebung wird gebraucht, um die Zeitspanne
zwischen Entdeckung und Behebung der Fehler nachvollziehen zu können. Die Zeitspanne veranschaulicht, wie schnell ein Entwicklerteam auf die Bug [14]
Reports reagieren kann.
3.3 Der Begriff Test
Um die Qualität eines Software-Produktes zu verbessern, muss in erster Stelle die Qualität dieses Produktes bestimmt werden. Dies führt zu folgender Definition des Testens [15]: „Testen ist ein Prozess, bei dem ein Programm ausgeführt wird, um Fehler zu finden“.
Testen an sich ist ein destruktiver Vorgang, d.h. Testen dient nicht dazu,
wie viele Entwickler glauben, die Fehlerfreiheit der Software zu zeigen, sondern Testen ist der Prozess, ein Programm mit der Absicht auszuführen, Fehler zu
finden. Dieser Grundgedanke ist natürlich nicht mit der Ansicht des Software-Entwicklers kompatibel, der selbstverständlich die Intention hat, eine Aufgabe möglich fehlerfrei zu realisieren. Durch diese Gespaltenheit, einerseits die
destruktive Einstellung beim Testen, andererseits die konstruktive positive
Einstellung bei der Softwareerstellung, wird das Testen häufig unsystematisch und mit zu wenig Sorgfalt ausgeübt. Ein weiterer Aspekt ist oft der Zeitdruck, Termine einhalten zu müssen.
Dennoch ist das Testen eine absolute Notwendigkeit um Software von hoher
Qualität produzieren können.
Hier werden einige von vielen Grundsätzen vorgestellt, die das Software-Testen sehr effektiv machen können [16]:
- Tests müssen quantifizierbare und sinnvolle Ziele erfüllen. Das Testen ohne Zielsetzung ist eine Vergeudung von Zeit und Geld
- Testziele sind nur dann akzeptabel, wenn sie auch erreichbar und messbar sind. Für die Umsetzung dieser Forderung sind die Testziele in
quantifizierbarer Form vorzugeben, beispielsweise 95 % Co-Testabdeckung, d.h. 95 % aller Anweisungen werden beim Testablauf erreicht, oder 100 % funktionale Abdeckung eines Programms, d.h. alle spezifizierten Funktionen des Programms werden durch Testfälle mindestens einmal ausgeführt.
- Wegen der Unmöglichkeit, ein Testobjekt vollständig zu testen, muss man ökonomisch testen, d.h. gerade so viel wie nötig.
- Es muss immer gegen etwas getestet werden, d.h. man muss für jeden Testfall die erwarteten Testergebnisse a priori spezifizieren.
- Testfälle und ihre Ergebnisse sind zu sammeln und zu archivieren. Sie sind eine wertvolle Investition, die später in der Wartungs- und Pflegephase sehr nützlich für das Retesting von Programmen oder Programmteilen sind, die geändert bzw. erweitert werden müssen.
- Ein Testfall ist dann als erfolgreich anzusehen, wenn er einen bisher
unbekannten Fehler entdeckt. Dazu ist es notwendig, eine genaue
Fehlerstatistik über jedes Programm zu führen.
Resümierend lässt sich sagen, das Testen eine intellektuell und kreativ
anspruchsvolle Aufgabe ist. Die Praxis des Testens zeigt, dass ein System
nur dann erfolgreich getestet werden kann, wenn es durch und durch verstanden wird.
4 Qualitätsmanagementsysteme für die Software-Entwicklung
Vereinzelte „einsame“ QS-Maßnahmen, z.B. Prüfung des erzeugten Software-Produktes können die Aufgabe der Softwareherstellung, nicht zufriedenstellend lösen. Es bedarf eines kompakten Qualitätsmanagementsystems, welches
Software-Qualität in das Entwicklungsteam und in den
Software-Entwicklungsprozess integriert.
Hier kommt der Prozessqualität ein grundlegender Part im Hinblick auf
Produktqualität zu.
4.1 Aktivitäten und Ziele des Qualitätsmanagementsystems
Um die Ziele und Aufgaben des Qualitätsmanagements erörtern zu können, sei einleitend der Begriff des Qualitätsmanagementsystems definiert.
Ein Qualitätsmanagementsystem (QM-System) versteht sich als die
„erforderliche Organisationsstruktur, Verfahren, Prozesse und Mittel“ für die Verwirklichung des Qualitätsmanagements.[17]
Ein Qualitätsmanagementsystem besteht aus QM-Elementen,
die sich in QM-Führungs-, QM-Aufbau- und QM-Ablaufelemente unterteilen
lassen. Im Hinblick auf Qualitätsmanagement ist es wichtig hervorzuheben,
dass das Management zwar als Initiator des Qualitätsmanagement gilt und die Qualitätspolitik bestimmt, jeder Mitarbeiter jedoch „Qualitätsmanager“ für den jeweiligen Aufgabenbereich ist.
Das Qualitätsmanagement, speziell im Software-Entwicklungsprozess,
umfasst folgende Aufgaben [18]:
- Qualitätsplanung: Die Kundenanforderungen müssen nicht nur ermittelt werden, sondern auch beachtet werden, so dass von einer „Abbildung der Kundenbedürfnisse auf die technischen Merkmale der Produktes“ zu sprechen ist. Die meisten Fehler eines Software-Produktes werden vor der
Implementierung der Software eingebaut, so dass sich hierdurch eine große
Herausforderung für die Qualitätsplanung ergibt.
- Qualitätskontrolle: Hier wird nicht nur das Produkt überprüft, sondern auch der Prozess indem es entsteht. Die Qualitätskontrolle ist die Grundlage für die stetige Verbesserung. Auftretende Fehler sollen nicht nur am Produkt erkannt und beseitigt werden, sondern Entstehungsursachen erkannt und eliminiert werden.
- Qualitätssteuerung: DIN EN ISO 8402 definiert Qualitätssteuerung als die Arbeitstechniken und Tätigkeiten, die zur Erfüllung der Qualitätsforderungen angewendet werden. Qualitätssteuerung ist eine Regeltechnik, um bestimmte Größen, z.B. Prozess-Parameter, Spezifikationswerte, auf vorgegebenen
Sollwerten, auf einem bestimmten Qualitätsniveau zu halten. Diese Steuerung als Qualitätsverbesserung wird erforderlich, wenn Störgrößen auf das System
einwirken und eine Abweichung der Ist-Qualität von der Soll-Qualität
verursachen.
Der Fokus von QM-Systemen in der Software-Entwicklung zielt auf einen
stabilen, beherrschbaren und durch z.B. Dokumentation verständlichen
Entwicklungsprozess sowie zur Sicherung der Qualität eines Software-Produktes.
Dies impliziert einen Zusammenhang zwischen Prozess- und Produktqualität in der Form, als das eine hohe Prozessqualität auch eine positive Produktqualität zur Folge hat. Die Ziele und Instrumente des QM-System werden nachfolgend visuell dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4:Ziele und Instrumente zur Qualitätssicherung [19]
4.2 Aufbau eines Qualitätsmanagementsystems
Das Qualitätsmanagementsystem (QM-System) sollte kein starres Regelwerk sein, sondern den unternehmensspezifischen Anforderungen angepasst und im
individuellen Qualitätsmanagementhandbuch niedergelegt werden.
Voraussetzungen für die Schaffung eines QM-Systems sind
- genau festgelegte Qualitätsziele
- exakte Aufgaben- und Verantwortungsbereiche,
- eine definierte Organisation.
Darüber hinaus gibt ein Qualitätsmanagementsystem unter anderem
Empfehlungen über den Einsatz von Prüfmitteln zur Überwachung,
Qualitätsprüfung und Qualitätskosten, sowie den Einsatz statistischer Methoden.
Um den vielschichtigen Prozess der Einführung und der Aufrechterhaltung eines QS-Systems in einem Unternehmen verständlich machen zu können, lassen sich die QM-Elemente des Systems zusammenfassen und strukturieren.
Ein Modell bezogen auf die ISO 9000 differenziert QM-Elemente in Führungselemente, phasenspezifische und phasenübergreifende Qualitätsmanagement-Elemente [20]:
- Führungselemente: sind bereichs- und abteilungsübergreifend wirksam. Die Kernaufgabe des Managements ist die Schaffung der notwendigen
Rahmenbedingungen für ein QM (z.B. Determinierung der Qualitätspolitik,
Erstellen eines Qualitätswesens, Aufgabendefinition), dessen Wirksamkeit zu
validieren und wenn nötig, steuernd zu intervenieren.
Hinzufügend besteht bei den Führungselementen die Aufgabe der Schaffung
folgender personeller Voraussetzungen:
- Schulung der Mitarbeiter über Maßnahmen, Methoden und Strategien des QM
- Involvierung der Mitarbeiter in die Qualitätsverantwortung, z.B. Selbstprüfung.
- Motivationserhöhung durch regelmäßige Informationen über die Ziele und Ergebnisse im Bereich des Qualitätsmanagement.
[...]
[1] (1 Petrasch 2001) S.24
[2] ebenda S.30
[3] Vgl. ( 1 Petrasch 2001) S.26
[4] Tabelle 1: eigene Darstellung
[5] (2 Wallmüller 2001) S. 22
[6] ebenda S. 23
[7](1 Petrasch 2001) S.31
[8] Vgl. (3 Abts/Mülder 2004) S.86
[9] Abbildung 2 : eigene Darstellung
[10](2 Wallmüller 2001) S.222
[11] www.google.de [Myers, 1979]
[12] (4 Rätzmann 2004) S. 58
[13] Abbildung 3: eigene Darstellung
[14] „Wenn von einem Programm einen Fehler verursacht wird, tritt ein „Bug“ auf“
[15] www.google.de [Myers, 1979]
[16]( 2 Wallmüller 2001) S. 223
[17] ISO 8402, S.17
[18] (1Petrasch 2001)S.35
[19] Abbildung 4: (1 Petrasch 2001) S. 36
[20] Vgl. (1 Petrasch 2001) S.38
- Quote paper
- Diplom-Wirtschaftsinformatiker (FH) Jose Gomez (Author), 2007, Konstruktive und analytische Qualitätssicherungsmaßnahmen im Software-Qualitätsmanagement, Munich, GRIN Verlag, https://www.grin.com/document/67127
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.