prof. dr. gerhard schmidt pres. by h.-j. steffens software engineering ss 2009folie 1 die...
TRANSCRIPT
Software Engineering SS 2009 Folie 1Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Die Planungsphase
• Ziele
• Überblick
• Aktivitäten
• Lastenheft
• Normenrecherche
• Projektkalkulation
• Methoden zur Aufwandsschätzung
• Function Point-Methode
• Projektplanung
Software Engineering SS 2009 Folie 2Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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)
Software Engineering SS 2009 Folie 3Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Die Planungsphase
Übersicht
Planung
Lastenheft
Glossar
Projekt-kalkulation
. . .
Vorgaben desAuftraggebers
Projektleiter
Anwendungs-spezialist
Auftraggeber
Beteiligte (Rollen) Aktivität Input
Output(Ergebnisse)
ExterneVorgaben / Gesetze
Gesetzgeber
Software Engineering SS 2009 Folie 4Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 5Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 6Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 7Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 8Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 9Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 10Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 11Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 12Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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“
Software Engineering SS 2009 Folie 13Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 14Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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.)
Software Engineering SS 2009 Folie 15Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 16Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Einflussfaktoren für Aufwandsschätzung
• Das magische Quadrat
Quantität
KostenEntwicklungsdauer
KonstanteFläche desVierecks:Produktivitätdes Teams
Beispiel:Reduzierung derEntwicklungszeitund Erhöhung derQualität ist möglich,Wenn die Quantitätreduziert und dieKosten erhöht werden.
- -
++
Das magische Quadrat
Qualität
Software Engineering SS 2009 Folie 17Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 18Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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.
Software Engineering SS 2009 Folie 19Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Optimale Entwicklungsdauer
Optimale Entwicklungsdauer
= 2,5 * (Aufwand in MM) [Monate]s
mit: s = 0,38 für Stapel-Systemes = 0,35 für Dialog-Systemes = 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)
Faustregel:
Software Engineering SS 2009 Folie 20Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Beispiel: Function Point-Methode
5. Einflussfaktoren (z. B. Komplexität, GUI-Anforderungen, 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
1. Kategorisierung jederAnforderung, z. B. Eingabedaten, Ausgabe-daten, Abfragen
2. Klassifizierung jederAnforderung: einfach, mittel, komplex
3. Gewichtungsfaktor für jede Anforderung (aus Tabelle)
4. Gewichtete Summe bilden
Software Engineering SS 2009 Folie 21Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 22Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 23Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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, ...
Software Engineering SS 2009 Folie 24Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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.
Software Engineering SS 2009 Folie 25Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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.
Software Engineering SS 2009 Folie 26Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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
Software Engineering SS 2009 Folie 27Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
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