Prof. Dr. Dr. h.c. M. Broy Klausurlösung Dr. H. Ehler, S. Wagner 2. Juli 2004 Lösungsvorschlag zur Klausur zu Projektorganisation und Management in der Software-Entwicklung Aufgabe 1 Prozessmodelle (4 Punkte) Das V-Modell 97 und das Spiralmodell sind Prozessmodelle für die Durchführung von Softwareprojekten. a) Beschreiben Sie die wichtigsten Merkmale der beiden Prozessmodelle. (2 Punkte) Das V-Modell ist ein vollständiges Prozessmodell bestehend aus SE, QS, PM und KM. (0,5 Punkte) Es ist wasserfallartig. (0,5 Punkte) Das Spiralmodell ist ein iteratives und inkrementelles Prozessmodell (0,5 Punkte), das mehr ein Meta-Modell darstellt, da es nicht alle Bereiche abdeckt (0,5 Punkte). b) Geben Sie vier Beispiele für Projekte, bei denen entweder das V-Modell oder das Spiralmodell Vorteile hätte. (2 Punkte) Das V-Modell ist vorteilhaft, wenn sowohl Hardware als auch Software entwickelt werden soll (0,5 Punkte) oder wenn es ein staatlicher Auftrag ist (0,5 Punkte). Das Spiralmodell sollte bei sich stark ändernden Anforderungen (0,5 Punkte) oder bei umfangreichen, graphischen Benutzerschnittstellen (0,5 Punkte) benutzt werden. Aufgabe 2 Aufwandsabschätzung (14 Punkte) Sie sollen einen neuen Web-Shop für den Verkauf und Versand von Blumen über das Internet entwickeln. Hierzu müssen Sie vorab eine Aufwandsabschätzung machen. Diese soll nach dem COCOMO2-Modell durchgeführt werden. Die Eckdaten des Systems sind: Vorgesehene Datenstämme sind: - ( Vorname, Name, - (Artikelnummer, Beschreibung, Preis) - Bestellung (Artikelnummer, Vorgesehene Operationen sind: - (Kundennummer wird nicht eingegeben) und Ändern von - (Gesamtpreis wird nicht eingegeben) von Bestellungen - von Artikeln - Abfragen von Bestellungen 1
- Drucken von Bestellungen - Weitergeben der entsprechenden Daten (ohne Artikeldaten) an die Bank zur Zahlungsabwicklung. a) Bestimmen Sie die einzelnen Function Types und deren Komplexität, sowie die Gesamtkomplexität des Sytems als Unadjusted Function Points. Begründen Sie jeweilis kurz die Anzahl der Function Types und Komplexitäten. Folgende Function Points liegen vor (1 Punkt je Zeile): ILF ILF Kundenstamm daten 1 (wird in einer DB- 1 (wird in einer DB- ILF Bestellung 1 (wird in einer DB- EQ EO Kundendaten Ändern Kundendaten Artikeldaten Bestellung Abfragen Bestellungen Bestellung drucken (, (, (, 2 7 ( Vorname, Name, (Artikelnummer, Beschreibung, Preis) 6 (Vorname, Name, 7 ( Vorname, Name, (Artikelnummer, Beschreibung, Preis) 5 (Artikelnummer, Zahlungsweise) Low Low Low Avg 4 Avg 4 Avg 5 Typ FP Records/ Referenzen Data Elements Komplexitätsgrad Gewicht
F Weitergeben an Bank 2 (Bestellungsdaten und 6 (Name, Vorname, Gesamtpreis, Zahlungsweise) Low 5 Damit beträgt die Gesamtkomplexität der Unadjusted Function Points 48. b) Welche weiteren Schritte sind in COCOMO2 zur Aufwandsabschätzung notwendig? Zuerst müssen aufwandsmultiplizierende Kostenfaktoren (Effort-Multiplier Cost Driver/Factors), wie z.b. Grad der Zuverlässigkeit oder Speicherplatzbeschränkungen, mit einbezogen werden. (1 Punkt) Auf Basis dieser Adjusted Function Points kann dann eine Schätzung der LOC erfolgen, die wiederum zur Aufwandsabschätzung dienen. (1 Punkt) c) Bewerten Sie COCOMO2 allgemein und als generelles Verfahren zur Abschätzung beliebiger Softwareprojekte. COCOMO2 ist wie alle schematischen Verfahren nicht geeignet, falls keine Anpassungen auf die besonderen Umstände eines Projekts gemacht werden. (1 Punkt) COCOMO arbeitet ergebnisorientiert, d.h. eine geeignet Maßzahl muss für das Softwareprodukt gefunden werden. Es ist aber schwierig eine gute Metrik hierfür zu finden. (1 Punkt) Aufgabe Projektplanung (22 Punkte) Für ein Entwicklungsprojekt wird die nachfolgende Liste von Vorgängen (Tätigkeiten) mit Angabe der jeweils geschätzten Dauer und erforderlichen Personenzahl sowie der Vorgängertätigkeiten erstellt. Vorgang A B C D E F G H I Dauer in Wochen 4 6 5 4 6 2 4 erford. Personenzahl 2 1 2 2 1 1 1 1 Vorgänger A A, B B C D, E G H Ein Vorgang kann erst begonnen werden, wenn alle seine Vorgänger abgeschlossen sind. Des Weiteren werden folgende Definitionen als Meilensteine verwendet: M1: Vorgang B ist abgeschlossen. M2: Vorgang F kann begonnen werden. M: Vorgang G ist abgeschlossen. M4: Vorgang H ist abgeschlossen. M5: Projekt ist abgeschlossen. Zu Beginn der Kalenderwoche 1 soll das Projekt beginnen. Wir verwenden folgende Abkürzungen: 1.Kw steht für 1. Tag der Kalenderwoche (Beginn der. Woche) 7.Kw steht für 7. Tag der Kalenderwoche (Ende der. Woche) w steht für die Dauer von Wochen 2 Pers. steht für den Ressourceneinsatz von 2 Personen a) Erstellen Sie einen Projektplan als Vorgangsknoten-Netzplan.
(4 Punkte) b) Bestimmen Sie den frühest möglichen Projektendetermin (Termin pet). (1 Punkt) Die Projektdauer beträgt 21 Wochen, d.h. mit Ende der Kw21 (pet) ist das Projekt frühestens beendet. pet ist also 7.Kw21. Auch 1.Kw22 wird akzeptiert. c) Geben Sie an, welche Vorgänge für den Termin pet kritisch sind. (2 Punkte) Im Netzplan von a) sind die kritischen Vorgänge rot gezeichnet. Der einzige kritische Pfad ist also: A D G H I d) Bestimmen Sie den spätest möglichen Anfangstermin für Vorgang C, so dass der Termin pet noch eingehalten werden kann. (1 Punkt) 1.Kw1 ist der spätest mögliche Anfangstermin für C. Auch 7.Kw12 wird akzeptiert. e) Erstellen Sie einen Projektplan als Gantt-Diagramm, so dass maximal Personen gleichzeitig im Projekt arbeiten und der Termin pet eingehalten wird. (5 Punkte) f) Bilden M1 M5 eine geeignete Menge von Meilensteinen für die Fortschrittskontrolle, wenn für alle Vorgänge als Beginn der frühest mögliche Zeitpunkt eingeplant wird? Begründen Sie Ihre Antwort durch Angabe der erfüllten und der nicht erfüllten Kriterien. ( Punkte) Es müssen drei Kriterien erfüllt sein: Überprüfbarkeit: Ist bei M1 M5 gegeben. Insbesondere M2 ist überprüfbar, denn F kann begonnen werden, sobald Vorgänger C abgeschlossen ist. Kurzfristigkeit: Werden alle Vorgänge frühest möglich begonnen, liegen die Meilensteine wie folgt: Meilenstein M1 M2 M M4 M5 erreicht 7.Kw 7.Kw10 7.Kw15 7.Kw17 7.Kw21 Abstand w 7w 5w 2w 4w 4
Beim Abstand 7w ist bei einer Gesamtprojektzeit von 21w die Kurzfristigkeit nicht erfüllt. Gleichverteilung: Die Abstände sind schwanken zwischen 2w und 7w, sind also kaum gleichverteilt. g) Für das Projekt stehen ausreichend viele Personen zur Verfügung. Es wird daher jeder Vorgang zum frühest möglichen Zeitpunkt begonnen. Zu Beginn jeder Woche finden Projektbesprechungen statt. Die folgende Tabelle gibt an, wann welche Verzögerungen bei welchen Vorgängen erkannt werden: zu Beginn der Woche 2 7 8 11 17 19 20 20 bei Vorgang B C C C F F F I Verzögerung um Wochen +1 +1 +2 +1 +4-1 +1 +1 Manche Verzögerungen der Vorgänge bewirken auch Verzögerungen von Meilensteinen. Erstellen Sie für M1, M2 und M5 eine entsprechende Meilensteintrendanalyse. (6 Punkte) Meilensteintrendanalyse 2 22 21 20 19 18 17 16 15 14 1 12 11 10 9 8 7 6 5 4 2 M1 M2 M5 Ziellinie 1 0 0 1 2 4 5 6 7 8 9 10 11 12 1 14 15 16 17 18 19 20 21 22 2 5