330 likes | 690 Views
Die Planungsphase. Ziele Überblick Aktivitäten Lastenheft Normenrecherche Projektkalkulation Methoden zur Aufwandsschätzung Function Point-Methode Projektplanung. Ziele der Planungsphase. Grobe Definition der Software inkl. Hauptanforderungen und -funktionen (Lastenheft)
E N D
Die Planungsphase • Ziele • Überblick • Aktivitäten • Lastenheft • Normenrecherche • Projektkalkulation • Methoden zur Aufwandsschätzung • Function Point-Methode • Projektplanung Software Engineering SS 2009
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
Gesetzgeber Auftraggeber Anwendungs- spezialist Projektleiter Die Planungsphase Übersicht Input ExterneVorgaben / Gesetze Beteiligte (Rollen) Aktivität Vorgaben des Auftraggebers Planung Output (Ergebnisse) Lastenheft Glossar Projekt- kalkulation . . . Software Engineering SS 2009
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
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
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
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
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
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
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
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
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
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
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
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
Einflussfaktoren für Aufwandsschätzung • Das magische Quadrat Qualität Quantität Konstante Fläche des Vierecks: Produktivität des Teams + + Das magische Quadrat Beispiel: Reduzierung der Entwicklungszeit und Erhöhung der Qualität ist möglich, Wenn die Quantität reduziert und die Kosten erhöht werden. - - Entwicklungsdauer Kosten Software Engineering SS 2009
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
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
Optimale Entwicklungsdauer Faustregel: s Optimale Entwicklungsdauer 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) Software Engineering SS 2009
Beispiel: Function Point-Methode • Einflussfaktoren (z. B. Komplexität, GUI-Anforderungen, Erfahrung) nach einem Schema mit Punkten bewerten (z. B. 0-5) • Summe der bewerteten Einflussfaktoren bilden • Bewertungsfaktor berechnen (obige Summe / 100 + 0,7) • Kategorisierung jederAnforderung, z. B. Eingabedaten, Ausgabe-daten, Abfragen • Klassifizierung jederAnforderung: einfach, mittel, komplex • Gewichtungsfaktor für jede Anforderung (aus Tabelle) • Gewichtete Summe bilden • Multiplizieren (ergibt bewertete Function Points) • Zur Punktzahl gehörender Aufwand aus Tabelle ablesen Software Engineering SS 2009
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
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
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
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
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
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
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 Software Engineering SS 2009