6. Analyse-Phase: Geschäftsprozesse Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. November 2005
Einordnung in den Kontext der Vorlesung 1. Einführung 2. Projektmodell 3. Vorgehensmodelle 4./5. Unified Modeling Language (UML) 6. Analyse-Phase: Geschäftsprozesse 7. Analyse-Phase: Datenmodellierung 9. Design-Phase 10. Design-Phase: Architektur im Großen 11. Programmierungs-Phase 12. Test- / Integrations-Phase, Einführung 13. Projektmanagement 14. Qualitätsmanagement 8. Analyse-Phase: Benutzeroberfläche 15.11.2005, Seite 2
Agenda Agenda Übersicht Anforderungsanalyse Erste Schritte Geschäftsprozesse Ausblick 15.11.2005, Seite 3
Übersicht Anforderungsanalyse Warum Anforderungsanalyse? Selbst kleine Irrtümer in den Anforderungen können zu großen Problemen führen! (Bild und Slogan von Caliber RM) 15.11.2005, Seite 4
Übersicht Anforderungsanalyse Motivation Was der Anwender wollte Wie es der Anwender dem Programmierer sagte Wie es der Programmierer verstanden hat Was der Programmierer bauen wollte Was der Programmierer tatsächlich gebaut hat Was der Anwender tatsächlich gebraucht hätte Aus Siedersleben (Hrsg.): Softwaretechnik Hanser 2002 15.11.2005, Seite 5
Das Vorgehen und die Ergebnisse der Anforderungsanalyse Übersicht Anforderungsanalyse Erste Schritte: Projektkontext klären Stakeholder identifizieren Ziele festlegen Systemgrenzen festlegen Anforderungen sammeln Ergebnisse: zentrale Spezifikations-Bausteine: - Zentrale Ziele - Nichtfunktionale Anforderungen Liste der Stakeholder Kontextdiagramm viele strukturierte Anforderungen Anforderungen prüfen Anforderungen verwalten Anforderungen aufschreiben 15.11.2005, Seite 6
Agenda Agenda Übersicht Anforderungsanalyse Erste Schritte Geschäftsprozesse Ausblick 15.11.2005, Seite 7
Erste Schritte Stakeholder identifizieren Stakeholder sind alle Menschen, die von Entwicklung, Einsatz und Betrieb des Systems betroffen sind Stake: Anteil, Beteiligung, Einsatz Stakeholder: Der Geschäftsinteressent 15.11.2005, Seite 8
Erste Schritte Stakeholder sind alle Menschen, die von Entwicklung, Einsatz und Betrieb des Systems betroffen sind Fachbereich Anwender & Anwender IT-Abteilung Betrieb Management Methodenabteilung Projektgegner Experten Altsysteme Experten Nachbarsysteme Betriebsrat Alle relevanten Stakeholder sind zu identifizieren und mit ihren Rollen zu dokumentieren Ein vergessener Stakeholder ist eine vergessene Anforderung! 15.11.2005, Seite 9
Erste Schritte Anforderungen, Leistungsausgrenzungen und Prämissen Konzepte Anforderungen Nummerierte Liste präziser Beschreibungen in Satzform, was der Umfang des Systems ist (funktional und nicht-funktional) Leistungsausgrenzungen Nummerierte Liste von Beschreibungen in Satzform, welche Funktionen das System explizit nicht abdeckt Beispiele A2: Die Registrierung von Neukunden, die Änderung von Kundendaten und das Abmelden von Kunden soll unterstützt werden. A42: Alle Pflegedialoge sollen ein Antwortzeitverhalten < 1 s haben L1: Die Reservierung von Fitnessräumen wird nicht vom System unterstützt. Diese erfolgt weiterhin auf Papier Prämissen Nummerierte Liste von Beschreibungen in Satzform, welche Voraussetzungen für die erfolgreiche Projektdurchführung erfüllt sein müssen P1: Zur erfolgreichen Durchführung des Projekts muss der Manager des Fitness- Centers jede Woche mindestens 4h für Besprechungen verfügbar sein. 15.11.2005, Seite 10
Projektgrundlagen P1 P2 Abläufe und Funktionen F1 F2 F3 Daten D1 D2 Benutzerschnittstelle B1 B2 B3 Geschäftsprozesse Anwendungsfälle Anwendungsfunktionen Datenmodell Datentypenverzeichnis Dialogspezifikation Batch Druckausgaben Schnittstellen zu Alt- und Nachbarsystemen S1 S2 S3 Ergänzende Bausteine E1 E2 Zentrale Ziele u. Rahmenbedingungen Architekturüberblick Nachbarsystem-Schnittstellen Datenmigration aus Altsystemen Einführung / Migration Leseanleitung Glossar Erste Schritte Die einzelnen Elemente einer Spezifikation werden nicht sukzessive sondern parallel erstellt Anteil Anforderungen, Ausgrenzungen, Prämissen Analyse Gestaltung Fachkonzept Nichtfunktionale Eigenschaften N1 Nichtfunktionale Anforderungen N2 Querschnittskonzepte Anforderungsanalyse Geschäftsprozess- Spezifikation Geschäftsprozess- Analyse Anwendungsfall- Spezifikation Datenmodell- Spezifikation Dialog- Spezifikation Zeit 15.11.2005, Seite 11
Agenda Agenda Übersicht Anforderungsanalyse Erste Schritte Geschäftsprozesse Ausblick 15.11.2005, Seite 12
Ein Geschäftsprozess ist eine zielgerichtete Folge von Aktivitäten zur Erbringung einer strategisch relevanten Unternehmensleistung Beispiel: Geschäftsprozesslandschaft Auftragsabwicklung Geschäftsprozesse Anforderungen des Kunden Auftrag bearbeiten Fahrzeug produzieren Kundenauftrag Leistungserbringung ( Wertschöpfung ) Fahrzeug ausliefern Zulieferungen von internen und externen Lieferanten: Ressourcen (Rohstoffe, Teile, Maschinen) Informationen Vorschriften, Bestimmungen Auftrag abrechnen bezahlt! Ergebnis Merkmale eines Geschäftsprozesses: Dienst orientiert kann abteilungsübergreifend sein auf effiziente Wertschöpfung ausgerichtet 15.11.2005, Seite 13
Geschäftsprozesse Typische Geschäftsprozesse: Kernprozesse Innovation vom Kundenbedürfnis bis zur Produktidee Produktplanung von der Produktidee bis zum Pflichtenheft Produktentwicklung vom Pflichtenheft bis zum fertigungsreifen Produkt Auftragsbearbeitung vom Kundenauftrag bis zur bezahlten Rechnung Service vom Kundenproblem bis zur Problemlösung Führungs- oder Supportprozesse Strategieentwicklung Einkauf Anlagenverwaltung Technologiemanagement Qualitätsmanagement Personalmanagement machen das Geschäft des Unternehmens aus sind notwendig, damit Kernprozesse vernünftig laufen können. Erbringen Dienste im Unternehmen 15.11.2005, Seite 14
Die Kernprozesse erzeugen den Mehrwert des Unternehmens Geschäftsprozesse Es gibt mindestens einen Hauptprozess, der die Aktivitäten des Hauptgeschäfts repräsentiert Dieser läuft i.d.r. quer über viele Organisationseinheiten 15.11.2005, Seite 15
Geschäftsprozesse gibt es in unterschiedlicher Detaillierung Geschäftsprozesse Hierarchische Prozessbeschreibung Angebot Auftrag Service Entwicklung Geschäftsprozesse schrittweise Verfeinerung Kundenauftrag abwickeln Auftrag erfassen Prozess Betandsauftrag bearbeiten asdasdasdasdasd adsasdasasdasda adasdasasdasdads Prozess Mitarbeiterauftrag bearbeiten Anwendungsfälle Aktivitäten (Anwendungsfunktionen) aadasdasdas 15.11.2005, Seite 16
Geschäftsprozesse Geschäftsprozesse können in Anwendungsfälle zerlegt werden Geschäftsprozess: Pizzavertrieb (informell dargestellt) DV-unterstützt manuell aussuchen bestellen Koch Rechnung erstellen anfertigen ausliefern Kunde Verkäufer Fahrer Pizzaservice 15.11.2005, Seite 17
Notation zur Spezifikation von Anwendungsfällen: UML Aktivitätsdiagramme Geschäftsprozesse Bedingungen / Verzweigungen Raute = Entscheidungsaktivität Wichtig: ausgehende Pfeile decken alle möglichen Bedingungen ab Kunde in Kartei? [NEIN] [JA] Nebenläufigkeit Synchronisation = zwei Parallele Abläufe werden wieder zusammengeführt Split = ein Ablauf wird in zwei parallele aufgespalten Synchronisation Split Start und Ende Start Ende 15.11.2005, Seite 18
Geschäftsprozesse Aktivitätsdiagramme beschreiben die internen Abläufe in einem Anwendungsfall Anfangszustand Zuständigkeit Aktion Entscheidung Bedingung Endzustand 15.11.2005, Seite 19
Agenda Agenda Übersicht Anforderungsanalyse Erste Schritte Geschäftsprozesse Ausblick 15.11.2005, Seite 20
Anwendungsfälle sind die Grundlage für alle weiteren Dokumente der Spezifikation Ausblick 15.11.2005, Seite 21
Ausblick Literatur Chris Rupp: Requirements Engineering und Management - Professionelle, iterative Anforderungsanalyse für die Praxis 3. Auflage, Hanser-Verlag Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: UML 2 glasklar, 2. Auflage. Hanser-Verlag, 2005 15.11.2005, Seite 22
Ausblick Kontrollfragen Warum ist die Anforderungsanalyse wichtig? Welche Schritte sind in der Anforderungsanalyse durchzuführen? Was ist ein Stakeholder? Nennen Sie Beispiele! Was sind Anforderungen / Leistungsausgrenzungen / Prämissen? Nennen Sie Beispiele! Was sind Geschäftsprozesse? Nennen Sie Beispiele! Wie werden Geschäftsprozesse schrittweise verfeinert? Wozu werden UML Aktivitätsdiagramme verwendet? Konstruieren Sie ein Beispiel! 15.11.2005, Seite 23