Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Die...

Post on 05-Apr-2015

107 views 2 download

Transcript of Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Die...

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