Die Planungsphase
•
•
•
•
•
•
•
•
•
Ziele
Überblick
Aktivitäten
Lastenheft
Normenrecherche
Projektkalkulation
Methoden zur Aufwandsschätzung
Function Point-Methode
Projektplanung
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 1
Ziele der Planungsphase
• Grobe Definition der Software inkl. Hauptanforderungen und -funktionen
(Lastenheft)
• Normenrecherche (Checkliste: „Betroffene Normen“)
• Machbarkeit (Machbarkeitsstudie)
• Ressourcenmanagement (Ressourcenplan)
• Risikomanagement (Risikoplan)
• Kostenermittlung (Kostenplan, Geschäftsplan)
• Zeit- und Kapazitätsmanagement (Kapazitätsplan)
• Projektmanagement (Projektplan)
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 2
Die Planungsphase
Übersicht
Beteiligte (Rollen)
Aktivität
Input
Vorgaben des
Auftraggebers
Auftraggeber
Projektleiter
ExterneVorgab
en / Gesetze
Planung
Anwendungsspezialist
Lastenheft
Output
(Ergebnisse)
Glossar
Gesetzgeber
Projektkalkulation
...
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 3
Rollen und Verantwortlichkeiten
• Auftraggeber:
– Vorgabe der Anforderungen
– Abnahme der erstellten Dokumente
– Entscheidung über Projekt / endgültige Auftragserteilung
• Projektleiter:
– Verantwortlich für Lastenheft
– Projektkalkulation
– Projektplanung
• Anwendungsspezialist
– Erstellung Lastenheft
– Erstellung Glossar
– Mitwirkung bei Projektkalkulation und -planung
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 4
Produkt auswählen
• Auswahl aus verschiedenen Projektideen
• Klärung der prinzipiellen Aufgabenstellung
• Auswahl der grundlegenden Lösungsvarianten, z. B.
–
–
–
–
Erweiterung bestehender Altsysteme
Nutzung und Erweiterung von Standardsoftware
Individualentwicklung
Entwicklung eines Softwareproduktes
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 5
Die Machbarkeitsprüfung
• Prüfung der fachlichen Durchführbarkeit
– Softwaretechnische Realisierbarkeit
– Verfügbarkeit geeigneter Ressourcen (Hardware, Software)
• Prüfung alternativer Lösungsvorschläge
– Z. B. Kauf von Standardsoftware, externe Vergabe
• Prüfung der Ressourcen (Ressourcenmanagement)
– Verfügbarkeit der entsprechend qualifizierten Mitarbeiter
– Verfügbarkeit von Infrastruktur, Zeit, Geld, Zusatz-Hard-, Software
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 6
Die Machbarkeitsprüfung
• Prüfen der Risiken
• Aufwands- und Terminschätzung
• Wirtschaftlichkeitsbetrachtung
– Interne Projekte: z. B. Gegenüberstellung von Einsparungen und
Projektkosten/laufenden Kosten
– Erstellung von Produkten: Gegenüberstellung von voraussichtlichen
Einnahmen und Kosten
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 7
Das Lastenheft
• Auch als Grobes Pflichtenheft bezeichnet
• Enthält eine Zusammenfassung aller fachlichen Basisanforderungen, die die
zu entwickelnde Software aus Auftraggeber-Sicht erfüllen muss
• Adressaten:
– Auftraggeber (extern oder intern)
– Auftragnehmer: Projektleiter, Anwendungsspezialist
• Umfang: wenige Seiten (keine Details!)
• Dokumentform: z.B. formlose Sammlung von Produktanforderungen
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 8
Gliederungsvorschlag für Lastenheft
• Zielbestimmung:
– Bestimmung der Ziele, die mit dem Einsatz des Produktes erreicht werden
sollen
• Produkteinsatz
– Anwendungsbereiche und Zielgruppen
• Produktfunktionen
–
–
–
–
Hauptfunktionen aus Auftraggebersicht (grobe Beschreibung)
Typische Arbeitsabläufe
keine Details
Hier können bereits Use Case Diagramme genutzt werden
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 9
Gliederungsvorschlag für Lastenheft
• Produktdaten
– Langfristig zu sichernde Hauptdaten, voraussichtlicher Umfang
• Produktleistungen
– Z. B. hinsichtlich Zeit und Genauigkeit
• Qualitätsanforderungen
– Erforderliche Qualitätsstufen für die wichtigsten Qualitätskriterien
– Akzeptanzkriterien für Qualitätsmerkmale
• Ergänzungen:
– zusätzliche Anforderungen, Einschränkungen, Rahmenbedingungen,
mitgeltende Unterlagen, bestehende Produkte
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 10
Glossar (Begriffslexikon)
• Definiert alle wichtigen Fachbegriffe, die zur Beschreibung des Produktes
benötigt werden
• Dient der Nutzung einer einheitlichen Terminologie und der Schaffung eines
einheitlichen Verständnisses im gesamten Projektteam
• Wird während des Projektes laufend erweitert
• Beispiele:
–
–
–
–
Definition der Akteure
Fachbegriffe der Branche und des Anwendungsbereichs
Bezeichnung für Module und Teilsysteme
...
• Wird später auch für die Dokumentation und Online-Hilfe benutzt und weiter
gepflegt
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 11
Normen und Normenrecherche
• Alle Normen mit „EN“ im Namen sind sog. harmonisierte Normen (gelten
EU-weit). Diese Normen sind verpflichtend!
• Für die Einhaltung ist der Hersteller verantwortlich
• Beispiel:
– DIN EN 60601-1: „Allgemeine Festlegung für die Sicherheit medizinisch
elektrischer Geräte
– DIN EN 60601-1-1: Anforderungen an med. Systeme (Kombination von Geräten)
– DIN EN 60601-1- 4: Anforderungen für „PEMS“ (programmierbare, elektrische,
medizinische Systeme)
•
•
•
•
Recherche bei www.beuth.de (Monopol)
zutreffende Normen recherchieren (Updates!)
Norminhalte prüfen
 Checkliste „Betroffene Normen“
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 12
Projekt kalkulieren
• Abschätzung des erforderlichen Aufwandes
–
–
–
–
–
–
Dauer
Mitarbeiter
externer Zukauf an Dienstleistungen
Hilfsmittel (Computer, gekaufte Software, sonst. Hardware)
Ressourcen
Kosten
• Prinzipiell ist für die Aufwandschätzung sehr viel Erfahrung notwendig
• Wichtig:
– Genug Aufwand für Nebentätigkeiten einrechnen,
wie Projektmanagement, Versionsverwaltung, Qualitätssicherung
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 13
Entwicklungskosten
• Wichtigste Kostenarten:
–
–
–
–
–
–
–
Personalkosten (bei Weitem der größte Posten)
Lizenzkosten für zugekaufte Softwarekomponenten
Anteilige Kosten für Entwicklungsumgebung (Hardware, Softwaretools)
Auslagerung / Zukauf von Entwicklungsleistungen
externe Prüfungen
Recherchekosten (Normenrecherche, Urheberrechte, Patente...)
Sonstiges (Büromaterial, Reisekosten, etc.)
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 14
Verfahren zur Aufwandsschätzung
• Analogiemethode
– Vergleich mit anderen Projekten
• Multiplikatormethode
– Zerlegen des Projekts in Einzel-Bausteine, Abschätzung des Aufwandes für
Einzelbausteine
• Gewichtungsmethode
– Identifizieren von Aufwandstreibern (Funktionsmerkmale)
– Berechnung des Aufwandes mittels Formel (z. B. Function Point)
• Prozentsatzmethode
– Detaillierte Schätzung einer (Teil-)Phase (bzw. Daten einer bereits abgelaufenen
Phase)
– Hochrechnen auf Gesamtaufwand
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 15
Einflussfaktoren für Aufwandsschätzung
• Das magische Quadrat
Qualität
Quantität
+
+
Das magische
Quadrat
-
-
Entwicklungsdauer
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Konstante
Fläche des
Vierecks:
Produktivität
des Teams
Beispiel:
Reduzierung der
Entwicklungszeit
und Erhöhung der
Qualität ist möglich,
Wenn die Quantität
reduziert und die
Kosten erhöht werden.
Kosten
Software Engineering SS 2009
Folie 16
Bestimmung der Einflussfaktoren
• Quantität
– Anzahl Programmzeilen (Lines of Code, LOC)
• Problematisch, da nur Implementierung berücksichtigt,
• Definition einer Zeile schwierig, Abhängig von Programmiersprache
– Funktions- und Datenumfang
• Wird schon frühzeitig festgelegt
• Unabhängig von einer Programmiersprache
• Zusätzlich Berücksichtigung von Komplexitätsmaßen
• Qualität
– Höhere Qualitätsanforderungen erhöhen den Aufwand
– Bewertung von Qualitätsmerkmalen mit Kennzahlen
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 17
Bestimmung der Einflussfaktoren
• Entwicklungsdauer
– Bei kürzerer Entwicklungsdauer steigt die Zahl der benötigten Mitarbeiter. Durch
erhöhten Kommunikationsaufwand sinkt deren Produktivität. Damit steigt der
Aufwand.
• Kosten
– Ändern sich die anderen Faktoren beim magischen Quadrat, hat dies unmittelbar
Auswirkungen auf die Kosten
– Umgekehrt kann durch den Einsatz finanzieller Mittel die Situation der anderen
Merkmale verbessert / verschlechtert werden.
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 18
Optimale Entwicklungsdauer
Faustregel:
Optimale
Entwicklungsdauer
=
s
2,5 * (Aufwand in MM)
[Monate]
mit:
s = 0,38 für Stapel-Systeme
s = 0,35 für Dialog-Systeme
s = 0,32 für Echtzeit-Systeme
(MM: Mitarbeitermonate)
Beispiel:
Dialogsystem, Aufwand geschätzt 9 Monate
Dauer = 2,5 * 9 0,35 = 5,3 Monate
Größe des Entwicklungsteams:
9 MM / 5,3 Monate = 1,7 Mitarbeiter (also ca. 2)
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 19
Beispiel: Function Point-Methode
1. Kategorisierung jeder
Anforderung, z. B.
Eingabedaten, Ausgabedaten, Abfragen
2. Klassifizierung jeder
Anforderung: einfach, mittel, komplex
3. Gewichtungsfaktor für jede
Anforderung (aus Tabelle)
4. Gewichtete Summe bilden
5. Einflussfaktoren
(z. B. Komplexität, GUIAnforderungen, Erfahrung)
nach einem Schema mit
Punkten bewerten
(z. B. 0-5)
6. Summe der bewerteten
Einflussfaktoren bilden
7. Bewertungsfaktor
berechnen
(obige Summe / 100 + 0,7)
8. Multiplizieren (ergibt bewertete Function Points)
9. Zur Punktzahl gehörender
Aufwand aus Tabelle ablesen
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 20
Beispiel: Function Point-Methode
• Wird in verschiedenen Projektphasen wiederholt
– Anforderungen und Einflussfaktoren besser bekannt
– Abschätzung wird genauer
• Tatsächlich gemessene Aufwände dienen dazu, die verwendeten Tabellen zu
verbessern
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 21
Projekt planen
• Zeitplan
– Bestimmung und Terminierung der Einzelaktivitäten incl. Ergebnissen,
Verantwortlichkeiten, Ressourcen
– Festlegung von Meilensteinen
• Qualitätsplan
– Qualitätsmaßnahmen und –standards im Projekt
• Validierungsplan
– Methoden, Ressourcen und Zeitplan zur Systemvalidierung
• Konfigurationsmanagementplan
– Konfigurationsmanagementprozeduren und -strukturen
• Wartungsplan
– Wartungsanforderungen und Aktivitäten
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 22
Projekt planen
• Personalentwicklungsplan
– Weiterbildung der Projektmitarbeiter
• Kostenplan
– Ermittlung aller anfallender Kosten
– Eingabe:
• Daten aus anderen Plänen
• Marktgegebenheiten
• betriebswirtschaftliche Größen, z. B. kalkulatorische Zinsen, Mittel für die
Geldbeschaffung, ...
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 23
Bemerkungen zur Planungsphase
• Es gibt keine einheitliche Vorgehensweise und Terminologie für die
Planungsphase
• Konkrete Durchführung der Planung hängt sehr stark von firmenindividuellen
Rahmenbedingungen ab
• Konkrete Durchführung der Planung hängt vom konkreten Projekt ab
• Die Vorgehensweise bei der Planungsdurchführung sollte nach im Vorfeld
festgelegten Verfahren ablaufen und dokumentiert werden
(Verfahrensanweisung).
• Bei firmeninternen Projekten ist das Ergebnis der Planungsphase i. d. R. ein
interner Projektantrag, über den dann entschieden wird.
• Auch bei firmeninternen Projekten kann auf die Planungsphase inklusiver der
zugehörigen Dokumentation nicht verzichtet werden.
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 24
Bemerkungen zur Planungsphase
• Dokumentation der Ergebnisse der Planungsphase ist unverzichtbar
• Abstimmung der Dokumente mit den beteiligten Akteuren ist Voraussetzung
für eine Reibungsfreie Durchführung
• Definierte Marken für „Reviews“ in der Planungsdurchführung erleichtern die
Dokumentationsdisziplin
• Häufig stellen die Ergebnisse der Planungsphase die Grundlagen für ein
Angebot einer Softwarefirma dar.
In diesem Fall wird der Auftrag erst im Anschluss an die Planungsphase
erteilt.
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 25
Zusammenfassung
• Ziele der Planungsphase sind die grobe Definition der Software, die
Ermittlung von Dauern und Aufwänden, die Klärung der Machbarkeit und die
Entscheidung über das weitere Vorgehen
• Sie umfasst die Produktauswahl, das Erstellen des Lastenhefts, die Prüfung
der Machbarkeit, die Kalkulation und die Planung des Projektes
• Das Lastenheft fasst die fachlichen Anforderungen aus Auftraggebersicht grob
zusammen
• Die erforderlichen Aufwände können z. B. mit Hilfe der Analogiemethode, der
Multiplikatormethode, der Gewichtungsmethode oder der Prozentsatzmethode
ermittelt werden
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 26
Zusammenfassung
• Bei der Function Point Methode werden die einzelnen Anforderungen sowie
zusätzliche Einflussfaktoren bewertet und auf Grundlage empirischer Daten in
Aufwände umgerechnet
• Planungsergebnisse müssen dokumentiert werden
• Die Vorgehensweise der Planungsphase sollte im Unternehmen dokumentiert
sein
• Die Vorgehensweise sollte „Review“ enthalten
Prof. Dr. Gerhard Schmidt
pres. by H.-J. Steffens
Software Engineering SS 2009
Folie 27

SE_SS2009