g        GFU Cyrus AG
Ihr Partner für IT Schulung




      "Semicolon" Vortragsreihe bei der GFU
                        ...
Entwicklung von Informationssystemen
29 Jahre am Markt
~35 Mitarbeiter
Beratung und Entwicklung
Konventionelle und        ...
Seit 1998 im Bereich Java:
   50+ Beratungs- und Entwicklungsprojekte
   Konzeption und Entwicklung
   30+ Seminartitel
  ...
IT-Systeme und Prozesse
Beratung, Schulung, Entwicklung
100+ Mitarbeiter
www.involva-gruppe.de
Aufgabe: Entwicklung eines BDE-Systems


            Walzstrasse


                          Endkontrolle   Betriebsdaten
...
Aufgabe: Entwicklung eines BDE-Systems


                                       Controlling
                              ...
Professionelle Softwareanforderungsanalyse
Ausgangssituation

  Beginn eines Softwareprojektes

  Wir wissen nicht (genau), was der Kunde wünscht

  Der Kunde weiß e...
Ziele der Anforderungsanalyse

  Was?
    Wünsche klären
    Zusammenhänge und Abhängigkeiten aufdecken
    Sinnhaftigkeit...
Ziele der Anforderungsanalyse

  Wie?
     Benutzerinterface skizzieren
     Komponenten identifizieren
     Komplexität d...
Systemkontext
  Beschreibt die Umgebung des
  geplanten Systems
      Akteure
      Fremdsysteme
      Schnittstellen
Use Cases als zentrale Analyseelemente

                  Perfor-    UI Anfor-
                  mance      derungen
     ...
Use Cases

  Beschreiben Interaktion zwischen Akteur und System
  Haben einen Auslöser und ein Ziel
  Benutzersicht
  Unte...
Use Cases

  Alistair Cockburn: Use Cases effektiv erstellen.

  Werkzeug: Word (o.ä.)!
    einfach
    allgegenwärtig
   ...
Use Cases
Use Cases
  Formalität
     zwanglos (casual)
     ausformuliert (fully dressed)

  Umfeld
  (Context of Use)

  Bereich (...
Use Cases

  Beschreibung
     Ebene (Level)




     Akteure (Actors)
     Interessenten (Stakeholders)
Use Cases

  Invarianzen
     Vorbedingungen
     (Preconditions)
     Minimales/Erfolgsergebnis (Minimal/Success Guarante...
Use Cases

  Ergänzende Informationen
     Technische Variationen (Technology & Data Variations List)
     Zusätzliche Inf...
Use Cases

   Jeder Use Case muss einfach zu lesen sein
   Ein-Satz-Anweisungen bei den einzelnen Schritten
   (Aktiv, kei...
Use Cases

   Immer – neben dem primären Akteur und seinem Ziel – die
   Garantien für weitere Interessenten berücksichtig...
Strukturierung der Use Cases mittels Mind Maps

  Bilden logischer Gruppen
  Gesamtüberblick
  Identifizierung kritischer ...
Strukturierung der Use Cases mittels Mind Maps
Anforderungsdokumente

  Use Cases sind Anforderungsdokumente
     weitere formelle Umwandlung sollte nicht nötig sein

  ...
In/Out-Liste

  Festhalten, was zur Aufgabe gehört und was nicht
Glossar

  Verbindliche Definition fachlicher und technischer Begriffe
Use Cases mittels UML modellieren

  Erfassen und Verlinken der Use Cases
  Erfassen und Zuordnen der Akteure

  mögliche ...
Use Cases mittels UML modellieren

  Ergebnis:
  alle Akteure und Use Cases in einem
  (oder mehreren) Use-Case-
  Diagram...
Analyse-Komponenten mittels UML modellieren

  Auf Basis der Use Cases und weiterer Anforderungen aus dem
  Pflichtenheft:...
Analyse-Komponenten mittels UML modellieren

  Pro Komponente:
     Komponentenstruktur
     Anwendungsfall-Abdeckung
    ...
Analyse-Komponenten mittels UML modellieren

  Komponentenstruktur
    angebotene Services einer
    Komponente darstellen...
Analyse-Komponenten mittels UML modellieren

  Anwendungsfall-Abdeckung festhalten
    in welchen Use Cases wird die Kompo...
Analyse-Komponenten mittels UML modellieren

  Domänenmodell erstellen
Analyse-Komponenten mittels UML modellieren

  Jede Klasse, jedes Attribut, jede Relation fachlich dokumentieren
  und kom...
GUI-Prototyp
Eingliederung in den Requirements-Rahmen

  Funktionale Anforderungen
  Glossar
  UI-Anforderungen
  Nichtfunktionale Anfo...
Unsere Erfahrungen: Use Cases
  Einfacher Start mit Überblicks-Use-Cases
  (Tagesablauf eines typischen Mitarbeiters o.ä.)...
Unsere Erfahrungen: Komponentenmodellierung

  UML-Tools bieten unterschiedlich tiefe Unterstützung
    UML-Diagramme reic...
Danke für Ihre Aufmerksamkeit!
      Haben Sie Fragen?
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung
Nächste SlideShare
Wird geladen in …5
×

Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung

15.782 Aufrufe

Veröffentlicht am

Der Erfolg von Softwareentwicklungsprojekten hängt maßgeblich von einer guten Anforderungsanalyse ab. Je später Konzeptionsfehler erkannt werden, desto höher sind die Kosten der erforderlichen Korrekturen. Wir stellen in diesem Vortrag dar, wie durch eine strukturierte und dabei nicht zu formale Vorgehensweise frühzeitig sichergestellt werden kann, dass die später entwickelte Anwendung den Wünschen des Auftraggebers entspricht und zudem eine verlässliche Basis für die Einschätzung des Entwicklungsaufwands entsteht.

Im Vortrag verdeutlichen wir die Vorgehensweise an dem Beispiel einer Konzeption eines Systems zur Betriebsdatenerfassung und Leistungsentlohnung. Mit einem Mix aus Office- und UML-Werkzeugen konnte hier in kurzer Zeit ein gemeinsames Verständnis mit der Fachabteilung des Kunden erreicht werden und die formale Basis für die nachfolgende Realisierung des Systems geschaffen werden.

Auswahl von Werkzeugen aus dem Office- und Modellierungsumfeld
Halbformale Beschreibung von Anwendungsfällen
Erstellung eines fachlichen und technischen Glossars
Komponentenmodellierung mit UML
Entwicklung eines Anwendungs-Prototyps

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
15.782
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
46
Aktionen
Geteilt
0
Downloads
94
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung

  1. 1. g GFU Cyrus AG Ihr Partner für IT Schulung "Semicolon" Vortragsreihe bei der GFU Vortrag am Dienstag, 4. November 2008 Thema Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung Einführung Peter Hecker, GFU Cyrus AG Vortrag Dirk Weil, Geschäftsführer GEDOPLAN
  2. 2. Entwicklung von Informationssystemen 29 Jahre am Markt ~35 Mitarbeiter Beratung und Entwicklung Konventionelle und GEDOPLAN neue Technologien Objektorientierte Maßgeschneiderte Lösungen Softwareentwicklung Standardsoftware www.gedoplan.de SAP® SOA Java .NET
  3. 3. Seit 1998 im Bereich Java: 50+ Beratungs- und Entwicklungsprojekte Konzeption und Entwicklung 30+ Seminartitel Java / Java EE GEDOPLAN Diverse App.-Server Objektorientierte Glassfish Softwareentwicklung IBM WebSphere JBoss SAP® Oracle WebLogic Java SAP NetWeaver SOA .NET
  4. 4. IT-Systeme und Prozesse Beratung, Schulung, Entwicklung 100+ Mitarbeiter www.involva-gruppe.de
  5. 5. Aufgabe: Entwicklung eines BDE-Systems Walzstrasse Endkontrolle Betriebsdaten Säge Betriebsdaten - Gutmenge - Fertigungszeit Betriebsdaten - Gutmenge - Störzeit - Fertigungszeit - Gutmenge - Gewichte - Störzeit - Fertigungszeit Instandhaltung - Chargennummern - Gewichte - Störzeit Presse - … Chargennummern - - Gewichte - … Chargennummern - -… Werkzeug- fertigung
  6. 6. Aufgabe: Entwicklung eines BDE-Systems Controlling Produktions- Betriebsdaten planung Betriebsdaten - Gutmenge - Fertigungszeit Betriebsdaten - Gutmenge - Störzeit - Fertigungszeit - Gutmenge - Gewichte - Störzeit - Fertigungszeit - Chargennummern - Gewichte - Störzeit - … Chargennummern - - Gewichte - … Chargennummern - -… Prämien- lohn- ermittlung Personal- wirtschaft
  7. 7. Professionelle Softwareanforderungsanalyse
  8. 8. Ausgangssituation Beginn eines Softwareprojektes Wir wissen nicht (genau), was der Kunde wünscht Der Kunde weiß es – auch nicht! Los!
  9. 9. Ziele der Anforderungsanalyse Was? Wünsche klären Zusammenhänge und Abhängigkeiten aufdecken Sinnhaftigkeit verifizieren Machbarkeit sicher stellen
  10. 10. Ziele der Anforderungsanalyse Wie? Benutzerinterface skizzieren Komponenten identifizieren Komplexität darstellen Basis für Aufwandsschätzung erstellen
  11. 11. Systemkontext Beschreibt die Umgebung des geplanten Systems Akteure Fremdsysteme Schnittstellen
  12. 12. Use Cases als zentrale Analyseelemente Perfor- UI Anfor- mance derungen UI Security Design Use Daten- Cases Business- formate regeln I/O Protokolle …
  13. 13. Use Cases Beschreiben Interaktion zwischen Akteur und System Haben einen Auslöser und ein Ziel Benutzersicht Unterschiedliche Granularitäten
  14. 14. Use Cases Alistair Cockburn: Use Cases effektiv erstellen. Werkzeug: Word (o.ä.)! einfach allgegenwärtig Integration mit anderen Tools Halbformale Struktur
  15. 15. Use Cases
  16. 16. Use Cases Formalität zwanglos (casual) ausformuliert (fully dressed) Umfeld (Context of Use) Bereich (Scope) Unternehmen System Subsystem
  17. 17. Use Cases Beschreibung Ebene (Level) Akteure (Actors) Interessenten (Stakeholders)
  18. 18. Use Cases Invarianzen Vorbedingungen (Preconditions) Minimales/Erfolgsergebnis (Minimal/Success Guarantee) Detailbeschreibung Auslöser (Trigger) Haupt-Erfolgsszenario (Main Success Scenario) Erweiterungen (Extensions)
  19. 19. Use Cases Ergänzende Informationen Technische Variationen (Technology & Data Variations List) Zusätzliche Informationen (Related Information)
  20. 20. Use Cases Jeder Use Case muss einfach zu lesen sein Ein-Satz-Anweisungen bei den einzelnen Schritten (Aktiv, kein Passiv verwenden) Große Komplexität auf Unter-UCs verteilen Immer Akteur nennen Immer das Ziel nennen auf welchem Level sind wir? wo sind die Benutzerziele auf „Meeresspiegel-Ebene“?
  21. 21. Use Cases Immer – neben dem primären Akteur und seinem Ziel – die Garantien für weitere Interessenten berücksichtigen Vorbedingungen festhalten (Kandidaten: Ergebnis eines höheren/vorherigen UseCase!) Immer zuerst das Haupt-Erfolgsszenario beschreiben, danach alle Fehler-Szenarien / Ausnahmen / Variationen GUI maximal als weitere Information beschreiben
  22. 22. Strukturierung der Use Cases mittels Mind Maps Bilden logischer Gruppen Gesamtüberblick Identifizierung kritischer UCs Offene Fragen Klärungsbedarf / Widersprüche Erfassungsfortschritt Reviewstand
  23. 23. Strukturierung der Use Cases mittels Mind Maps
  24. 24. Anforderungsdokumente Use Cases sind Anforderungsdokumente weitere formelle Umwandlung sollte nicht nötig sein Use Cases definieren nicht alle Anforderungen externe Schnittstellen Datenformate Business-Regeln komplexe Formeln
  25. 25. In/Out-Liste Festhalten, was zur Aufgabe gehört und was nicht
  26. 26. Glossar Verbindliche Definition fachlicher und technischer Begriffe
  27. 27. Use Cases mittels UML modellieren Erfassen und Verlinken der Use Cases Erfassen und Zuordnen der Akteure mögliche Alternative: Erfassung der Use Cases in UML- Tool statt in Word etc. technisch komplexer, Review/Export aufwendiger
  28. 28. Use Cases mittels UML modellieren Ergebnis: alle Akteure und Use Cases in einem (oder mehreren) Use-Case- Diagrammen erfasst
  29. 29. Analyse-Komponenten mittels UML modellieren Auf Basis der Use Cases und weiterer Anforderungen aus dem Pflichtenheft: Entitäten identifizieren Attribute und Operationen identifizieren Komponenten bilden Entitäten und darauf operierende Services zu Komponenten zusammenfassen Service-Schnittstellen definieren Komponenten hierarchisch strukturieren
  30. 30. Analyse-Komponenten mittels UML modellieren Pro Komponente: Komponentenstruktur Anwendungsfall-Abdeckung Domänenmodell Gesamtarchitektur als Hierarchie der Komponenten erstellen
  31. 31. Analyse-Komponenten mittels UML modellieren Komponentenstruktur angebotene Services einer Komponente darstellen Abhängigkeiten zwischen den Komponenten darstellen
  32. 32. Analyse-Komponenten mittels UML modellieren Anwendungsfall-Abdeckung festhalten in welchen Use Cases wird die Komponente verwendet? uc Anw endungsfälle RapportscheinMg... UC-046 UC-047 Rapportschein Rapportscheine abschließen freigeben Vorgesetzter (aufgrund 1. Mann AP) UC-045 UC-044 Rapportschein Rapportschein korrigieren anzeigen UC-049 Rapportschein plausibilisieren Leistungslohnermittlung UC-071 Export Rapportscheine UC-055 Leistungslohnberechnung
  33. 33. Analyse-Komponenten mittels UML modellieren Domänenmodell erstellen
  34. 34. Analyse-Komponenten mittels UML modellieren Jede Klasse, jedes Attribut, jede Relation fachlich dokumentieren und kommentieren Per Template aus dem Modell vollständige Komponentenbeschreibung generieren Bestandteile des Pflichtenheftes (u.a.): Beschreibung des Systems in Form von UseCases Entstandenes Analyse-Modell in Form der generierten Komponentenbeschreibung
  35. 35. GUI-Prototyp
  36. 36. Eingliederung in den Requirements-Rahmen Funktionale Anforderungen Glossar UI-Anforderungen Nichtfunktionale Anforderungen Benutzermodell und Berechtigungskonzept Systemarchitektur, Komponentenbeschreibung Hard- und Software-Infrastruktur
  37. 37. Unsere Erfahrungen: Use Cases Einfacher Start mit Überblicks-Use-Cases (Tagesablauf eines typischen Mitarbeiters o.ä.) Use Cases können zum Prototyping genutzt werden Word als Use-Case-Tool Einfaches, allseitig akzeptiertes Format Bietet viele Freiheitsgrade Markierungen (z.B. für offene Punkte) Diagramme, Images (z.B. zur Verdeutlichung) Verknüpfungen, Hyperlinks Review, formale Abnahme nicht unproblematisch
  38. 38. Unsere Erfahrungen: Komponentenmodellierung UML-Tools bieten unterschiedlich tiefe Unterstützung UML-Diagramme reichen Dokumentengenerierung sehr hilfreich Codegenerierung problematisch Gute Strukturierung der Software zur Visualisierung / Dokumentation zur Abschätzung des Realisierungsaufwandes
  39. 39. Danke für Ihre Aufmerksamkeit! Haben Sie Fragen?

×