SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
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
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
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
IT-Systeme und Prozesse
Beratung, Schulung, Entwicklung
100+ Mitarbeiter
www.involva-gruppe.de
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
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
Professionelle Softwareanforderungsanalyse
Ausgangssituation

  Beginn eines Softwareprojektes

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

  Der Kunde weiß es – auch nicht!




                                        Los!
Ziele der Anforderungsanalyse

  Was?
    Wünsche klären
    Zusammenhänge und Abhängigkeiten aufdecken
    Sinnhaftigkeit verifizieren
    Machbarkeit sicher stellen
Ziele der Anforderungsanalyse

  Wie?
     Benutzerinterface skizzieren
     Komponenten identifizieren
     Komplexität darstellen
     Basis für Aufwandsschätzung erstellen
Systemkontext
  Beschreibt die Umgebung des
  geplanten Systems
      Akteure
      Fremdsysteme
      Schnittstellen
Use Cases als zentrale Analyseelemente

                  Perfor-    UI Anfor-
                  mance      derungen
                                       UI
           Security                  Design
                        Use
            Daten-
                       Cases       Business-
            formate                regeln
                   I/O
                Protokolle     …
Use Cases

  Beschreiben Interaktion zwischen Akteur und System
  Haben einen Auslöser und ein Ziel
  Benutzersicht
  Unterschiedliche Granularitäten
Use Cases

  Alistair Cockburn: Use Cases effektiv erstellen.

  Werkzeug: Word (o.ä.)!
    einfach
    allgegenwärtig
    Integration mit anderen Tools

  Halbformale Struktur
Use Cases
Use Cases
  Formalität
     zwanglos (casual)
     ausformuliert (fully dressed)

  Umfeld
  (Context of Use)

  Bereich (Scope)
     Unternehmen
     System
     Subsystem
Use Cases

  Beschreibung
     Ebene (Level)




     Akteure (Actors)
     Interessenten (Stakeholders)
Use Cases

  Invarianzen
     Vorbedingungen
     (Preconditions)
     Minimales/Erfolgsergebnis (Minimal/Success Guarantee)

  Detailbeschreibung
     Auslöser (Trigger)
     Haupt-Erfolgsszenario
     (Main Success Scenario)
     Erweiterungen
     (Extensions)
Use Cases

  Ergänzende Informationen
     Technische Variationen (Technology & Data Variations List)
     Zusätzliche Informationen (Related Information)
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“?
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
Strukturierung der Use Cases mittels Mind Maps

  Bilden logischer Gruppen
  Gesamtüberblick
  Identifizierung kritischer UCs
      Offene Fragen
      Klärungsbedarf / Widersprüche
      Erfassungsfortschritt
      Reviewstand
Strukturierung der Use Cases mittels Mind Maps
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
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 Alternative:
    Erfassung der Use Cases in UML-
    Tool statt in Word etc.
    technisch komplexer,
    Review/Export aufwendiger
Use Cases mittels UML modellieren

  Ergebnis:
  alle Akteure und Use Cases in einem
  (oder mehreren) Use-Case-
  Diagrammen erfasst
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
Analyse-Komponenten mittels UML modellieren

  Pro Komponente:
     Komponentenstruktur
     Anwendungsfall-Abdeckung
     Domänenmodell

  Gesamtarchitektur als Hierarchie
  der Komponenten erstellen
Analyse-Komponenten mittels UML modellieren

  Komponentenstruktur
    angebotene Services einer
    Komponente darstellen
    Abhängigkeiten
    zwischen den Komponenten
    darstellen
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
Analyse-Komponenten mittels UML modellieren

  Domänenmodell erstellen
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
GUI-Prototyp
Eingliederung in den Requirements-Rahmen

  Funktionale Anforderungen
  Glossar
  UI-Anforderungen
  Nichtfunktionale Anforderungen
  Benutzermodell und Berechtigungskonzept
  Systemarchitektur, Komponentenbeschreibung
  Hard- und Software-Infrastruktur
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
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
Danke für Ihre Aufmerksamkeit!
      Haben Sie Fragen?

Más contenido relacionado

La actualidad más candente

Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
 
Visual Modeling in UCD (Deutsch)
Visual Modeling in UCD (Deutsch)Visual Modeling in UCD (Deutsch)
Visual Modeling in UCD (Deutsch)Holger Deist
 
Medizinproduktentwicklung mit in-STEP BLUE
Medizinproduktentwicklung mit in-STEP BLUEMedizinproduktentwicklung mit in-STEP BLUE
Medizinproduktentwicklung mit in-STEP BLUEmicroTOOL GmbH
 
Metamodellierung und Validierung
Metamodellierung und ValidierungMetamodellierung und Validierung
Metamodellierung und Validierungfoobar2605
 
WPF Custom Control Development Unchained
WPF Custom Control Development UnchainedWPF Custom Control Development Unchained
WPF Custom Control Development Unchainedthoemmes
 
Erfolgsfaktoren für modellbasiertes Testen
Erfolgsfaktoren für modellbasiertes TestenErfolgsfaktoren für modellbasiertes Testen
Erfolgsfaktoren für modellbasiertes Testentrossner
 

La actualidad más candente (6)

Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Visual Modeling in UCD (Deutsch)
Visual Modeling in UCD (Deutsch)Visual Modeling in UCD (Deutsch)
Visual Modeling in UCD (Deutsch)
 
Medizinproduktentwicklung mit in-STEP BLUE
Medizinproduktentwicklung mit in-STEP BLUEMedizinproduktentwicklung mit in-STEP BLUE
Medizinproduktentwicklung mit in-STEP BLUE
 
Metamodellierung und Validierung
Metamodellierung und ValidierungMetamodellierung und Validierung
Metamodellierung und Validierung
 
WPF Custom Control Development Unchained
WPF Custom Control Development UnchainedWPF Custom Control Development Unchained
WPF Custom Control Development Unchained
 
Erfolgsfaktoren für modellbasiertes Testen
Erfolgsfaktoren für modellbasiertes TestenErfolgsfaktoren für modellbasiertes Testen
Erfolgsfaktoren für modellbasiertes Testen
 

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

20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Droolscamunda services GmbH
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)Praxistage
 
Anlagendokumentation mit System - Walter Fischer
Anlagendokumentation mit System - Walter FischerAnlagendokumentation mit System - Walter Fischer
Anlagendokumentation mit System - Walter Fischertecom
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
 
Anforderungen an die Verfahrendokumentation
Anforderungen an die VerfahrendokumentationAnforderungen an die Verfahrendokumentation
Anforderungen an die VerfahrendokumentationMarco Geuer
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)soreco
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?Marc Müller
 
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPMcamunda services GmbH
 

Similar a Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betriebsdatenerfassung und Leistungsentlohnung (20)

20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
 
2011 05 11 12-15 untersee_11.24 monitore und cockpits
2011 05 11 12-15 untersee_11.24 monitore und cockpits2011 05 11 12-15 untersee_11.24 monitore und cockpits
2011 05 11 12-15 untersee_11.24 monitore und cockpits
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)
 
Anlagendokumentation mit System - Walter Fischer
Anlagendokumentation mit System - Walter FischerAnlagendokumentation mit System - Walter Fischer
Anlagendokumentation mit System - Walter Fischer
 
20110203 jug stuttgart
20110203 jug stuttgart20110203 jug stuttgart
20110203 jug stuttgart
 
20110223 agiles bpm
20110223 agiles bpm20110223 agiles bpm
20110223 agiles bpm
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
mühlnickel beit_PechaKucha
mühlnickel beit_PechaKuchamühlnickel beit_PechaKucha
mühlnickel beit_PechaKucha
 
20110321 activiti märz
20110321 activiti märz20110321 activiti märz
20110321 activiti märz
 
20110223 activiti
20110223 activiti20110223 activiti
20110223 activiti
 
Anforderungen an die Verfahrendokumentation
Anforderungen an die VerfahrendokumentationAnforderungen an die Verfahrendokumentation
Anforderungen an die Verfahrendokumentation
 
20110119 activiti jughh
20110119 activiti jughh20110119 activiti jughh
20110119 activiti jughh
 
20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
 
JBoss jBPM
JBoss jBPMJBoss jBPM
JBoss jBPM
 
Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 
Definition of Ready
Definition of ReadyDefinition of Ready
Definition of Ready
 
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
 
20101117 activiti
20101117 activiti20101117 activiti
20101117 activiti
 

Más de GFU Cyrus AG

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im UnternehmenGFU Cyrus AG
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code DeveloperGFU Cyrus AG
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...GFU Cyrus AG
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!GFU Cyrus AG
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0GFU Cyrus AG
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...GFU Cyrus AG
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenGFU Cyrus AG
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebGFU Cyrus AG
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...GFU Cyrus AG
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?GFU Cyrus AG
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6GFU Cyrus AG
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisGFU Cyrus AG
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungGFU Cyrus AG
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenGFU Cyrus AG
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGFU Cyrus AG
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...GFU Cyrus AG
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...GFU Cyrus AG
 
E-Learning mit Moodle
E-Learning mit MoodleE-Learning mit Moodle
E-Learning mit MoodleGFU Cyrus AG
 
LINQ - Einheitlicher Datenzugriff in .NET
LINQ - Einheitlicher Datenzugriff in .NETLINQ - Einheitlicher Datenzugriff in .NET
LINQ - Einheitlicher Datenzugriff in .NETGFU Cyrus AG
 

Más de GFU Cyrus AG (20)

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im Unternehmen
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code Developer
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im Produktivbetrieb
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der Praxis
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei Volkswagen
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
 
E-Learning mit Moodle
E-Learning mit MoodleE-Learning mit Moodle
E-Learning mit Moodle
 
LINQ - Einheitlicher Datenzugriff in .NET
LINQ - Einheitlicher Datenzugriff in .NETLINQ - Einheitlicher Datenzugriff in .NET
LINQ - Einheitlicher Datenzugriff in .NET
 

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

  • 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. 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. 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. IT-Systeme und Prozesse Beratung, Schulung, Entwicklung 100+ Mitarbeiter www.involva-gruppe.de
  • 5.
  • 6.
  • 7.
  • 8. 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
  • 9. 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
  • 11. Ausgangssituation Beginn eines Softwareprojektes Wir wissen nicht (genau), was der Kunde wünscht Der Kunde weiß es – auch nicht! Los!
  • 12. Ziele der Anforderungsanalyse Was? Wünsche klären Zusammenhänge und Abhängigkeiten aufdecken Sinnhaftigkeit verifizieren Machbarkeit sicher stellen
  • 13. Ziele der Anforderungsanalyse Wie? Benutzerinterface skizzieren Komponenten identifizieren Komplexität darstellen Basis für Aufwandsschätzung erstellen
  • 14. Systemkontext Beschreibt die Umgebung des geplanten Systems Akteure Fremdsysteme Schnittstellen
  • 15. Use Cases als zentrale Analyseelemente Perfor- UI Anfor- mance derungen UI Security Design Use Daten- Cases Business- formate regeln I/O Protokolle …
  • 16. Use Cases Beschreiben Interaktion zwischen Akteur und System Haben einen Auslöser und ein Ziel Benutzersicht Unterschiedliche Granularitäten
  • 17. Use Cases Alistair Cockburn: Use Cases effektiv erstellen. Werkzeug: Word (o.ä.)! einfach allgegenwärtig Integration mit anderen Tools Halbformale Struktur
  • 19. Use Cases Formalität zwanglos (casual) ausformuliert (fully dressed) Umfeld (Context of Use) Bereich (Scope) Unternehmen System Subsystem
  • 20. Use Cases Beschreibung Ebene (Level) Akteure (Actors) Interessenten (Stakeholders)
  • 21. Use Cases Invarianzen Vorbedingungen (Preconditions) Minimales/Erfolgsergebnis (Minimal/Success Guarantee) Detailbeschreibung Auslöser (Trigger) Haupt-Erfolgsszenario (Main Success Scenario) Erweiterungen (Extensions)
  • 22. Use Cases Ergänzende Informationen Technische Variationen (Technology & Data Variations List) Zusätzliche Informationen (Related Information)
  • 23. 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“?
  • 24. 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
  • 25. Strukturierung der Use Cases mittels Mind Maps Bilden logischer Gruppen Gesamtüberblick Identifizierung kritischer UCs Offene Fragen Klärungsbedarf / Widersprüche Erfassungsfortschritt Reviewstand
  • 26. Strukturierung der Use Cases mittels Mind Maps
  • 27. 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
  • 28. In/Out-Liste Festhalten, was zur Aufgabe gehört und was nicht
  • 29. Glossar Verbindliche Definition fachlicher und technischer Begriffe
  • 30. 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
  • 31. Use Cases mittels UML modellieren Ergebnis: alle Akteure und Use Cases in einem (oder mehreren) Use-Case- Diagrammen erfasst
  • 32. 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
  • 33. Analyse-Komponenten mittels UML modellieren Pro Komponente: Komponentenstruktur Anwendungsfall-Abdeckung Domänenmodell Gesamtarchitektur als Hierarchie der Komponenten erstellen
  • 34. Analyse-Komponenten mittels UML modellieren Komponentenstruktur angebotene Services einer Komponente darstellen Abhängigkeiten zwischen den Komponenten darstellen
  • 35. 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
  • 36. Analyse-Komponenten mittels UML modellieren Domänenmodell erstellen
  • 37. 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
  • 39. Eingliederung in den Requirements-Rahmen Funktionale Anforderungen Glossar UI-Anforderungen Nichtfunktionale Anforderungen Benutzermodell und Berechtigungskonzept Systemarchitektur, Komponentenbeschreibung Hard- und Software-Infrastruktur
  • 40. 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
  • 41. 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
  • 42. Danke für Ihre Aufmerksamkeit! Haben Sie Fragen?