Wer wünscht sich nicht "Mehr Softwarequalität"? Insbesondere an Individualsoftware werden hohe Qualitätsanforderungen gestellt. Einen Königsweg gibt es zwar nicht, aber viele „Best practices“, mit denen Sie systematisch die Softwarequalität erhöhen können.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Softwarequalität: Garbage in - garbage out
1. Garbage in - garbage out:
Wie das Anforderungsmanagement die
Softwarequalität beeinflusst
iks Thementag
„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“
19.06.2012
Autor:
Jörg Vollmer
2. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 3 / 58
3. Vorgehen
Im Folgenden soll untersucht werden:
Konstruktiv
– Welche Fertigkeiten des RE beeinflussen die Software-Qualität?
Analytisch
– Kann das RE selbst qualitativ und quantitativ bewertet werden?
– Wie lässt sich RE-Qualität messen und sichern?
– Wirkt sich RE-Qualität auf die Software-Qualität aus?
Mit neuen RE-Techniken zu besserer Qualität (?)
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 4 / 58
4. Standardprobleme zu Projektbeginn
Unklare Zielvorstellungen
Veränderliche Anforderungen
Stakeholder stehen nicht zur Verfügung
Kommunikationsbarrieren
Hohe Komplexität
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 5 / 58
5. Qualitätseigenschaften des Requirements Engineers
Moderationsfertigkeiten
Eloquenz
Perspektivenwechsel
Diplomatie
Sorgfalt
Ausdauer
Spezielle RE-Techniken (gleich…)
Analytisch unmessbar, aber Auswirkung auf die Softwarequalität
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 6 / 58
6. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 7 / 58
7. Aufgaben zum Projektbeginn
Die initiale Bestandsaufnahme des Projektumfelds ist unverzichtbar
– Auch im agilen Umfeld
Wichtige Aufgaben sind
– Ermitteln aller Stakeholder
– Ziele des Produkts und deren Nutzen ermitteln
– Systemkontext und -grenzen bestimmen
– Qualitätsanforderungen (des Produkts) identifizieren
Fehler hierbei werden später teuer bezahlt
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 8 / 58
8. Beobachtungstechniken
Apprenticing: Der RE wird wie ein Lehrling eingearbeitet
Der RE lernt hierbei den Fachjargon kennen
Arbeitsschritte hinterfragen und ineffiziente Prozesse entdecken ...
…die Chance, somit die Qualität zu verbessern, ist schnell verspielt
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 9 / 58
9. 1. Falle: Diskussionen in Meetings
Der RE sollte wissen:
– Jede Debatte, die nicht in fünf Minuten beigelegt werden kann,
kann nicht durch Debattieren gelöst werden (Kent Beck)
– Selbstdarsteller machen andere ratlos und stumm
– Häufig geht es dann nicht mehr um die beste Lösung
– Eine Gruppe orientiert sich viel schwerer um als ein Einzelner
s. auch [bdw]
Moderationstechniken anwenden
Risiko von falschen Entscheidungen Software-Qualität
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 10 / 58
10. 2. Falle: Faule Kompromisse
Stakeholder A:
– Bei einem Fehler muss das System anhalten
Stakeholder B:
– Bei einem Fehler muss das System neu starten
RE einigt sich mit A und B auf
– Im Fehlerfall wird eine Ausnahmeroutine veranlasst
Schlecht!
Eine Mehrdeutigkeit in einem Anforderungsdokument steht oft für
einen Konflikt bei den Stakeholdern (de Marco)
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 11 / 58
11. 3. Falle: Ein Auto kann verschiedene Farben haben
Was der RE verstand:
Was der Kunde wollte:
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 12 / 58
12. Unterschiede ziehen sich durch alle Schichten
Datenbank
Datenmodell
Service-Schicht
Benutzeroberfläche
Fachobjekte und deren Beziehungen identifizieren (DDD)
Fehler hierbei sind teuer!
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 13 / 58
13. 4. Falle: Unklare Fachbegriffe
Was meinte der Banker mit „Engagement“?
– Meinte er persönlichen Einsatz?
– Oder doch eine vertragliche Verpflichtung wie beim Theater?
Wikipedia
– Risiko bzw. Chance eines Kursverlusts oder -gewinns
Die Fachabteilung
– Das, was die Bank verliert, wenn der Kunde bankrott ist
Fachbegriffe analysieren, Glossar, ubiquitäre Sprache
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 14 / 58
14. Best practices
Überprüfen Sie:
– Wurden Ihre Prozesse jemals untersucht und hinterfragt?
– Verlaufen Ihre (RE-) Meetings effizient und effektiv?
– Welche Stakeholder-Konflikte behindern Entscheidungsfindungen?
– Sprechen alle Stakeholder eine gemeinsame Fachsprache?
– Existiert ein Glossar?
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 15 / 58
15. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 16 / 58
16. Anforderungen dokumentieren
Anforderungen aufschreiben, das kann doch jeder
Aber: Meinungen zu bestehender Dokumentation
– Versteht nur der, der‘s geschrieben hat
– Ist nach kurzer Zeit überholt
– Bis man dort die richtige Stelle findet
– Die interessanten Sonderfälle fehlen eh
Sehr viel Dokumentation wird gar nicht erst gelesen
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 17 / 58
17. Wie entsteht gute (Anforderungs-) Dokumentation?
Einleitung
Es empfiehlt sich die Verwendung Zweck,
einer Standardgliederung / Template Stakeholder
– RUP Referenzen
– IEEE 830 Übersicht
Systemumfeld
– V-Modell Architektur
– Volere Benutzer
Randbedingungen
Annahmen
Anforderungen
Funktionalität
Qualitätsanforderungen
Anhang
Verzeichnisse
Glossar
Index
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 18 / 58
18. Dokumentation in Form von Prosatext
Vorteile
– Wird von alle Beteiligten „verstanden“
– Kein Stakeholder muss eine neue Notation erlernen
– Themenunabhängig universell einsetzbar
Nachteile
– Mehrdeutigkeit leicht möglich
– Kann je nach Kontext verschieden interpretiert werden
– Es gehört zum guten Ausdruck, die Wortwahl zu variieren
Missverständnisse
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 19 / 58
19. Negativbeispiel
Original
– Wenn das Feld kundeVorhanden 'J' entspricht, dann wird über
kunde.item.sector das Feld branche gesetzt.
Besser
– Falls das Feld kundeVorhanden 'J' ist, dann erhält branche
den Wert von kunde.item.sector.
Formaler
– Ist kundeVorhanden = 'J', so setze
branche:= kunde.item.sector.
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 20 / 58
20. Formale Spezifikationen, Modelle
Beispiele: ER-Diagramme, UML, BPEL, BPMN, DSLs,…
Vorteile
– Sind eindeutiger und aussagekräftiger
– Kompaktere übersichtliche Darstellung
– Für den geübten Leser verständlicher
– Der Implementierung bereits viel näher
– Zum Teil lässt sich Code daraus generieren
Nachteile
– Sind nicht universell einsetzbar
– Syntax / Semantik muss vom Leser verstanden bzw. erlernt werden
– Zusätzliche Tools müssen erlernt werden evtl. Schulungen
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 21 / 58
21. Eine Mischung ist optimal
Vorteile
– Modelle können durch natürlich-sprachliche Ergänzungen
verständlicher werden
– Prosatext kann durch Modelle eindeutiger und exakter werden
– D.h. beide Arten können die Schwächen der anderen kompensieren
Vorbild: Mathematische Texte
– Aus jeder nicht-negativen reellen Zahl lässt sich die Wurzel ziehen
– Es seien x, y IR. Dann gilt y 0 x : x 2 y.
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 22 / 58
22. Das Sophist-REgelwerk
Passiv unterschlägt den Täter
– Beispiel: Ein Auftrag kann storniert werden
– Frage: Von wem? Von jedem, immer?
Analyse des Prozesswortes
– Beispiel: Das System zeigt das Ergebnis nach der Berechnung an
– Prozesswort ist „anzeigen“. Fragen: Wem, Wie, Wann, Wie oft, etc.
Vergleiche und Steigerungen
– Beispiel: Die GUI muss schneller reagieren als beim Altsystem
– Frage: Um wie viel schneller? Ist eine Millionstel Sek. auch gültig?
…etc.
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 23 / 58
23. Satzschablonen, z.B. die der User-Story
Agile Methoden verwenden sog. User-Stories
Aufbau:
– As a <role> I want <goal/desire> so that <benefit>
Beispiel:
– Als Autor möchte ich meine Präsentation speichern können,
damit ich nicht noch einmal alles eingeben muss
„so that <benefit>“ hinterfragt den Geschäftswert
Kurzfassung des klassischen Use-Case
Akzeptanztests kompensieren den knappen Inhalt (dazu später…)
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 24 / 58
24. Best practices
Überprüfen Sie (stichprobenartig) einige Anforderungsdokumente
– Sind die Dokumente auffindbar, versioniert?
– Sind die Dokumente einheitlich strukturiert?
– Ist der Text (auch für Uneingeweihte) klar und verständlich?
– Wurden formale Methoden verwendet?
– Wenn nicht, warum nicht? Schulungen
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 25 / 58
25. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 26 / 58
26. Anforderungen vermessen und validieren
Warum?
– Anforderungsdokumente sind häufig Grundlage für Verträge
– Einen Qualitätsstandard sicherstellen
– Qualität der Anforderungen wirkt sich auf die Software-Qualität aus
– Fehler & Mängel frühzeitig zu finden, denn…
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 27 / 58
27. Kosten von RE-Fehlern bezogen auf Projektphasen
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 28 / 58
28. Qualitätsmerkmale für Anforderungen
Wann ist eine Anforderungsspezifikation gut?
– Aktualität (insbesondere Kundenwunsch-konform)
– Eindeutigkeit
– Widerspruchsfreiheit
– Identifizierbarkeit
– Vollständigkeit
– Änderbarkeit
– Prüfbarkeit
– Realisierbarkeit
– Verständlichkeit
All diese Merkmale beeinflussen die Software-Qualität!
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 29 / 58
29. Zusammenhang zur Software-Qualität, exemplarisch
Funktionalität Korrektheit Wartbarkeit
Aktualität x
Eindeutigkeit x
Widerspruchsfreiheit x
Identifizierbarkeit x
Vollständigkeit x
Änderbarkeit x
Prüfbarkeit x x
Realisierbarkeit x
Verständlichkeit x x
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 30 / 58
30. Konkrete Qualitätsmetriken
u PE v BPE w BE
Eindeutigk eit 100, wobei u v w 1
# Anforderungssätze
PE Prozessworteindeutigkeit
BPE Bezugspunkteindeutigkeit
BE Begriffsei ndeutigkei t
A zu t
PEi 1 Fragen
A), , alle
), BEi JA
BPE beant
( ( (0
i i A
)falls
,
A
mit
sonst
sind
nach [RuppSoph]
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 31 / 58
31. Review-Prüfmethoden
Stellungnahme
– Eine weitere Person wird gebeten, das Dokument zu prüfen
Inspektion
– Sehr strenger aufwändiger Prozess mit vielen Beteiligten
(Moderator, Prüfer, Termine, Checklisten, Abschlussbericht)
Walkthrough
– Leichtgewichtiges Review (Autor trägt vor, Prüfer, Protokollant)
Automatisiert durch Tools
– Befindet sich in der Forschung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 32 / 58
32. Prüfungsvorbereitungen
Qualitätsmerkmale auswählen
Qualitätsmetriken auswählen
Sollwerte festlegen (Indikatoren)
Prüfzeitpunkte festlegen
Prüfer gezielt auswählen
– Qualifikation!
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 33 / 58
33. Prüfungsnachbereitung
Ergebnisse standardisiert dokumentieren
Bei Unterschreitungen der Toleranzgrenze
– Ursachen bestimmen
– Prozesse anpassen
– Evtl. nachschulen
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 34 / 58
34. Prozesse anpassen, Vorschläge
Verwendung von Bugtrackern auch bei Anforderungen
– Beispiele: Jira, Mantis, Bugzilla, Trac
– Wird bislang kaum praktiziert. Warum eigentlich nicht?
– Zudem ist die Anzahl der Tickets (normiert) eine Qualitäts-Metrik
Definition of Done
– Qualitätsrichtlinien festlegen
– Stellungnahme gehört „zum Done“ dazu
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 35 / 58
35. Best practices
Werden Qualitätsprüfungen bzgl. der Anforderungen bei
Ihnen durchgeführt?
– Planen Sie den Prozess sorgfältig und passen ihn gezielt
auf Ihre Bedürfnisse an
– Qualitätsprüfungen sind bislang noch nicht die Regel
– Tun Sie es, nutzen Sie den Vorsprung!
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 36 / 58
36. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 37 / 58
37. Anforderungen verwalten
Ist eine Hauptaufgabe des agilen RE!
Wird umso wichtiger, je
– mehr Anforderungen zu verwalten sind,
– mehr Stakeholder auf die Informationen zugreifen,
– mehr Änderungen zu erwarten sind,
– länger das Produkt (erwartungsgemäß) in Betrieb ist.
Die Wahl des richtigen Tools ist außerordentlich wichtig!
Entscheidend für das Software-Qualitätsmerkmal Wartbarkeit
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 38 / 58
38. Erwartungen an ein Management-Tool
Notwendige Eigenschaften:
– Anlegen, Ändern, Löschen von Anforderungen
– Strukturierbarkeit (hierarchisch, verlinkbar)
– Gute Suchmöglichkeiten (Volltext, unscharf, Stichwörter)
– Versionsverwaltung / Versionierung
– Einfache Handhabung von Grafiktypen (Einfügen, Bearbeiten)
– Verfolgbarkeit (Traceability)
Wünschenswert
– Konfigurierbarkeit von Eingabemasken und Workflow
– Benutzer- und Rechteverwaltung
– Automatische Analyse von Texten und Generieren von Fragen
– …
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 39 / 58
39. Automatisches Erzeugen von Fragen
Gegeben sei die User-Story
– Als Nutzer möchte ich meine Präsentation speichern, damit
ich nicht noch einmal alles eingeben muss
Exemplarisch generiertes Fragen-Set
– Wer muss speichern?
– Wann soll speichern stattfinden?
– Wann ist speichern komplett abgeschlossen?
– Wie häufig / oft / groß / schnell soll speichern sein?
– Wo / wie kann geprüft werden, ob speichern durchgeführt wurde?
– Was geschieht, wenn man nicht speichern kann?
– Was könnte speichern verhindern, und was wird dann erwartet?
– Welche mögl. Fehleingaben müssen im Zusammenhang mit speichern abgefangen werden?
– Welche Inhalte kommen in Präsentation vor?
– Welche optionalen / verpflichtenden Aspekte gelten für Präsentation?
– Wie sieht das Layout von Präsentation aus?
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 40 / 58
40. Tools
Word & Excel: immer noch üblich
– Grund: Werden von jedem beherrscht
Mehr im Kommen: Jira & Wikis
– Grund: Einfaches Erlernen, einfache Bedienung
Auswahl verschiedener Tools:
– Caliber RM Cradle Contour
– DOORS DESIRe Enterprise Architect
– HP Quality Center IRQA Lotus Notes
– OptimalTrace RequisitePro
– [VolereTools] enthält eine weitaus größere Übersicht
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 41 / 58
41. Best practices
Prüfen Sie, ob bei Ihnen das passende Tool im Einsatz ist
Erwägen Sie eine Neuanschaffung, so…
– nehmen Sie sich Zeit für die richtige Wahl,
– lassen Sie sich von Experten beraten,
– planen Sie auch den Einsatz von Schulungen.
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 42 / 58
42. Agenda
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Anforderungen vermessen und validieren
Verwalten von Anforderungen
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 43 / 58
43. Probleme des bisherigen RE-Ansatzes
Das Wissen des Auftraggebers gelangt über folgende
Transformationen hin zur Software
– Kundenvorstellung Anforderung (teils modelliert)
– Anforderung Software-Design
– Software-Design Programmcode
Ähnliches gilt für Tests
– Kundenvorstellung Anforderung
– Anforderung Test-Design
– Test-Design Testcode
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 44 / 58
44. Probleme der Transformationen
Diese Transformation ist zu komplex:
– Anforderung Software-Design
Gründe
– Die Anforderung ist zu wenig formalisiert bzw. „algorithmisiert“
– Hochmut der Entwickler (wir machen das eh noch mal anders)
– Code-Styles (Übersetzung ins Englische)
Folge
– Man findet die Anforderung nicht mehr im Code wieder
Qualitätseinfluss auf Korrektheit & Änderbarkeit
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 45 / 58
45. Probleme der Transformationen
Diese Transformation bereitet ähnliche Schwierigkeiten
– Anforderung Test-Design
Gründe
– Die Anforderungen enthalten zu wenige (meist gar keine)
Akzeptanzkriterien
Folge
– Der Tester muss die Sollwerte anhand der Anf. selbst ableiten
– Gefahr besteht, dass Testszenarien ganz vergessen werden
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 46 / 58
46. Behavior-Driven Development
Ziel
– Systematisierung der Transformation
Anforderung Software-Design bzw. Test-Design
Lösung
– RE und Entwickler erstellen zusammen Akzeptanzkriterien
und -tests (keine Unit-Tests!)
– Sie werden zum Bestandteil der Anforderungsspezifikation
(der User-Story)
– Sie haben ein einheitliches Format…
– Ziel: Automatisierung!
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 47 / 58
47. Given When Then
Ergänzend zur User-Story werden in der ubiquitären
Sprache sog. Szenarien formuliert:
As a: Rechenmuffel
I want: dass ein Rechner Zahlen addiert Story
In order to: vermeiden von dummen Kopfrechenfehlern
Scenario1: Addieren von Zahlen
Given: Rechenmuffel gab „27“ in den Rechner ein,
And: Rechenmuffel gab „39“ in den Rechner ein,
And: Rechenmuffel gab „11“ in den Rechner ein,
When: Rechenmuffel „Summe” drückt,
Then: muss Rechner „77“ als Ergebnis anzeigen.
Mehr dazu z.B. bei [Cucumber]
Scenario2: …
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 48 / 58
48. Testgetriebenes Requirements Engineering
Standard
1. Kunde wird interviewt
2. RE spezifiziert Anforderungen (und erwartet Schätzung)
3. Architekt / Entwickler erstellen Software-Design
4. Entwickler implementieren Software und (Unit- & Integrations-) Tests
5. QA testet meist von Hand Iteration zu 1, 2, 3, 4
6. Abnahmetests
Neu
1. Kunde wird interviewt
2. RE spezifiziert Anforderungen
3. RE spezifiziert zusammen mit Entwicklung Akzeptanztests (Iteration zu 1, 2)
4. Schätzung
5. Entwickler erstellen Software, Tests und Akzeptanztests (automatisierte)
6. QA testet Bugfix-Iteration zu 5 (idealisiert)
7. Abnahmetests (Ziel: starke Einsparung)
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 49 / 58
49. Fazit
Szenarien erhöhen die Qualitätsmerkmale Verständlichkeit,
Eindeutigkeit und Prüfbarkeit der Anforderungen signifikant
Mit Hilfe von neuen Frameworks lassen sich diese Strukturen
halbautomatisch in Code überführen
Das führt zu ausführbaren Akzeptanztests
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 50 / 58
50. Agenda
Motivation
Anforderungen aufnehmen
Dokumentieren von Anforderungen
Verwalten von Anforderungen
Anforderungen vermessen und validieren
Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter
Zusammenfassung
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 51 / 58
51. Warum ist RE wirtschaftlich?
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 52 / 58
52. Zusammenfassung
Einsparungen beim RE bewirken wenig Qualität bei hohen Kosten!
Eine gute Anforderungsanalyse erfordert spezielle RE-Fertigkeiten
– Mit direkten Auswirkungen auf die Softwarequalität
Gute Dokumentation erfordert Talent, Technik und Disziplin
– Sprachkonventionen, Modelle, neue Verfahren (BDD)
– Ziel: Formales und systematisches Vorgehen
– Gute RE-Management-Tools helfen nennenswert
Auch Anforderungen lassen sich auf Qualität prüfen
– Ziel: Qualitätssteigerungen durch kontinuierliches Messen
– Gute Anforderungsqualität gute Software-Qualität
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 53 / 58
53. Referenzen
[RuppSoph]
Chris Rupp, die SOPHISTen; Requirements-Engineering und –
Management, 5. Auflage, Hanser, 2009, ISBN: 978-3446418417
[VolereTools]
http://www.volere.co.uk/tools.htm
[Cucumber]
http://cukes.info
[EbertDumke]
Christof Ebert, Reiner Dumke; Software-Metriken in der Praxis,
Springer, 1996, ISBN: 978-3540603726
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 54 / 58
54. Referenzen
[Deißendorfer]
F. Deißendörfer (Diss. 2009),
Continuous Quality Control of Long-Lived Software Systems
http://mediatum2.ub.tum.de/doc/737380/737380.pdf
[Sanego]
http://www.sanego.de
[StandishGroup]
http://www.standishgroup.com
[bdw]
http://www.bild-der-wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id=32911270
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 55 / 58
55. Weiterführende Literatur
Klaus Pohl, Chris Rupp; Basiswissen Requirements Engineering;
2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646130
S. Robertson, J. Robertson; Mastering the Requirements Process;
Addison Wesley, 1999, ISBN: 978-0201360462
U. Vigenschow, B.Schneider, I. Meyrose; Soft Skills für Softwareent-
wickler; 2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646710
Rainer Gerlich; 111 Thesen zur erfolgreichen Softwareentwicklung;
1. Auflage, Springer, 2005, ISBN: 978-3540209102
Mr. Malcolm Tredinnick, Behavior Driven Development,
http://www.youtube.com/watch?v=XXHknWKuG2U
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 56 / 58
56. Bildnachweise
Folie 10: http://openclipart.org/image/800px/svg_to_png/169415/discussion.png
http://openclipart.org/image/800px/svg_to_png/169418/go-round.png
Folie 12: http://www.clker.com/cliparts/7/1/a/f/11949851591518961590dodge_neon_green_ganson.svg.med.png
Folie 17: http://www.clker.com/clipart-15442.html
Folie 34: http://openclipart.org/image/800px/svg_to_png/29647/QualityControl_rejected2.png
Folie 35: http://openclipart.org/image/800px/svg_to_png/29641/1267371838.png
Sämtliche hier nicht aufgeführte Bilder bzw. Grafiken wurden vom Autor selbst erstellt.
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 57 / 58
57. Abkürzungen
BDD Behavior-Driven Development
BPE Business Process Execution Language
BPMN Business Process Model and Notation
DDD Domain-Driven Design
DSL Domain-Specific Language
ER Entity Relationship
QA Quality Assurance
QS Qualitätssicherung
RE Requirements Engineering bzw. Requirements Engineer
TDD Test-Driven Development
UML Unified Modeling Language
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 58 / 58