Skip to content
IRC-CodingIRC-Coding
ISO 25010SoftwarequalitätQualitätsmerkmaleFunctional SuitabilityPerformance EfficiencyReliabilitySecurityMaintainability

Softwarequalität und ISO 25010: Qualitätsmerkmale im Überblick

ISO 25010 einfach erklärt: Die acht Qualitätsmerkmale, Untermerkmale und deren praktische Anwendung für Softwareentwicklung und Prüfungen.

S

schutzgeist

3 min read
Softwarequalität und ISO 25010: Qualitätsmerkmale im Überblick

Softwarequalität und ISO 25010

ISO 25010 ist der aktuelle internationale Standard für Softwareproduktqualität. Er ersetzt die ältere Norm ISO 9126 und liefert ein gemeinsames Vokabular, um Qualität zu beschreiben, zu bewerten und messbar zu vereinbaren. Dieser Artikel erklärt alle acht Hauptmerkmale mit ihren Untermerkmalen und zeigt, wie Du sie in Projekten anwendest.

In a Nutshell

  • ISO 25010 definiert acht Hauptmerkmale der Softwarequalität.
  • Jedes Hauptmerkmal hat mehrere Untermerkmale, die präziser beschreiben, was gemessen wird.
  • Die Norm hilft, Qualitätsanforderungen verbindlich zu formulieren und abzunehmen.
  • Sie ersetzt ISO 9126 und ergänzt die Bereiche Sicherheit und Kompatibilität.

Kompakte Fachbeschreibung

ISO 25010 (ISO/IEC 25010:2011) ist Teil der ISO/IEC 25000-Serie, auch als SQuaRE (Systems and Software Quality Requirements and Evaluation) bekannt. Die Norm teilt die Qualität von Softwareprodukten in acht Hauptmerkmale ein, die wiederum in Untermerkmale untergliedert sind. Diese Struktur ermöglicht es, Qualität systematisch zu spezifizieren, zu bewerten und zu messen.

Die acht Hauptmerkmale

1. Functional Suitability (Funktionale Eignung)

Beschreibt, ob die Software die Funktionen bereitstellt, die Benutzer benötigen.

  • Functional Completeness: Alle geforderten Funktionen sind vorhanden.
  • Functional Correctness: Funktionen liefern korrekte Ergebnisse.
  • Functional Appropriateness: Funktionen sind passend und nicht überladen.

2. Performance Efficiency (Performanzeffizienz)

Beschreibt Leistung und Ressourcenverbrauch unter definierten Bedingungen.

  • Time Behaviour: Reaktions- und Verarbeitungszeiten.
  • Resource Utilization: CPU, Speicher, Netzwerk, Energieverbrauch.
  • Capacity: Maximale Last, die das System bewältigen kann.

3. Compatibility (Kompatibilität)

Beschreibt die Fähigkeit, mit anderen Systemen zusammenzuarbeiten.

  • Co-existence: Gleichzeitiger Betrieb mit anderen Systemen ohne Konflikte.
  • Interoperability: Austausch und Nutzung von Informationen mit anderen Systemen.

4. Usability (Gebrauchstauglichkeit)

Beschreibt, wie einfach Benutzer die Software verwenden können.

  • Appropriateness Recognizability: Erkennbarkeit der Eignung für eine Aufgabe.
  • Learnability: Lernaufwand für die Nutzung.
  • Operability: Bedienbarkeit während des Einsatzes.
  • User Error Protection: Schutz vor Bedienfehlern.
  • User Interface Aesthetics: Ästhetik und Design.
  • Accessibility: Nutzbarkeit für Menschen mit Einschränkungen.

5. Reliability (Zuverlässigkeit)

Beschreibt die Fähigkeit, unter definierten Bedingungen zu funktionieren.

  • Maturity: Häufigkeit von Fehlern im normalen Betrieb.
  • Availability: Verfügbarkeit, wenn sie benötigt wird.
  • Fault Tolerance: Weiterbetrieb trotz auftretender Fehler.
  • Recoverability: Wiederherstellung nach einem Fehler.

6. Security (Sicherheit)

Beschreibt den Schutz von Informationen und Daten.

  • Confidentiality: Zugang nur für autorisierte Personen.
  • Integrity: Schutz vor unautorisierten Änderungen.
  • Non-repudiation: Nachweisbarkeit durchgeführter Aktionen.
  • Accountability: Rückverfolgbarkeit von Aktionen.
  • Authenticity: Nachweis der Identität von Nutzern oder Ressourcen.

7. Maintainability (Wartbarkeit)

Beschreibt, wie einfach die Software geändert werden kann.

  • Modularity: Aufteilung in einzelne Komponenten.
  • Reusability: Wiederverwendbarkeit von Komponenten.
  • Analysability: Einfachheit, Mängel zu erkennen.
  • Modifiability: Einfachheit, Änderungen durchzuführen.
  • Testability: Einfachheit, Tests durchzuführen.

8. Portability (Übertragbarkeit)

Beschreibt die Fähigkeit, die Software in verschiedene Umgebungen zu übertragen.

  • Adaptability: Anpassbarkeit an unterschiedliche Umgebungen.
  • Installability: Einfachheit der Installation.
  • Replaceability: Austauschbarkeit gegen andere Software.

Praxisbeispiel: Qualitätsprofil für eine Banking-App

Security:
- Confidentiality: Ende-zu-Ende-Verschlüsselung
- Integrity: Signierte Transaktionen
- Authenticity: Zwei-Faktor-Authentifizierung

Reliability:
- Availability: 99,99 Prozent
- Fault Tolerance: Failover-Cluster
- Recoverability: Point-in-Time-Recovery

Performance Efficiency:
- Time Behaviour: Login unter 500 Millisekunden
- Capacity: 10.000 gleichzeitige Nutzer
- Resource Utilization: Speicherlimit 512 MB pro Instanz

Maintainability:
- Testability: 80 Prozent Code-Coverage
- Modularity: Microservices mit klaren Schnittstellen
- Analysability: Zentrale Logging- und Tracing-Lösung

Vorteile und Nachteile

Vorteile

  • Gemeinsame Sprache: Stakeholder sprechen über identische Begriffe.
  • Messbare Anforderungen: Qualität wird konkret und testbar.
  • Bessere Architektur: Entscheidungen werden anhand klarer Qualitätsziele bewertet.
  • Prüfungsrelevanz: Die Norm ist Standard in vielen Ausbildungen und Zertifizierungen.

Nachteile

  • Interpretationsspielraum: Nicht alle Untermerkmale sind in jedem Kontext gleich wichtig.
  • Messaufwand: Eine vollständige Bewertung ist aufwendig.
  • Papierform: Ohne gelebte Praxis bleibt die Norm Theorie.

Prüfungsrelevante Stichpunkte

  • Die acht Hauptmerkmale der ISO 25010 nennen und erklären.
  • Unterschiede zwischen ISO 9126 und ISO 25010 erklären.
  • Untermerkmale den Hauptmerkmalen zuordnen.
  • Messbare Qualitätsanforderungen formulieren.
  • Zielkonflikte zwischen Qualitätsmerkmalen erkennen.

Typische Prüfungsfragen (mit Kurzantwort)

  1. Wie viele Hauptmerkmale hat ISO 25010? Acht.

  2. Welche zwei Hauptmerkmale wurden gegenüber ISO 9126 ergänzt? Security und Compatibility.

  3. Zu welchem Hauptmerkmal gehört Interoperability? Compatibility.

  4. Was beschreibt Maintainability? Die Einfachheit, mit der Software geändert, getestet und analysiert werden kann.

  5. Nenne drei Untermerkmale von Performance Efficiency. Time Behaviour, Resource Utilization, Capacity.

Weiter im Softwarequalität Lernpfad

Der nächste Artikel im Softwarequalität Lernpfad behandelt Softwarequalität Metriken — wie Qualität messbar gemacht wird durch Kennzahlen wie Code Coverage, Cyclomatic Complexity und MTTR.

Wichtigste Quellen

  1. https://iso25000.com
  2. https://www.iso.org/standard/35733.html
  3. https://en.wikipedia.org/wiki/ISO/IEC_25010
Zurück zum DEV Blog
Share:

Ähnliche Beiträge