Modellqualität als Indikator für Softwarequalität

Software- und Qualitätsmodelle für die Verbesserung der Softwarequalität


Seminararbeit, 2010

26 Seiten, Note: 1,3


Leseprobe

Inhaltsverzeichnis

Kurzfassung

1 Motivation

2 Modelle
2.1 Modellbegriff
2.2 Modellmerkmale
2.3 Modelle im Bereich Software-Engineering
2.3.1 Unified Modeling Language (UML)
2.3.2 Matlab/Simulink
2.3.3 Domänenspezifische Sprachen
2.3.4 Fazit
2.4 Taxonomie der Modelle
2.4.1 Deskriptive und Präskriptive Modelle
2.4.2 Der Zweck von Modellen

3 Qualitätsmodelle
3.1 Qualitätsbegriff
3.2 ISO/IEC 9126:2001 Qualitätsmodell
3.3 Qualitätsmodell von McCall
3.4 Der Goal-Question-Metric-Ansatz

4 Qualitätsanforderungen an Modelle

5 Bewertung von Qualitätsanforderungen

6 Zusammenfassung

Literatur

Kurzfassung

Projekte zur Entwicklung komplexer softwarebasierter Systeme sind mit erheblichen finanziellen und zeitlichen Risiken sowie mit dem Risiko des kompletten Scheiterns verbunden.[1] Um diesen Risiken entgegenzuwirken ist es zwingend notwendig, eine gut strukturierte Qualitätssicherung in Kombination mit adäquater Meilensteinplanung in Softwareprojekten bereits frühzeitig einzusetzen. Entwicklungsbegleitende Qualitätssicherungsmaßnahmen, wie z.B. Normen, Richtlinien, standardisierte Prozesse, statische und dynamische Analysen, Reviews, nehmen deshalb bei den Projektverantwortlichen einen immer höher werdenden Stellenwert ein, wobei diesen entsprechend mehr Ressourcen zur Verfügung gestellt werden.[2]

Eine erhöhte Komplexität, eine gesteigerte Variantenvielfalt und ein immer komplexer werdendes Anforderungsmanagement stellen mit den o.g. Risiken zentrale Herausforderungen bei der Entwicklung und Evolution heutiger softwaregesteuerter Systeme dar. Durch den zunehmenden Einsatz modellbasierter Entwicklungsmethoden wird deshalb auf möglichst effiziente Weise versucht, diesen Herausforderungen zu begegnen.

Die Wichtigkeit von modellbasierten Entwicklungsmethoden zur Unterstützung und Verbesserung der Qualität von Softwareprodukten wird im Rahmen dieses Dokumentes untersucht. Dabei werden verschiedene Qualitätsmodelle präsentiert, die zur Verbesserung der Qualität von Endprodukten bei der Entwicklung softwarebasierter Systeme eingesetzt werden können.

Durch eine detaillierte Beschreibung des Modell- und Qualitätsbegriffs, im Bezug auf die Softwareentwicklung, wird ein Zusammenhang zwischen der Modellqualität und der Softwarequalität hergestellt. Zudem wird im Rahmen dieses Dokuments diskutiert, dass eine adäquate Modellbildung einen deutlichen Qualitätsvorteil auf das zu entwickelnde Softwaresystem liefert und dass zwischen der Modellqualität und der Softwarequalität ein erheblicher Zusammenhang existiert.

Keywords

Abbildung in dieser Leseprobe nicht enthalten

1 Motivation

Modellierung ist das uns angeborene Verfahren, das sehr komplexe Universum auf eine überschaubare Welt zu reduzieren. Sichtbare und unsichtbare Phänomene werden auf Begriffe abgebildet, wobei nur noch mit diesen umgegangen wird. Dadurch wird die Gesamtzahl der zu betrachtenden Gegenstände reduziert und beherrschbar gemacht. Zudem werden wir in die Lage versetzt Erfahrungen zu sammeln, generische Urteile[3] zu fällen und allgemein Strategien zu entwickeln, um mit der realen Welt zurecht zu kommen.

Im Bezug auf die Softwareentwicklung bilden Software-Modelle im Rahmen der modellbasierten Softwareentwicklung ein Bindeglied zwischen der Problemdomäne und dem zu implementierenden Softwaresystem. In diesem Zusammenhang fördern Software-Modelle die Kommunikation über Lösungen und Probleme, die Koordination von Aufgaben und somit die Zusammenarbeit innerhalb eines Projektteams. Zudem lässt sich mit Hilfe von Software-Modellen der Entwicklungsfortschritt während der Analyse der Problemdomäne und beim Entwurf der Systemarchitektur dokumentieren. Der Einsatz von Software-Modellen kann dadurch helfen, die Komplexität des zu implementierenden Softwaresystems bei anhaltendem Kosten- und Termindruck zu beherrschen. Infolgedessen stellen sie zentrale Entwicklungsartefakte dar.

Demnach sollten Qualitätsmängel in Software-Modellen möglichst früh erkannt und beseitigt werden, damit sich daraus ergebende notwendige Korrekturen nur auf wenige Entwicklungsphasen und -artefakte beziehen. Um nun die Qualität von Software-Modellen kontrollieren zu können bedarf es einen Qualitätsmanagement­ansatz. In Kapitel 2 wird der jetzt schon leicht deutlich werdende Zusammenhang zwischen der Modell- und Softwarequalität verstärkt verdeutlicht, bevor in Kapitel 3 verschiedene Qualitätsmodelle vorgestellt werden.

2 Modelle

2.1 Modellbegriff

Das Wort „Modell“ ist laut Kluge[4] die moderne, vom italienischen modello geprägte Variante des älteren „Model“ (maskulin), das aus dem lateinischen modulus, in der Bedeutung Vorbild, Maß, Form, Regel, Muster entstanden ist. Entsprechend hat sich der Sinn kaum geändert. In den Naturwissenschaften hat sich der Modellbegriff bis zum Beginn des 20. Jahrhunderts als veranschaulichende Beschreibung komplexer Theorien und in den Ingenieurswissenschaften als vereinfachendes Abbild oder Vorbild eines technischen Konstrukts etabliert.[5]

Modellen wird laufend begegnet, beispielsweise Modelleisenbahnen, Landkarten, Architekturmodelle, Schaufensterpuppen, im Software-Bereich Prozessmodelle[6], Klassendiagramme, Entwurfsmuster. Neben diesen eher offensichtlichen Modellen gibt es noch weit mehrere, die wie beispielsweise Projektpläne, Entwürfe und Spezifikationen, Sitzungsprotokolle und Metriken kaum als Modelle wahrgenommen werden.

2.2 Modellmerkmale

Eine heute allgemein anerkannte Definition des wissenschaftlichen Mod ellbeg riffs stammt von Stachowiak[7]. Nach ihm müssen für jedes Modell folgende drei Merkmale passend sein:

1. Abbildungsmerkmal

Jedes Modell steht immer in Bezug zu einem Original, das abgebildet wird, d.h. zu jedem Modell gibt es ein Original. Modelle sind niemals eigenständig und können ohne ein Original nicht existieren.

2. Verkürzungsmerkmal

Modelle geben im Allgemeinen nicht alle Attribute des durch sie repräsentierten Originals wieder, sondern nur eine echte Teilmenge.

3. Pragmatisches Merkmal

Ein Modell ist seinem Original nicht per se eindeutig zugeordnet, sondern es erfüllt eine Ersetzungsfunktion, d.h. Modelle haben den Zweck, unter bestimmten Bedingungen und bezüglich bestimmter Fragestellungen das Original zu ersetzen.

Das Abbildungsmerkmal impliziert nicht, dass das Original auch wirklich existiert, es kann nämlich auch vermutet, geplant oder der Fantasie entsprungen sein. So stellt beispielsweise ein Gartenzwerg das Modell eines gedachten Wesens dar. Auch ist fast jeder Kinofilm oder Roman das Modell einer erdachten Realität. In Bezug auf ein Softwareprojekt ist dessen Kostenschätzung beispielsweise ein spekulatives Modell des Projektverlaufs. Durch sogenannte kaskadierte Modelle können Modelle auch das Original von anderen Modellen sein. Ein prominentes Beispiel in der Softwareentwicklung ist beispielsweise die Kaskade von der Spezifikation zum Code und weiter zur Programmausführung.

Durch das Verkürzungsmerkmal erscheint es zunächst, als ob ein Verlust stattfindet, aber genau in diesem Merkmal liegt die Stärke eines Modells: Durch die Verkürzung wird es überhaupt überschaubbar, brauchbar, handlich im Sinne des pragmatischen Merkmals.

Schließlich gibt das pragmatische Merkmal dem Modell seinen Sinn. Da aus verschiedenen Gründen auf das Original entweder nicht zugegriffen werden kann oder zugegriffen werden will, wird an seiner Stelle das Modell u.a. für Änderungen verwendet.

Abbildung in dieser Leseprobe nicht enthalten

bbildung 1: Original und Modell nach Stachowiak[8]

Abbildung 1 zeigt den Zusammenhang zwischen Original und Modell. Zu beachten ist, dass Modelle den Originalen äußerlich nicht ähnlich sein müssen. Demnach können die abgebildeten Attribute im Modell auf verschiedenste Weise erscheinen, z.B. als Messwerte, Laufzeiten von Programmen als Balken in Diagrammen etc. Grundsätzlich gehören die präterierten Attribute immer zum Original und die abundanten Attribute immer zum Modell.

Als Beispiel wird im Folgenden das typische Modell eines Personalausweises betrachtet:

1. Abbildungsmerkmal

Der Ausweis ist für eine Person ausgestellt.

2. Verkürzungsmerkmal

Die meisten Eigenschaften des Menschen, z.B. seine kulinarischen Präferenzen, sein Körpergewicht oder seine Kindheitserinnerungen erscheinen auf dem Personalausweis nicht. So lässt sich mit akzeptablem Aufwand ein handlicher Ausweis realisieren.

3. Modell eines Modells (kaskadiertes Modell)

Die Ausweisnummer ist ihrerseits geeignet, den Ausweis zu identifizieren

4. Pragmatisches Merkmal

Anhand des Ausweises können verschiedene Personen Feststellungen treffen, ohne auf den Menschen insgesamt zuzugreifen. Beispielsweise lässt sich nachvollziehen, ob er bestimmte Rechte hat.

2.3 Modelle im Bereich Software-Engineering

Im modellbasierten Softwareentwicklungsprozess kommen verschiedenste Arten von Modellen zum Einsatz. Derzeit für die Softwareentwicklung wichtige Modellarten[9] erlauben eine

- Struktur- und Schnittstellenbeschreibung,
- konstruktive Verhaltensbeschreibung,
- deskriptive Kommunikationsprotokolle und -mechanismen,
- Darstellung der logischen sowie physischen Verteilung,
- Organisation und Strukturierung der Anforderungsbeschreibung,
- Modellierung von Aufgaben- und Prozessabläufen,
- Datenmodellierung.

Während konstruktive Modelle primär zur Gewinnung von Codes dienen, werden Simulationsmodelle zur Gewinnung von Erkenntnissen mittels Durchführung von Abläufen eingesetzt. Analytische Modelle werden hingegen für die Verifikation genutzt. Manche Modelle bieten in diesem Zusammenhang auch die gleichzeitige Darstellung konstruktiver und zu verifizierender Anteile. In einem Klassendiagramm sind beispielsweise Klassen und Attribute konstruktiv; zu verifizieren sind jedoch Kardinalitäten oder Nachbedingungen.

Viele Erfahrungsberichte und Indikatoren zeigen, dass in diesem Zusammenhang die Qualität der im Einsatz befindlichen Modelle mit der Qualität des entwickelten Softwaresystems auf vielfältige Weise verbunden ist.[10] Mit dem zunehmenden Einsatz modellbasierter Softwareentwicklung steigt die Bedeutung der Modelle stetig an.[11] Die Modelle sind zum wichtigsten Artefakt der Entwicklung geworden, wobei ihre Qualität entscheidend zum Erfolg des Projekts beiträgt. Wie in der Norm IEC61508[12] beschrieben, fordern die Qualitätssicherungsmaßnahmen allgemeiner Entwicklungsprozesse demnach zurecht eine adäquate Qualität der Modelle im Softwareentwicklungsprozess ein. Jedoch lässt sich erst durch die Identifikation geeigneter Qualitätsmerkmale die Qualität messbar und quantifizierbar machen. Mithilfe verschiedener Qualitätsmodelle wurden bereits für Softwaresysteme bzw. Codes unterschiedliche Qualitätsmerkmale definiert. Mehr dazu in Kapitel 3.

[...]


[1] Vgl. Fieber et al. 2008, S. 408 [Fi08]

[2] Vgl. Pol et al. 2000 [Po00]

[3] Mit negativer Konnotation als Vorurteile bezeichnet

[4] Vgl. Etymologisches Wörterbuch der deutschen Sprache

[5] Vgl. Fieber et al. 2008, S. 410 [Fi08]

[6] Vgl. Kapitel 2

[7] Vgl. Stachowiak 1973 [St73]

[8] Darstellung von Ludewig, Universität Stuttgart [Lu01]

[9] Vgl. Fieber et al. 2008, S. 408 [Fi08]

[10] Vgl. Fieber et al. 2008, S. 409 [Fi08]

[11] Vgl. Petrasch et al. 2006 [Pe06]

[12] EN 61508 2000 [EN00]

Ende der Leseprobe aus 26 Seiten

Details

Titel
Modellqualität als Indikator für Softwarequalität
Untertitel
Software- und Qualitätsmodelle für die Verbesserung der Softwarequalität
Hochschule
Eberhard-Karls-Universität Tübingen  (Wilhelm-Schickard-Institut)
Veranstaltung
Eingebettete Systeme
Note
1,3
Autor
Jahr
2010
Seiten
26
Katalognummer
V150232
ISBN (eBook)
9783640618019
ISBN (Buch)
9783640617821
Dateigröße
1731 KB
Sprache
Deutsch
Schlagworte
Software, Modell, Modelle, Software-Modelle, Qualität, Qualitätsanforderungen an Modelle, Softwarequalität, Qualitätssicherung, Qualitätsmanagement, DIN ISO 9126, McCalls, Entwurfsmodelle, Qualitätsmodelle, Software-Engineering, Softwareentwicklung, UML, Klassendiagramm, domänenspezifische Sprachen (DSL), Qualitätssicherungsmaßnahmen
Arbeit zitieren
B.Sc. Sebastiano Lamattina (Autor), 2010, Modellqualität als Indikator für Softwarequalität, München, GRIN Verlag, https://www.grin.com/document/150232

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Modellqualität als Indikator für Softwarequalität



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden