I N S T I T U T E F O R R E A L - T I M E C O M P U T E R S Y S T E M S TECHNISCHE UNIVERSIT ÄT MÜNCHEN P R O F E S S O R G. F Ä R B E R Software Engineering 3. Übung 22.05.2003 3.2,,Eichung von Function Points (Berichtigte Angabe) Die Firma XYZ aus Aufgabe 3.1 versucht, aus den Erfahrungen von drei vorangegangenen Projekten eine eigene Gewichtung für die Function Point-Analyse zu schaffen. Dabei werden nur analoge Einbzw. Ausgänge ( ) und digitale Signale ( ) berücksichtigt. Nachfolgend sind die bekannten Daten der Projekte aufgelistet: Projekt 1 KLOC Projekt 2 KLOC Projekt 1 KLOC Aufgabe 3.2.1 Berechnen Sie den Vektor für die Gewichtung ACHTUNG: Die Signale und müssen als Zeilenvektoren aufgefaßt werden (Oder: Die Matrix muß transformiert werden.) mit "$
"$ "$ "$ Für ein Unternehmen soll ein System für die Firmenverwaltung erstellt werden. Die Software soll dazu in der Lage sein, folgende Positionen zu verwalten: Mitarbeiterverwaltung Zeiterfassung (Arbeitszeit und pro Projekt) (Modul M1) Lohnabrechnung (Modul M2) Kundenverwaltung Adressverwaltung (Modul M3) Rechnungsverwaltung (Modul M4) Lagerverwaltung Wareneingang (Modul M5) Warenausgang (Modul M6) Inventur (Modul M7) Im Laufe der Entwicklung entstehen dabei folgende Teilprodukte: Liste mit Kundenwünschen Grobe Systembeschreibung Liste mit zugesagte Leistungen Schnittstellenbeschreibung Modulcode für die graphische Benutzeroberfläche Beschreibung von Datenstrukturen für die Adressverwaltung Testcode 2
Protokoll über einen kompletten Durchlauf aller Teilmodule Aufgabe 3.3.1 Geben Sie die unterschiedlichen Phasen der Softwareentwicklung an Anforderungen Spezifikation Entwurf Implementierung Integration / Test fertiges Produkt Wartung Aufgabe 3.3.2 Ordnen Sie die Teilprodukte den Phasen des Wasserfall-Modells zu Teilprodukt: Phase im Modell 1) Liste mit Kundenwünschen Anforderungen 2) Liste mit zugesagte Leistungen Spezifikation 3) Grobe Systembeschreibung Entwurf 4) Schnittstellenbeschreibung Entwurf 5) Datenstrukturen (Fein-)Entwurf 6) Modulcode für GUI Implementierung 7) Testcode Implementierung 8) Prüf-Protokolle Systemtest Aufgabe 3.3.3 Geben Sie zeitliche Abhängigkeiten für die Teilprodukte an (Beziehen Sie auch die Erstellung der Module als Teilprodukte mit ein ) siehe Abbildung 3.3.3 Es gibt aber mehrere Möglichkeiten Falls ALLE Schnittstellen und Datenstrukturen, die im Programm auftreten, in der Entwurfsphase bereits genügend genau behandelt wurden, kann noch mehr parallel gearbeitet werden. 3
1 2 3 4 5 M1 M2 M3 M4 M5 M6 M7 6 7 8 Abbildung 3.3.3: Zeitabhängigkeit Aufgabe 3.3.4 Geben Sie mögliche Zeitpunkte für Meilensteine an Meilenstein nach 2 (Spezifikation fertig) Meilenstein nach 5 (Entwurf fertig) Meilensteine vor 8 (Codierung der einzelnen Module fertig) Meilenstein nach 8 (Module integriert und getestet) Aufgabe 3.3.5 Legen Sie ein Projekthandbuch an 4
Projekthandbuch Projekt: Autor: Version: 1 Firmenverwaltung R. Diemer Letzte Änderung: 25.04.2002 Dateiablage: /projekte/firmenverwaltung/projektplan.tex Projektbeschreibung Das Projekt,,Firmenverwaltung dient zur Unterstützung eines Unternehmens im Mittelstands. Es beinhaltet Verwaltungsmodule für Mitarbeiterverwaltung Zeiterfassung (Arbeitszeit und pro Projekt) Lohnabrechnung Kundenverwaltung Adressverwaltung Rechnungsverwaltung Lagerverwaltung Wareneingang Warenausgang Inventur Aufteilung in Stufen Für dieses Projekt nicht vorgesehen. (evtl. Erweiterung um Ladenverkaufseinheiten, die direkt mit der Lagerverwaltung bzw. Rechnungsverwaltung in Bezug stehen) Stufe Beschreibung Bemerkungen Bezeichnung d. Stufe Inhalt d. Stufe z. B. Enddatum 5
Meilensteine (Normalerweise für jede einzelne Stufe definiert.) Meilenstein Beschreibung Bemerkungen Spezifikation fertig Entwurf fertig Genaue Beschreibung der Aufgaben, die erledigt werden müssen Welche Klassen (Datenstrukturen), Schnittstellen, Modulstruktur? (auch Testszenarien mit entwerfen) bis 15.05.2002 bis 30.05.2002 Fertige Implementierung Alle Module für sich fertig bis 01.07.2002 Module integriert und getestet fertige Prüfprotokolle bis 15.07.2002 Projektorganisation Rolle Berichtet an Person Vertreter des Auftraggebers... Jürgen Ebers Projektleiter...... Qualitätsmanager Projektleiter... Entwickler............... Berichtswesen Bericht Häufigkeit Ersteller Verteiler Projekt-Statusbericht wöchentlich, Montag Arbeitsberichte wöchentlich, Freitag Projektleiter Entwickler............ Auftraggeber Projektleiter Besprechungen Besprechung Häufigkeit Teilnehmer Lenkungsausschuss monatlich, letzter Freitag Projektbesprechung wöchentlich, Montag......... Mitglieder des Lenkungsausschusses Projektleiter, Entwickler 6
Eskalationsstrategien Anlass Erkenntnis über Terminabweichung Erkenntnis über Machbarkeitsprobleme...... Eskalationsweg Projektleiter informiert umgehend den Lenkungsausschuß Projektleiter informiert umgehend den Lenkungsausschuß Änderungsübersicht Version Datum Bearbeiter Beschreibung Versi- Eindeutige onsnummer Änderungsdatum Durchführender Beschreibung der Änderung............ Aufgabe 3.3.6 Nennen Sie die wesentlichen Inhalte eines Projektplans Projektziel Aufwandsabschätzung Risiko-Analyse Risiko-Management Projekt-Scheduling (Zerlegung des Gesamtprojekts in einzelne Aufgaben, Aufstellen des Task-Netzes) Ressourcen: Zuordnung und Planung Organisation des Projekt-Teams 7