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

worte.projekt.de
von worte.projekt.de Mehr von diesem Publisher
30.10.2013 Aufrufe

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

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!