Garbarge in - garbage out:Wie das Anforderungsmanagement dieSoftwarequalität beeinflusstiks Thementag„Mehr Softwarequalitä...
Seite 3 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWas stört Sie im IT-...
Seite 4 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnklare Anforderunge...
Seite 5 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen ...
Seite 6 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAufgaben zum Projekt...
Seite 7 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeobachtungstechnike...
Seite 8 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 1Ineffiziente ...
Seite 9 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnnötige Meetings & ...
Seite 10 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 2Faule Kompro...
Seite 11 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnzulässige Verallg...
Seite 12 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 3Designfehler...
Seite 13 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstEin Auto kann versc...
Seite 14 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnterschiede ziehen...
Seite 15 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 4Unklare Fach...
Seite 16 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnklare Fachbegriff...
Seite 17 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest PracticesÜberp...
Seite 18 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen...
Seite 19 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen dokum...
Seite 20 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNichts Halbes, nich...
Seite 21 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWie entsteht gute (...
Seite 22 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDokumentation in Fo...
Seite 23 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 5Unverständli...
Seite 24 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNegativbeispielAusz...
Seite 25 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 6Versteckte A...
Seite 26 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNegativbeispielAusz...
Seite 27 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDas Sophist-REgelwe...
Seite 28 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVorschlag: Satzscha...
Seite 29 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFormale Spezifikati...
Seite 30 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDie Mischung beider...
Seite 31 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeispiel
Seite 32 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforde...
Seite 33 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforde...
Seite 34 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforde...
Seite 35 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAbnahme: Der Nikola...
Seite 36 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWarum?Version 0.9– ...
Seite 37 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 7
Seite 38 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstErkenntnisSelbst ei...
Seite 39 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstSpecification by Ex...
Seite 40 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKlassisch: Stille P...
Seite 41 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstIdee des Acceptance...
Seite 42 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWer schreibt Akzept...
Seite 43 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAngenommen … falls ...
Seite 44 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBespiel mit JBehave...
Seite 45 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeispiel mit JBehav...
Seite 46 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVergleich der Entwi...
Seite 47 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFazitDas Erstellen ...
Seite 48 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest PracticesÜberp...
Seite 49 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen...
Seite 50 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen verme...
Seite 51 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKosten von RE-Fehle...
Seite 52 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstQualitätsmerkmale f...
Seite 53 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKonkrete Qualitätsm...
Seite 54 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstReview-Prüfmethoden...
Seite 55 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstPrüfungsnachbereitu...
Seite 56 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBezug zur Software-...
Seite 57 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest-PracticesWerde...
Seite 58 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen...
Seite 59 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen verwa...
Seite 60 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstErwartungen an ein ...
Seite 61 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstToolsWord & Excel: ...
Seite 62 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstTraceability - so w...
Seite 63 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstIdeale WeltRE-ToolS...
Seite 64 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDie RealitätSource ...
Seite 65 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVision: Traceabilit...
Seite 66 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest PracticesPrüfe...
Seite 67 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen...
Seite 68 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWarum ist RE wirtsc...
Seite 69 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstZusammenfassungEins...
Seite 70 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstReferenzen[RuppSoph...
Seite 71 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWeiterführende Lite...
Seite 72 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWeiterführende Lite...
Seite 73 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFolie 9: http://ope...
Seite 74 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFolie 33: http://ww...
Seite 75 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAbkürzungenATDD Acc...
Fragen?
www.iks-gmbh.com
Nächste SlideShare
Wird geladen in …5
×

Mehr Softwarequalität: Requirements Engineering

1.113 Aufrufe

Veröffentlicht am

Die Qualitätsanforderungen an Individualsoftware sind hoch. Sie soll funktional, zuverlässig, benutzerfreundlich und wartbar sein. Nicht zuletzt muss die Kosten-Nutzen-Relation stimmen.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.113
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
71
Aktionen
Geteilt
0
Downloads
11
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Mehr Softwarequalität: Requirements Engineering

  1. 1. Garbarge in - garbage out:Wie das Anforderungsmanagement dieSoftwarequalität beeinflusstiks Thementag„Mehr Softwarequalität – Ausgewählte Themen“23.04.2013Autor:Jörg Vollmer
  2. 2. Seite 3 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWas stört Sie im IT-Alltag am meisten?Befragt wurden 103 Software-Entwickler:1. Unklare Anforderungen 50.49 %2. Zu häufig & schnell wechselnde Anforderungen 40.78 %3. Schlechtes Projektmanagement 29.13 %4. Geringe oder fehlende Testabdeckung 28.16 %5. Unzureichende Kommunikation im Team 27.18 %6. Termindruck => Quick & Dirty 24.27 %7. Unverständlicher Code 21.36 %8. Unnötige Meetings & Diskussionen 19.42 %9. Ineffektive (Entwicklungs-) Prozesse 18.45 %10. Schlechte Teamstimmung 15.53 %Quelle: http://www.clean-code.info/umfrage
  3. 3. Seite 4 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnklare Anforderungen (50.49%)Requirements Engineering = Unklare Anforderungen beseitigen!Konstruktive Maßnahmen– Welche Fertigkeiten des RE helfen dabei?– Sieben typische Fallen beim RE– Welchen Einfluss haben Werkzeuge auf das RE?Analytische Maßnahmen– 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?
  4. 4. Seite 5 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen aufnehmenDokumentieren von AnforderungenDer Effekt von AkzeptanztestsAnforderungen vermessen und validierenVerwalten von AnforderungenZusammenfassung
  5. 5. Seite 6 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAufgaben zum ProjektbeginnEine initiale Bestandsaufnahme des Projektumfelds unverzichtbar– auch im agilen UmfeldWichtige Aufgaben sind– Ziele des Produkts und dessen Nutzen ermitteln– Ermitteln aller Stakeholder– Systemkontext und -grenzen bestimmen– Qualitätsanforderungen identifizieren… denn sonst bleiben sie unklar  Unklare Anforderungen!
  6. 6. Seite 7 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeobachtungstechnikenApprenticing: Der RE wird wie ein Lehrling eingearbeitet.Der RE lernt hierbei den Fachjargon kennenArbeitsschritte hinterfragen und ineffiziente Prozesse entdecken! ...Die (neue) Software ist eng mit den Geschäftsprozessen verwoben.
  7. 7. Seite 8 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 1Ineffiziente Meetings
  8. 8. Seite 9 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnnötige Meetings & Diskussionen (Platz 8)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 Moderationstechniken anwendenRisiko von falschen Entscheidungen  Software-Qualitäts. auch [bdw]
  9. 9. Seite 10 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 2Faule Kompromisse
  10. 10. Seite 11 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnzulässige VerallgemeinerungenStakeholder A:– Bei einem Fehler muss das System anhaltenStakeholder B:– Bei einem Fehler muss das System neustartenRE einigt sich mit A und B auf– Im Fehlerfall wird eine Ausnahmeroutine veranlasstFauler Kompromiss!Eine Mehrdeutigkeit in einem Anforderungsdokument steht oft für einenKonflikt bei den Stakeholdern (de Marco)
  11. 11. Seite 12 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 3Designfehler bei Geschäftsobjekten
  12. 12. Seite 13 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstEin Auto kann verschiedene Farben habenWas der RE verstand:Was der Kunde wollte:
  13. 13. Seite 14 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnterschiede ziehen sich durch alle SchichtenDatenbankDatenmodellService-SchichtBenutzeroberfläche Fachobjekte und deren Beziehungen identifizieren (DDD)Hohe Korrekturkosten ↔ es geht auf Kosten der Softwarequalität
  14. 14. Seite 15 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 4Unklare Fachbegriffe
  15. 15. Seite 16 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstUnklare FachbegriffeWas 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 -gewinnsDie Fachabteilung– Das, was die Bank verliert, wenn der Kunde bankrott ist. Fachbegriffe analysieren, Glossar, ubiquitäre Sprache
  16. 16. Seite 17 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest PracticesÜberprüfen Sie:– Wurden Ihrer 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?
  17. 17. Seite 18 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen aufnehmenDokumentieren von AnforderungenDer Effekt von AkzeptanztestsAnforderungen vermessen und validierenVerwalten von AnforderungenZusammenfassung
  18. 18. Seite 19 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen dokumentierenAnforderungen aufschreiben, das kann doch jeder.Aber: Meinungen zu bestehender Dokumentation– Versteht nur der, der‘s geschrieben hat– Ist nicht mehr aktuell– Die kniffligen Sonderfälle fehlen– Bis man dort die richtige Stelle findet– Das Wichtigste ist die Telefonliste von Ansprechpartnern→ Sehr viel Dokumentation wird gar nicht erst gelesen!
  19. 19. Seite 20 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNichts Halbes, nichts Ganzes
  20. 20. Seite 21 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWie entsteht gute (Anforderungs-) Dokumentation?Es empfiehlt sich die Verwendungeiner Standardgliederung / Template– RUP– IEEE 830– V-Modell– VolereEinleitungZweck,StakeholderReferenzenÜbersichtSystemumfeldArchitekturBenutzerRandbedingungenAnforderungenFunktionalitätQualitätsanforderungenAbnahmeAkzeptanzkriterienTestszenarienAnhangGlossarIndex
  21. 21. Seite 22 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDokumentation in Form von ProsatextVorteile– Wird von allen Beteiligten „verstanden“– Kein Stakeholder muss eine neue Notation erlernen– Themenunabhängig universell einsetzbarNachteile– Mehrdeutigkeit leicht möglich– Kann je nach Kontext verschieden interpretiert werden– Es gehört zum guten Ausdruck, die Wortwahl zu variieren Missverständnisse
  22. 22. Seite 23 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 5Unverständliche Formulierungen
  23. 23. Seite 24 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNegativbeispielAuszug aus eine Spezifikation:– FunktionalitätIn einer „Liste“ über alle noch nicht zugeordneten Kunden werden alleKunden aller Typen ungleich Typ 0 angezeigt, die bisher keinemKunden vom Typ 0 zugeordnet wurden. …Satzstruktur zu komplex
  24. 24. Seite 25 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 6Versteckte Annahmen
  25. 25. Seite 26 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstNegativbeispielAuszug aus eine Spezifikation:– FunktionalitätIn einer „Liste“ über alle noch nicht zugeordneten Kunden werden alleKunden aller Typen ungleich Typ 0 angezeigt, die bisher keinemKunden vom Typ 0 zugeordnet wurden. …Fragen:– Was ist die „Liste“– Wo befindet sich diese?– Wer ordnet was wem zu?– Was ist Typ 0?
  26. 26. Seite 27 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDas Sophist-REgelwerkPassiv 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, Warum, …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.
  27. 27. Seite 28 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVorschlag: SatzschablonenBeispiel: Die User-StoryAgile Methoden verwenden sog. User-StoriesAufbau:– As a <role> I want <goal/desire> so that <benefit>– Als ein Autor will ich meine Präsentation speichern können,damit ich nicht noch einmal alles eingeben muss.Das „damit“ hinterfragt den GeschäftswertMan beantwortet somit das „Wer“, „Was“ und „Warum / Wozu“
  28. 28. Seite 29 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFormale Spezifikationen, ModelleBeispiele: 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 generierenNachteile– Sind nicht universell einsetzbar– Syntax / Semantik muss vom Leser verstanden bzw. erlernt werden– Zusätzliche Tools müssen erlernt werden  evtl. Schulungen
  29. 29. Seite 30 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDie Mischung beider ergänzt sich positivVorteile– Modelle können durch natürlich-sprachliche Ergänzungenverständlicher werden– Prosatext kann durch Modelle eindeutiger und exakter werdenBeispiel: Mathematische Texte– Aus jeder nicht-negativen reellen Zahl lässt sich die Wurzel ziehen– yxxyyx  2:0giltDannIR.,seienEsHäufig verschwindet die (Beweis-) Idee hinter der Abstraktion
  30. 30. Seite 31 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeispiel
  31. 31. Seite 32 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforderungen - ProsaDer Nikolaus verteilt am 6.12. eines jeden Jahres Geschenke an Kinder.Die Geschenke sind unterschiedlich viel wert.Jedes Kind bekommt ein oder mehrereGeschenke.Ziel: Der Summenwert der Geschenke sollbei jedem Kind möglichst gleich sein.Aufgabe: Eine Software soll bei Eingabe derKinderzahl und der Geschenkwerte eine gerechte Verteilung berechnen.
  32. 32. Seite 33 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforderungen – Illustriert≈+ ≈+ +……
  33. 33. Seite 34 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFunktionale Anforderungen - FormalVoraussetzung– Gegeben seien natürliche Zahlen– und eine Preisfunktion .Aufgabe– Finde eine Partitionierung , sodassminimal wird, wobei .},...,1{...,,1nNmii 0 mnNI},...,1{: np)()(maxmji1jPiP iNkkpiP )(:)(
  34. 34. Seite 35 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAbnahme: Der Nikolaus testet und …Abnahme: … war nicht ganz glücklich.
  35. 35. Seite 36 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWarum?Version 0.9– Die Lösungen waren anfangs z.T. völlig falsch.• Der Entwickler hatte die Idee hinter der Formel zunächst nicht ganzverstanden.Version 1.0– Die Verteilung der Geschenke gefiel dem Nikolaus gar nicht:• Manche Kinder bekamen viele „wertlose“ Geschenke.• Die Geschenke sollten sich doch gleichmäßig verteilen!Version 1.1– Der katastrophale Fall „Kinderheim“:• 50 Geschenke, 20 Kinder:• Die Anwendung antwortet nicht mehr!
  36. 36. Seite 37 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFalle 7
  37. 37. Seite 38 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstErkenntnisSelbst eine vollständigeund widerspruchsfreieSpezifikationen garantiertkeine gute Software!Doch wie lässt sich dasProblem bekämpfen?
  38. 38. Seite 39 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstSpecification by ExampleZwei Kinder, 6 Geschenke im Wert von 1, 2, 2, 4, 6, 9 Euro– Lösung: 2 + 4 + 6 = 12 = 1 + 2 + 9– Ungültig: 1 + 4 + 6 = 11 < 13 = 2 + 2 + 9Zwei Kinder, 6 Geschenke im Wert von 1, 2, 2, 4, 5, 9 Euro– Lösung: 2 + 4 + 5 = 11 < 12 = 1 + 2 + 9Zwei Kinder, 10 Geschenke im Wert von 1, 1, 1, 1, 1, 1, 1, 1, 4, 4 Euro– Lösung: 1 + 1 + 1 + 1 + 4 = 8 = 1 + 1 + 1 + 1 + 4– Schlecht: 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8 = 4 + 420 Kinder, 50 Geschenke im Wert von jeweils 1 Euro– Lösung: 10 Kinder: 1 + 1, 10 Kinder: 1 + 1 + 1 usw...
  39. 39. Seite 40 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKlassisch: Stille PostKlassisches Vorgehen:Kunde Requirements EngineerDer RE abstrahiert und formuliert ein Spezifikation.Entwickler SoftwareTester TestfälleKunde Abnahmeanhand von Beispielenanhand der Spezifikationanhand der Spezifikationanhand von Akzeptanzkriterien
  40. 40. Seite 41 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstIdee des Acceptance Test Driven DevelopmentBeispiele TestsAnforderungenwerden zuverifizierenreflektieren
  41. 41. Seite 42 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWer schreibt Akzeptanztests?RE und Entwickler erstellen zusammen Akzeptanztests.Diese werden in natürlicher Sprache verfasst.Vorrangiges Ziel ist ein gemeinsames Verständnis der Anforderung!Schön wäre ein einheitliches Format (Satzschablone)…...mit dem Ziel, daraus Test-Code generieren zu können.Dies ist die Idee das sog. Behavior Driven Development (BDD)
  42. 42. Seite 43 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAngenommen … falls … dann …Ergänzend zur User-Story werden sog. Scenarios formuliert(zusammen bilden sie ein sog. Feature)User StoryAls ein Nikolauswill ich dass meine Geschenke an Kinder gerecht verteilt werden,um Enttäuschungen der Kinder zu vermeiden.Scenario1: Zwei Kinder, vier GeschenkeAngenommen Nikolaus gibt »2« beim Feld Kinder ein,und Nikolaus gibt »1, 2, 3, 4« beim Feld Geschenke ein.Falls Nikolaus auf Rechnen drückt,dann muss im Feld Ergebnis erscheinen:»Kind 1: 1 + 4, Kind 2: 2 + 3«
  43. 43. Seite 44 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBespiel mit JBehaveDie Datei nikolaus.story:Die Test-Klasse:Given Nikolaus gibt 2 beim Feld Kinder einGiven Nikolaus gibt 1,2,3,4 beim Feld Geschenke einWhen Nikolaus auf Rechnen druecktThen muss im Feld Ergebnis erscheinen: Kind 1: 1 + 4 = 5, Kind 2: 2 + 3 = 5@Given("Nikolaus gibt $kinder beim Feld Kinder ein")public void eingabeKinder(int kinder) {this.kinder = kinder;}@Given("Nikolaus gibt $geschenke beim Feld Geschenke ein")public void eingabeGeschenke(List<Integer> geschenke) {this.geschenke = geschenke;}@When("Nikolaus auf Rechnen drueckt")public void rechnenDruecken() {rechner = new Rechner(kinder, geschenke);solution = rechner.calculate();}@Then("muss im Feld Ergebnis erscheinen: $ergebnis")public void dasErgebnisMussSein(String ergebnis) {String loesung = rechner.solutionToString(solution);Assert.assertEquals(ergebnis, loesung);}s. auch [Jbehave]und [Cucumber]
  44. 44. Seite 45 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBeispiel mit JBehaveDie Log-Datei im Erfolgsfall:Die Log-Datei im Fehlerfall:Running story com/javacook/nikolaus/nikolaus.storyScenario:Given Nikolaus gibt 2 beim Feld Kinder einGiven Nikolaus gibt 1,2,3,4 beim Feld Geschenke einWhen Nikolaus auf Rechnen druecktThen muss im Feld Ergebnis erscheinen: Kind 1: 1 + 4 = 5, Kind 2: 2 + 3 = 9 (FAILED)(org.junit.ComparisonFailure:expected:<... 5, Kind 2: 2 + 3 = [9]> but was:<... 5, Kind 2: 2 + 3 = [5]>)Running story com/javacook/nikolaus/nikolaus.storyScenario:Given Nikolaus gibt 2 beim Feld Kinder einGiven Nikolaus gibt 1,2,3,4 beim Feld Geschenke einWhen Nikolaus auf Rechnen druecktThen muss im Feld Ergebnis erscheinen: Kind 1: 1 + 4 = 5, Kind 2: 2 + 3 = 5
  45. 45. Seite 46 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVergleich der Entwicklung: klassisch & BDDKunde wird interviewtRE spezifiziert AnforderungenImplementierungQA testetAuslieferung & AbnahmeKunde wird interviewtRE spezifiziert AnforderungenRE & Entwickl. → AkzeptanztestImplementierungQA & autom. AkzeptanztestsAuslieferung & Abnahme
  46. 46. Seite 47 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFazitDas Erstellen von Akzeptanztests erzwingt eine detailliertereAuseinandersetzung bereits zu Beginn.Es fördert die Kommunikation zwischen Auftraggeber, RE undEntwicklungEs entstehen (nebenbei) automatisierte Tests,die das System unmissverständlich dokumentieren.
  47. 47. Seite 48 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest 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?– Enthalten sie Akzeptanzkriterien?– Sind in Ihren Dokumenten ausreichend Musterfälle enthalten?
  48. 48. Seite 49 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen aufnehmenDokumentieren von AnforderungenDer Effekt von AkzeptanztestsAnforderungen vermessen und validierenVerwalten von AnforderungenZusammenfassung
  49. 49. Seite 50 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen vermessen und validierenWarum?– 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…
  50. 50. Seite 51 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKosten von RE-Fehlern bezogen auf Projektphasen
  51. 51. Seite 52 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstQualitätsmerkmale für AnforderungenWann ist eine Anforderungsspezifikation gut?– Aktualität (insb. Kundenwunsch-konform)– Eindeutigkeit– Widerspruchsfreiheit– Identifizierbarkeit– Vollständigkeit– Änderbarkeit– Prüfbarkeit– Realisierbarkeit– Verständlichkeit
  52. 52. Seite 53 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstKonkrete Qualitätsmetriken1wobei,100# wvugssätzeAnforderunBEwBPEvPEueitEindeutigksindtbeantworteJAmitzuFragenallefalls,1sonst,0)(),(),( iAiii ABEABPEAPE tndeutigkeiBegriffseikeitteindeutigBezugspunkkeitteindeutigProzessworBEBPEPEnach [RuppSoph]
  53. 53. Seite 54 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstReview-PrüfmethodenStellungnahme– Eine weitere Person wird gebeten, das Dokument zu prüfenInspektion– 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
  54. 54. Seite 55 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstPrüfungsnachbereitungErgebnisse standardisiert dokumentierenBei Unterschreitungen der Toleranzgrenze– Ursachen bestimmen!– Prozesse anpassen– Evtl. nachschulen
  55. 55. Seite 56 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBezug zur Software-Qualität (exemplarisch)Funktionalität Korrektheit WartbarkeitAktualität xEindeutigkeit xWiderspruchsfreiheit xIdentifizierbarkeit xVollständigkeit xÄnderbarkeit xPrüfbarkeit x xRealisierbarkeit xVerständlichkeit x x
  56. 56. Seite 57 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest-PracticesWerden Qualitätsprüfungen bzgl. der Anforderungen bei Ihnendurchgeführt?– Planen Sie den Prozess sorgfältig und passen ihn gezielt auf IhreBedürfnisse an.– Qualitätsprüfungen sind bislang noch nicht die Regel.– Tun Sie es, nutzen Sie den Vorsprung!
  57. 57. Seite 58 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen aufnehmenDokumentieren von AnforderungenDer Effekt von AkzeptanztestsAnforderungen vermessen und validierenVerwalten von AnforderungenZusammenfassung
  58. 58. Seite 59 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAnforderungen verwaltenIst 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 Produkts (erwartungsgemäß) in Betrieb ist.Die Wahl des(r) richtigen Tools ist außerordentlich wichtig!Entscheidend für das Software-Qualitätsmerkmal Wartbarkeit
  59. 59. Seite 60 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstErwartungen an ein Management-ToolNotwendige 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
  60. 60. Seite 61 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstToolsWord & Excel: immer noch üblich– Grund: Wird von jedem beherrschtIm Kommen: Jira & Wikis– Grund: Einfaches Erlernen, Einfache Bedienung– Offen für den Aufbau einer WerkzeugketteAuswahl verschiedener RE-Tools (alphabetisch):– Caliber RM Contour Cradle– DOORS DESIRe Enterprise Architect– HP Quality Center IrQA Lotos Notes– OptimalTrace ProR RequisitePro– YAKINDU …[VolereTools] enthält eines weitaus größere Übersicht
  61. 61. Seite 62 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstTraceability - so wichtig und doch kaum vorhandenTypische Wartungsaufgabe:– Im Risiko-Report vom 31.3 stimmt das Ausfalldatum nicht.Findet der Entwickler folgende Informationen effizient?– Woher stammt das Datum (Eingabe, Import)?– In welchen Klassen wird es verarbeitet?– Welche Datenbankfelder sind involviert?– Welche fachlichen Abhängigkeiten gibt es zu anderen Daten?– Wie groß sind die Risiken von Änderungen?– …
  62. 62. Seite 63 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstIdeale WeltRE-ToolSuchergebnisSourceVerarbeitungLösungRE-ToolAnforderungRE-Tool"Ausfalldatum"ModellierungFachklassen
  63. 63. Seite 64 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstDie RealitätSource DB-ToolSource-Code-Analysen können das zig-fache an Zeit kosten!WordX
  64. 64. Seite 65 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstVision: Traceability innerhalb der WerkzeugketteAnforderungs-managementIDEProjekt-managementBuild-ManagementIssue TrackingModellierungPersistenzDeliveryCollaborationBP-ManagementMonitoringConfiguration-Management
  65. 65. Seite 66 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstBest PracticesPrüfen Sie, ob bei Ihnen die passenden Werkzeugkette im Einsatzist.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.
  66. 66. Seite 67 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAgendaAnforderungen aufnehmenDokumentieren von AnforderungenDer Effekt von AkzeptanztestsAnforderungen vermessen und validierenVerwalten von AnforderungenZusammenfassung
  67. 67. Seite 68 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWarum ist RE wirtschaftlich?
  68. 68. Seite 69 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstZusammenfassungEinsparungen beim RE bewirken wenig Qualität bei hohen Kosten!Eine gute Anforderungsanalyse erfordert spezielle RE-Fertigkeiten– mit direkten Auswirkungen auf die SoftwarequalitätGute Dokumentation erfordert Talent, Technik und Disziplin– Sprachkonventionen, Modelle, neue Verfahren (BDD)– Ziel: Formales und systematisches Vorgehen– Gute RE-Management-Tools helfen nennenswertAuch Anforderungen lassen sich qualitätsprüfen– Ziel: Qualitätssteigerungen durch kontinuierliches Messen– Qualität bei den Anforderungen  Software-Qualität
  69. 69. Seite 70 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstReferenzen[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[Jbehave]http://jbehave.org[bdw]http://www.bild-der-wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id=32911270
  70. 70. Seite 71 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWeiterführende LiteraturKlaus Pohl, Chris Rupp; Basiswissen Requirements Engineering;2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646130S. Robertson, J. Robertson; Mastering the Requirements Process;Addison Wesley, 1999, ISBN: 978-0201360462U. Vigenschow, B.Schneider, I. Meyrose; Soft Skills für Softwareent-wickler; 2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646710Rainer Gerlich; 111 Thesen zur erfolgreichen Softwareentwicklung;1. Auflage, Springer, 2005, ISBN: 978-3540209102
  71. 71. Seite 72 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstWeiterführende LiteraturMr. Malcolm Tredinnick, Behaviour Driven Development,http://www.youtube.com/watch?v=XXHknWKuG2UGojko Adzic; Bridging the Communication Gap: Specification by Exampleand Agile Acceptance Testing;Neuri Limited, 2009, ISBN: 978-0955683619Gojko Adzic; Specification by Example: How Successful Teams Deliverthe Right Software;Manning, Juni 2011, ISBN: 978-1617290084
  72. 72. Seite 73 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFolie 9: http://openclipart.org/image/800px/svg_to_png/169415/discussion.pnghttp://openclipart.org/image/800px/svg_to_png/169418/go-round.pngFolie 13: http://www.clker.com/cliparts/7/1/a/f/11949851591518961590dodge_neon_green_ganson.svg.med.pngFolie 19: http://www.clker.com/clipart-15442.htmlFolie 29: http://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Lage-_und_Verhältnisbestimmung_Zahn.jpg/800px-Lage-_und_Verhältnisbestimmung_Zahn.jpgFolie 32: http://openclipart.org/detail/1956/santa-and-his-bag-by-johnny_automaticFolie 33: http://www.wpclipart.com/people/children/girls/girls_3/girl_with_pigtails.png.htmlhttp://www.wpclipart.com/people/children/boys/little_boy.png.htmlhttp://www.wpclipart.com/holiday/Christmas/gifts/gift_box_silver.png.htmlhttp://www.wpclipart.com/holiday/Christmas/gifts/gift_black.png.html…Bildernachweise
  73. 73. Seite 74 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstFolie 33: http://www.wpclipart.com/holiday/Christmas/gifts/gifts_w_tags.png.htmlhttp://www.wpclipart.com/holiday/Christmas/gifts/gift_box_blue_ribbon/package_blue_ribbon_and_blue.png.htmlhttp://www.wpclipart.com/holiday/valentines/candy_and_gifts/valentine_gift_box.png.htmlFolie 55: http://openclipart.org/detail/29647/quality-control:-rejected-by-stijnbernFolie 64: http://openclipart.org/image/800px/svg_to_png/94723/db.pngSämtliche hier nicht aufgeführte Bilder bzw. Grafiken wurden vom Autor selbst erstellt.Bildernachweise
  74. 74. Seite 75 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusstAbkürzungenATDD Acceptance Test Driven DevelopmentBDD Behavior Driven DevelopmentBPE Business Process Execution LanguageBPMN Business Process Model and NotationDDD Domain-Driven DesignDSL Domain-Specific LanguageER Entity RelationshipQA Quality AssuranceQS QualitätssicherungRE Requirements Engineering bzw. Requirements EngineerTDD Test-Driven DevelopmentUML Unified Modeling Language
  75. 75. Fragen?
  76. 76. www.iks-gmbh.com

×