Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
62 6 Softwarequalität Produkt nach den Anforderungen hergestellt werden (herstellungsbezogenen Qualität). Der Kunde schließlich wird bei der Entscheidung für ein Produkt auch die kostenbezogene Sicht einnehmen. Nur im Zusammenspiel der Sichten wird am Schluss ein hochwertiges und erfolgreiches Produkt entstehen. 6.1.2 Softwarequalität Definition Auch in der Welt der Software herrscht keine Einigkeit über den Begriff der Qualität. Jones (1996) demonstriert dies, indem er diverse Größen des Software Engineering mit ihrer Definition von Softwarequalität zitiert (vgl. Tabelle 6-1). Jede dieser Definitionen hat ihre Berechtigung, zusammengenommen sind sie aber widersprüchlich. Jones fordert für eine praxisrelevante Definition von Softwarequalität, dass Qualität messbar (nach der Fertigstellung der Software) und vorhersagbar (vor der Fertigstellung der Software) sein sollte. Autor Definition von Softwarequalität Barry Boehm Achieving high levels of user satisfaction, portability, maintainability, robustness, and fitness for use Phil Crosby Conformance to user requirements W. Edwards Deming Striving for excellence in reliability and functions by continuous improvement in the process of development, supported by statistical analysis of the causes of failure Watts Humphrey Achieving excellent levels of fitness for use, conformance to requirements, reliability, and maintainability Capers Jones The absence of defects that would make software either stop completely or produce unacceptable results James Martin Being on time, within budget, and meeting user needs Thomas McCabe High levels of user satisfaction and low defect levels, often associated with low complexity John Musa Low defect levels, adherence of software functions to user needs, and high reliability Bill Perry High levels of user satisfaction and adherence to requirements Tabelle 6-1: Verschiedene Definitionen von Softwarequalität Verschiedene Organisationen haben den Begriff der Softwarequalität standardisiert; hier die Definitionen von IEEE und ISO/IEC: Definition 6-3 (quality, IEEE Std. 610.12-1990) (1) The degree to which a system, component, or process meets specified requirements. (2) The degree to which a system, component, or process meets customer or user needs or expectations. Definition 6-4 (software quality, ISO/IEC 9126:1991) The totality of features and characteristics of a software product that bear on its ability to satisfy stated or implied needs.
6.2 Qualitätsmodelle 63 Die Definition des IEEE, die auch den Entwicklungsprozess einschließt, spiegelt die herstellungsbezogene und die benutzerbezogene Sicht wieder. Die Definition der ISO/IEC lässt den Prozess weg, ist ansonsten aber ähnlich. Es fällt auf, dass beide Definitionen sehr abstrakt sind. Eine universelle Qualitätsdefinition muss allerdings auch abstrakt sein, da es keine detaillierte Produkt-unabhängige Definition von Qualität geben kann (Glass, 1998). Will man die Qualität einer Software bewerten, muss man deren spezifische Anforderungen berücksichtigen. Klassifikationen der Softwarequalität Produkt vs. Prozess. Produktqualität ist die Güte des Produkts, Prozessqualität die Güte des Entwicklungsprozesses des Produkts. Beispielweise baut Ludewig (1998) seine Taxonomie der Qualität auf dieser Klassifikation auf. Die Prozessqualität beeinflusst die Produktqualität in der Regel positiv, z. B. die Wartbarkeit (Slaughter, Banker, 1996). Diese Arbeit beschäftigt sich ausschließlich mit der Produktqualität. Intern vs. extern. Die interne Qualität (oder Wartungsqualität) bezieht sich auf den Entwicklungsprozess und die dabei entstandenen internen Dokumente (z. B. Entwurfsdokumentation). Sie entspricht der Entwicklersicht. Die externe Qualität (oder Gebrauchsqualität) entspricht der Sicht des Benutzers des Programms. Die geforderte externe Qualität ist in den Anforderungen festgehalten, während die geforderte interne Qualität, wenn überhaupt, überwiegend in Richtlinien und Verfahrensweisen der Entwicklungsorganisation dokumentiert ist. Die interne Qualität beeinflusst die externe positiv. In dieser Arbeit liegt der Schwerpunkt auf der internen Qualität. Mittelbar vs. unmittelbar. Wenn Zwischenprodukte in das Endprodukt einfließen, wie das beim Entwurf der Fall ist, kann man zwischen der unmittelbaren Qualität des Zwischenprodukts und der durch das Zwischenprodukt beeinflussten Qualität des Endprodukts unterscheiden. Beim Entwurf ist z. B. Strukturiertheit eine unmittelbare, Effizienz eine mittelbare Qualität. In dieser Arbeit interessiert eigentlich die mittelbare Qualität des Entwurfs, also die Eigenschaften des Endprodukts, die durch den Entwurf bestimmt sind. Da diese Eigenschaften aber nicht gemessen werden können, bevor eine Implementierung vorliegt, misst man stattdessen Eigenschaften des Entwurfs und verwendet sie zur Vorhersage der Eigenschaften des Endprodukts. Deshalb spielen in der Arbeit beide Kategorien eine Rolle. 6.2 Qualitätsmodelle The quality of software is measured by a number of totally incompatible criteria, which must be carefully balanced in the design and implementation of every program. (Hoare, 1981, S. 80) 6.2.1 Definition Ein Qualitätsmodell bestimmt den allgemeinen Qualitätsbegriff genauer, indem Unterbegriffe (Qualitätsattribute) angegeben werden, aus denen sich die Qualität zusammensetzt. Qualitätsmodelle dienen zur Definition von Qualität, als Qualitätsvorgabe und zur Qualitätsbewertung (Dißmann, 1990). In der Regel werden die Qualitätsattribute hierarchisch angeordnet (vgl. Abbildung 6-1). Die Qualitätsattribute der obersten Stufe werden als Faktoren (factors) bezeichnet, die untergeordneten
- Seite 21 und 22: 2.2 Metriken 11 Merkmalsart Qualita
- Seite 23 und 24: 2.2 Metriken 13 Definition 2-2 (qua
- Seite 25 und 26: Kapitel 3 Objektorientierung What i
- Seite 27 und 28: 3.1 Begriffe 17 Klasse Person mit A
- Seite 29 und 30: 3.1 Begriffe 19 3.1.5 Abstrakte Kla
- Seite 31 und 32: 3.2 Unified Modeling Language 21 3.
- Seite 33 und 34: Kapitel 4 Objektorientierter Entwur
- Seite 35 und 36: 4.1 Was ist Entwurf? 25 rungen im C
- Seite 37 und 38: 4.2 Klassifikationen des Entwurfs 2
- Seite 39 und 40: 4.2 Klassifikationen des Entwurfs 2
- Seite 41 und 42: 4.3 Muster und Rahmenwerke 31 und P
- Seite 43 und 44: 4.3 Muster und Rahmenwerke 33 Kateg
- Seite 45 und 46: 4.5 Probleme des Entwurfs 35 Lösun
- Seite 47 und 48: 4.5 Probleme des Entwurfs 37 Kompon
- Seite 49 und 50: 4.5 Probleme des Entwurfs 39 Aufgab
- Seite 51 und 52: 4.5 Probleme des Entwurfs 41 • di
- Seite 53 und 54: Kapitel 5 Ein Referenzmodell für d
- Seite 55 und 56: 5.2 Umfang 45 Abbildung 5-2: UML-Me
- Seite 57 und 58: 5.2 Umfang 47 5.2.2 Erweiterungen N
- Seite 59 und 60: 5.3 Kern 49 und I muss in genau ein
- Seite 61 und 62: 5.3 Kern 51 • uses: C × (C ∪ I
- Seite 63 und 64: 5.4 Erweiterungen 53 5.4.2 Erweiter
- Seite 65 und 66: 5.5 Formale Definition von Metriken
- Seite 67 und 68: 5.5 Formale Definition von Metriken
- Seite 69 und 70: Kapitel 6 Softwarequalität Quality
- Seite 71: 6.1 Qualität 61 Benutzerbezogene S
- Seite 75 und 76: 6.2 Qualitätsmodelle 65 Boehm et a
- Seite 77 und 78: 6.2 Qualitätsmodelle 67 IEEE Stand
- Seite 79 und 80: 6.3 Qualitätssicherung 69 6.2.4 Fa
- Seite 81 und 82: 6.3 Qualitätssicherung 71 rung und
- Seite 83 und 84: Kapitel 7 Entwurfsqualität Softwar
- Seite 85 und 86: 7.1 Ein Beispiel 75 scheidung nach
- Seite 87 und 88: 7.1 Ein Beispiel 77 WMC DIT NOC CBO
- Seite 89 und 90: 7.2 Perspektiven der Entwurfsqualit
- Seite 91 und 92: 7.2 Perspektiven der Entwurfsqualit
- Seite 93 und 94: 7.3 Entwurfsregeln 83 Produkt 1 Pro
- Seite 95 und 96: 7.3 Entwurfsregeln 85 Prinzip Besch
- Seite 97 und 98: 7.3 Entwurfsregeln 87 7.3.2 Heurist
- Seite 99 und 100: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 101 und 102: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 103 und 104: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 105 und 106: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 107 und 108: 7.6 Entwurfsbewertung 97 7.5.2 Kons
- Seite 109 und 110: 7.6 Entwurfsbewertung 99 Evaluation
- Seite 111 und 112: Kapitel 8 Das allgemeine Qualitäts
- Seite 113 und 114: 8.1 Vorüberlegungen 103 8.1.4 Indi
- Seite 115 und 116: 8.3 Wartbarkeit 105 unabhängige Mo
- Seite 117 und 118: 8.3 Wartbarkeit 107 auswirkt (höhe
- Seite 119 und 120: 8.3 Wartbarkeit 109 Diskussion Für
- Seite 121 und 122: 8.3 Wartbarkeit 111 Diskussion Zusa
62 6 Softwarequalität<br />
Produkt nach den Anfor<strong>der</strong>ungen hergestellt werden (herstellungsbezogenen <strong>Qualität</strong>).<br />
Der Kunde schließlich wird bei <strong>der</strong> Entscheidung für ein Produkt auch die kostenbezogene<br />
Sicht einnehmen. Nur im Zusammenspiel <strong>der</strong> Sichten wird am Schluss<br />
ein hochwertiges und erfolgreiches Produkt entstehen.<br />
6.1.2 Softwarequalität<br />
Definition<br />
Auch in <strong>der</strong> Welt <strong>der</strong> Software herrscht keine Einigkeit über den Begriff <strong>der</strong> <strong>Qualität</strong>.<br />
Jones (1996) demonstriert dies, indem er diverse Größen des Software Engineering<br />
mit ihrer Definition von Softwarequalität zitiert (vgl. Tabelle 6-1). Jede dieser Definitionen<br />
hat ihre Berechtigung, zusammengenommen sind sie aber wi<strong>der</strong>sprüchlich.<br />
Jones for<strong>der</strong>t für eine praxisrelevante Definition von Softwarequalität, dass <strong>Qualität</strong><br />
messbar (nach <strong>der</strong> Fertigstellung <strong>der</strong> Software) und vorhersagbar (vor <strong>der</strong> Fertigstellung<br />
<strong>der</strong> Software) sein sollte.<br />
Autor Definition von Softwarequalität<br />
Barry Boehm Achieving high levels of user satisfaction, portability, maintainability,<br />
robustness, and fitness for use<br />
Phil Crosby Conformance to user requirements<br />
W. Edwards<br />
Deming<br />
Striving for excellence in reliability and functions by continuous improvement<br />
in the process of development, supported by statistical analysis of<br />
the causes of failure<br />
Watts Humphrey Achieving excellent levels of fitness for use, conformance to requirements,<br />
reliability, and maintainability<br />
Capers Jones The absence of defects that would make software either stop completely<br />
or produce unacceptable results<br />
James Martin Being on time, within budget, and meeting user needs<br />
Thomas McCabe High levels of user satisfaction and low defect levels, often associated<br />
with low complexity<br />
John Musa Low defect levels, adherence of software functions to user needs, and<br />
high reliability<br />
Bill Perry High levels of user satisfaction and adherence to requirements<br />
Tabelle 6-1: Verschiedene Definitionen von Softwarequalität<br />
Verschiedene Organisationen haben den Begriff <strong>der</strong> Softwarequalität standardisiert;<br />
hier die Definitionen von IEEE und ISO/IEC:<br />
Definition 6-3 (quality, IEEE Std. 610.12-1990)<br />
(1) The degree to which a system, component, or process meets specified requirements.<br />
(2) The degree to which a system, component, or process meets customer or user needs or<br />
expectations.<br />
Definition 6-4 (software quality, ISO/IEC 9126:1991)<br />
The totality of features and characteristics of a software product that bear on its ability to satisfy<br />
stated or implied needs.