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. [...]
Inhaltsverzeichnis
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ätsgestaltung
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ührung
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
Zielsetzung & Themen
Die Diplomarbeit untersucht die Bedeutung von Software-Qualitätsmanagement im modernen Entwicklungsprozess, um sicherzustellen, dass Softwareprodukte den Anforderungen von Kunden und Anwendern entsprechen. Die zentrale Forschungsfrage beschäftigt sich damit, wie durch eine Kombination aus konstruktiven und analytischen Qualitätssicherungsmaßnahmen sowie modernen agilen Ansätzen wie Extreme Programming die Produktqualität nachhaltig gesteigert und Fehler minimiert werden können.
- Grundlagen des Qualitätsbegriffs und Aufbau von Qualitätsmanagementsystemen.
- Konstruktive Maßnahmen zur Fehlervermeidung (Prototyping, Dokumentation, Konfigurationsmanagement).
- Analytische Verfahren zur Fehlererkennung (statische Prüfungen, dynamische Tests).
- Anwendung des agilen Vorgehensmodells Extreme Programming (XP).
Auszug aus dem Buch
5.2.1 Exploratives Prototyping
Der Fokus beim explorativen Prototyping liegt in einer nahezu vollständigen Systemspezifikation, um den Entwicklern eine Vorstellung des Anwendungsbereichs zu ermöglichen, mit den Benutzern verschiedene Lösungsmöglichkeiten abzustimmen und die Durchführbarkeit des geplanten Systems in einem gegebenen organisatorischen Umfeld abzuklären.
Ein Prototyp dient dabei konkrete Anwendungsbeispiele durchzuspielen und die gewünschte Funktionalität zu erproben. Es steht nicht die Qualität der Konstruktion des Prototyps im Vordergrund, sondern die Funktionalität, die leichte Änderbarkeit und die Kürze der Entwicklungszeit.
Aus der Sicht des Software-Qualitätsmanagements hat das explorative Prototyping unter anderem folgende Vorteile 24:
• Anforderungs- und Spezifikationsprobleme/-fehler werden sehr früh wahrgenommen und beseitigt. Die Funktionalität wird umfassender spezifiziert und durch den Benutzer validiert.
• Neben der Benutzeroberfläche wird auch die Ablaufdynamik modelliert und geprüft.
Als Nachteil sieht man, den Prototyp permanent zu ändern und somit die Projektplanung zu destabilisieren. Darüber hinaus könnte der Anwender bei fehlender Aufklärung den Prototyp als das fertige System sehen.
Der für das explorative Prototyping benötigte Software-Prototyp wird von den Entwicklern und Anwendern gemeinsam realisiert.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Disziplin des Software-Qualitätsmanagements ein und erläutert die Struktur der Arbeit, die sich von den theoretischen Grundlagen bis hin zu den konstruktiven und analytischen Qualitätssicherungsmaßnahmen erstreckt.
2 Problemstellung und Zielsetzung: Hier wird die zunehmende Bedeutung von Softwarequalität in einer innovationsgetriebenen Industrie dargelegt und die Notwendigkeit für Unternehmen betont, Qualitätsmanagementsysteme zur Sicherung der Konkurrenzfähigkeit einzuführen.
3 Einführung in den Qualitätsbegriff und das Software-Qualitätsmanagement: Dieses Kapitel definiert Qualität gemäß ISO 8402, beleuchtet den Fehlerbegriff sowie die zentrale Rolle des Testens als destruktiven, aber notwendigen Prozess zur Qualitätssicherung.
4 Qualitätsmanagementsysteme für die Software-Entwicklung: Es wird die Notwendigkeit kompakter QM-Systeme erörtert und die Aufgaben von Qualitätsplanung, -kontrolle und -steuerung zur Unterstützung eines stabilen Entwicklungsprozesses hervorgehoben.
5 Konstruktive Qualitätssicherungsmaßnahmen: Dieses Kapitel behandelt technische und organisatorische Ansätze zur Fehlervermeidung, darunter Prototyping, Anforderungsdokumentation und Konfigurationsmanagement.
6 Analytische Qualitätssicherungsmaßnahmen: Hier stehen Prüfverfahren im Fokus, differenziert nach statischen Methoden (Audits, Reviews) und dynamischen Testverfahren (Black-Box, White-Box, Gray-Box-Test).
7 Extreme Programming (XP): Das Kapitel stellt XP als flexibles, agiles Vorgehensmodell vor, das auf den vier Werten Kommunikation, Einfachheit, Feedback und Mut basiert und durch spezifische Praktiken die Softwareentwicklung effizient gestaltet.
8 Zusammenfassung: Die Zusammenfassung rekapituliert die Notwendigkeit von Qualitätsmanagementsystemen und betont, dass Qualität ein durchgängiger Prozess ist, der über alle Phasen der Softwareentwicklung hinweg begleitet werden muss.
Schlüsselwörter
Software-Qualität, Qualitätsmanagement, Qualitätssicherung, Software-Entwicklung, Prototyping, Dokumentation, Konfigurationsmanagement, Black-Box-Test, White-Box-Test, Testplanung, Testdurchführung, Extreme Programming, Agile Softwareentwicklung, Prozessqualität, Produktqualität.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit Methoden und Strategien des Software-Qualitätsmanagements, um eine hohe Produkt- und Prozessqualität in der Softwareentwicklung zu gewährleisten.
Was sind die zentralen Themenfelder der Arbeit?
Die Schwerpunkte liegen auf konstruktiven Qualitätssicherungsmaßnahmen zur Fehlervermeidung, analytischen Prüfmethoden zur Fehlererkennung und der Anwendung agiler Praktiken im Rahmen von Extreme Programming.
Welches ist das primäre Ziel der Forschungsarbeit?
Das Ziel ist es, dem Leser ein umfassendes Verständnis für die Disziplin des Qualitätsmanagements zu vermitteln und Wege aufzuzeigen, wie durch systematische Maßnahmen Mängel reduziert und die Konkurrenzfähigkeit von Softwareunternehmen gestärkt werden kann.
Welche wissenschaftlichen Methoden werden verwendet?
Die Arbeit stützt sich auf eine fundierte Literaturanalyse, den Abgleich mit gängigen Normen wie ISO 8402 und IEEE-Standards sowie die Darstellung von praxisnahen Vorgehensmodellen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die Einführung des Qualitätsmanagements, die Beschreibung konstruktiver Maßnahmen (wie Prototyping und Dokumentation), die Erläuterung analytischer Testverfahren (von Modultests bis hin zu Abnahmetests) sowie die detaillierte Vorstellung des agilen Extreme Programming (XP).
Welche Schlüsselwörter charakterisieren die Arbeit?
Zu den prägenden Begriffen zählen Software-Qualität, Qualitätsmanagementsysteme, Fehlerprävention, Testmethodik, Prototyping und Extreme Programming.
Warum ist die Dokumentation für die Softwarequalität so wichtig?
Eine gute Dokumentation ist essenziell, um Software wartbar zu machen, Konzepte nachvollziehbar zu halten und die Einhaltung von Anforderungen überhaupt messbar und überprüfbar zu machen.
Was macht das "Extreme Programming" im Kontext der Qualitätssicherung besonders?
XP zeichnet sich durch kurze Releasezyklen, kontinuierliche Kommunikation und permanente Tests aus, wodurch Feedbackschleifen zwischen Kunden und Entwicklern optimiert und Risiken frühzeitig minimiert werden.
Wie unterscheidet sich ein Audit von einer Inspektion?
Ein Audit ist eine formale, unabhängige Prüfung auf Konformität mit Standards, während eine Inspektion eine sehr detaillierte "Zeile-für-Zeile"-Prüfung eines konkreten Arbeitsprodukts durch ein Expertenteam darstellt.
- 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