LE 2

Werbung
LE 2
1
Software-Technik
1 Die Planungsphase
Lastenheft und
Schätzmethoden
Prof. Dr. Helmut Balzert
Lehrstuhl für Software-Technik
Ruhr-Universität Bochum
© Helmut Balzert 1998
LE 2
2
E ni füh rung und Ü be rb lci k
LE 1
V U n te rnehm en sm ode llei rung
1 G rund al gen
2 O b ej k to rei n tei r te
U n te rnehm en sm ode llei rung
LE 24
LE 25
2 LE
IIISW Q
- ua litä ts s ci he rung
ISW -E n w
t ci k ul ng
IISW M
- anagem en t
1 G rund al gen
1 D ei P al nung spha se
1 G rund al gen
LE 2 – 3
LE 1
2 P al nung
2 Q ua litä ts s ci he rung
2 D ei D e fni itoi n spha se
LE 2
3 O rgan si a toi n
LE 4 – 22
LE 10
LE 23 – 31
3 M anue lel
P rüm
f e thoden
LE 11
3 D ei E n w
t u r fspha se
LE 3 – 4
4 P e rsona l
4 D ei m
I p elm en tei rung spha se
LE 5
5 Le itung
6 K on tro lel
LE 12 – 13
LE 33
5 P rodu k tqua litä t
– K om ponen ten
LE 14 – 17
6 D ei W a r tung s -& P fel gepha se
LE 8
4 P ro zeß qua litä t
LE 32
5 D ei A bnahm e - und
E ni füh rung spha se
LE 6 – 7
LE 9
LE 33
8 LE
6 P rodu k tqua litä t
– S ys tem e
LE 18 – 19
32 LE
11 LE
V
I Q ue rschn itte und A u sb lci ke
1 P rni z pi ei n
& M e thoden
LE 20
2
LE 21
3 W ei de rve w
r e n d un g
LE 22
4 S an ei rung
LE 23
4 LE
LE 2
3
Lernziele
 Für vorgegebene Aufgabenstellungen ein
Lastenheft entsprechend dem
beschriebenen Lastenheft-Schema
erstellen können
 Die aufgeführten »Faustregeln«
wiedergeben und auf Beispiele anwenden
können.
LE 2
4
Inhalt
1.1 Einführung und Überblick
1.2 Beispiel: Aufbau eines Lastenheftes
1.3 Einflußfaktoren der Aufwandsschätzung
1.4 Basismethoden der Aufwandsschätzung.
LE 2
5
1.1 Einführung und Überblick
 Planen des Produktes:
 Auswählen des Produktes





Trendstudien
Marktanalysen
Forschungsergebnisse
Kundenanfragen
Vorentwicklungen.
LE 2
6
1.1 Einführung und Überblick
 Voruntersuchung des Produkts


u.U. gezielte Ist-Aufnahme, wenn bereits
Vorgängerprodukt vorhanden; anschl.
Ist-Analyse
Festlegen der Hauptanforderungen




Festlegen der Hauptfunktionen
Festlegen der Hauptdaten
Festlegen der Hauptleistungen
Festlegen der wichtigsten Aspekte der
Benutzungsschnittstelle
 Festlegen der wichtigsten Qualitätsmerkmale.
LE 2
7
1.1 Einführung und Überblick
 Durchführbarkeitsuntersuchung

Prüfen der fachlichen Durchführbarkeit
 softwaretechnische Realisierbarkeit
 Verfügbarkeit Entwicklungs- und Zielmaschinen

Prüfen alternativer Lösungsvorschläge
 Beispiel: Kauf und Anpassung von Standardsoftware
vs. Individualentwicklung

Prüfen der personellen Durchführbarkeit
 Verfügbarkeit qualifizierter Fachkräfte für die
Entwicklung
Prüfen der Risiken
 Prüfen der ökonomischen Durchführbarkeit
 Aufwands- und Terminschätzung
 Wirtschaftlichkeitsrechnung.

LE 2
8
1.1 Einführung und Überblick
 Ergebnisse dieser Tätigkeiten:
 Durchführbarkeitsstudie (feasibility study)



Lastenheft (grobes Pflichtenheft)
Projektkalkulation
Projektplan.
LE 2
9
1.2 Beispiel: Aufbau eines Lastenheftes
 Aufgabe
 Adressaten
 Inhalt
 Form
 Sprache
 Didaktik
 Zeitpunkt
 Umfang.
LE 2
10
1.2 Beispiel: Aufbau eines Lastenheftes
 Gliederungsschema
 Zielbestimmung
 Produkteinsatz
 Produktfunktionen
 Produktdaten
 Produktleistungen
 Qualitätsanforderungen
 Ergänzungen.
LE 2
11
1.2 Beispiel: Seminarorganisation
Version
2.1
2.2
Autor
Balzert
Balzert
QS
Datum
3/91
10/91
Status
akzeptiert
akzeptiert
Kommentar
/F115/
1 Zielbestimmung

Die Firma Teachware soll durch das Produkt in
die Lage versetzt werden, die von ihr
veranstalteten Seminare rechnerunterstützt zu
verwalten
2 Produkteinsatz


Das Produkt dient zur Kunden- und
Seminarverwaltung der Firma Teachware.
Außerdem sollen verschiedene Anfragen
beantwortet werden können
Zielgruppe: die Mitarbeiter der Firma Teachware.
LE 2
12
1.2 Beispiel: Seminarorganisation
3 Produktfunktionen
/LF10/
Ersterfassung, Änderung und Löschung von
Kunden (Teilnehmer, Interessenten)
/LF20/
Benachrichtigung der Kunden
(Anmeldebestätigung, Abmeldebestätigung,
Änderungsmitteilungen, Rechnung, Werbung)
/LF30/
Ersterfassung, Änderung und Löschung von
Seminarveranstaltungen und Seminartypen
/LF40/
Ersterfassung, Änderung und Löschung von
Dozenten sowie Zuordnung zu
Seminarveranstaltungen und Seminartypen.
LE 2
13
1.2 Beispiel: Seminarorganisation
/LF50/
Ersterfassung, Änderung und Löschung
von Seminarbuchungen
/LF60/
Erstellung von Rechnungen
/LF70/
Erstellung verschiedener Listen
(Teilnehmerliste, Umsatzliste,
Teilnehmerbescheinigungen)
/LF80/
Anfragen der folgenden Art sollen möglich
sein:
Wann findet das nächste Seminar X statt?
Welche Mitarbeiter der Firma Y haben das
Seminar X besucht?
LE 2
14
1.2 Beispiel: Seminarorganisation
4 Produktdaten
/LD10/
Es sind relevante Daten über die Kunden zu
speichern
/LD20/
Falls ein Kunde zu einer Firma gehört, dann sind
relevante Daten über die Firma zu speichern
/LD30/
Es sind relevante Daten über
Seminarveranstaltungen, Seminartypen und
Dozenten zu speichern
/LD40/
Bucht ein Kunde eine Seminarveranstaltung,
dann sind entsprechende Buchungsdaten zu
speichern.
LE 2
15
1.2 Beispiel: Seminarorganisation
5 Produktleistungen
/LL10/
Die Funktion /LF80/ darf nicht länger als 15
Sekunden Interaktionszeit benötigen, alle
anderen Reaktionszeiten müssen unter 2
Sekunden liegen
/LL20/
Es müssen maximal 50.000 Teilnehmer und
maximal 10.000 Seminare verwaltet werden
können.
LE 2
16
1.2 Beispiel: Seminarorganisation
6 Qualitätsanforderungen
Produktqualität
Funktionalität
Zuverlässigkeit
Benutzbarkeit
Effizienz
Änderbarkeit
Übertragbarkeit
sehr gut gut normal
x
x
x
x
x
x.
nicht relevant
LE 2
17
1.3 Einflußfaktoren der Aufwandsschätzung
 Wirtschaftlichkeit eines Produktes:
Gewinn (Verlust) =
Deckungsbeitrag * geschätzte Menge –
einmalige Entwicklungskosten
mit:
Deckungsbeitrag =
Preis – laufende variable Kosten.
LE 2
18
1.3 Aufwandsschätzung
 Sicht des Software-Herstellers bzw. des
Auftragnehmers
 Kosten eines Software-Systems:

Entwicklungskosten
 Hauptanteil der Entwicklungskosten:
Personalkosten
 Anteilige Umlegung der CASE-Umgebungskosten
(einschl. Hardware und Systemsoftware) für die
Produktentwicklung
 Kosten für andere Dienstleistungen, Büromaterial,
Druckkosten, Dokumentation, Reisekosten usw.
sind im Verhältnis zu den Personalkosten
bedeutungslos.
LE 2
19
1.3 Einflußfaktoren der Aufwandsschätzung
 Methoden zur Kosten- und Terminschätzung
 Die meisten Modelle basieren auf dem geschätzten
Umfang des zu erstellenden Software-Produktes in
»Anzahl der Programmzeilen« bzw. in
Lines of Code (LOC)
 Bei höheren Sprachen werden z.B. alle
Vereinbarungs- und Anweisungszeilen geschätzt
 Der geschätzte Umfang wird durch einen
Erfahrungswert für die Programmierproduktivität
(in LOC) eines Mitarbeiters pro Jahr oder Monat
geteilt
 Ergebnis: geschätzter Aufwand in MJ oder MM
 1 MJ = 9 MM oder 10 MM.
LE 2
20
1.3 Einflußfaktoren der Aufwandsschätzung

Der so ermittelte Aufwand wird durch die nach
der Terminvorgabe zur Verfügung stehende
Entwicklungszeit geteilt
 Ergebnis:
 Die Zahl der für die Entwicklung einzusetzenden,
parallel arbeitenden Mitarbeiter

Faustregeln
 Eine durchschnittliche Software-Entwicklung
liefert ungefähr 350 Quellcodezeilen (ohne
Kommentare) pro Ingenieurmonat
 Dabei umfaßt die Ingenieurzeit alle Phasen von
der Definition bis zur Implementierung.
LE 2
21
1.3 Einflußfaktoren der Aufwandsschätzung
 Beispiel
 Es soll ein Software-Produkt mit geschätzten
21.000 LOC realisiert werden
 Durchschnittliche Produktivität pro Mitarbeiter
 3.500 LOC/Jahr
 6 Mitarbeiterjahre werden benötigt
 Arbeiten 3 Mitarbeiter im Team zusammen,
dann werden 2 Jahre bis zur Fertigstellung
benötigt.
LE 2
22
1.3 Einflußfaktoren der Aufwandsschätzung
 Einflußfaktoren
 Quantität
 Qualität
 Entwicklungsdauer
 Kosten.
LE 2
23
Das »Teufelsquadrat«
Q ua litä t
Q uan t itä t
+
+
1
P rodu k tvi iä
t t
a
d
–
–
+
+
b
c
2
–
Enw
t ci k ul ng sdaue r
–
K o s ten
LE 2
24
1.3 Einflußfaktoren der Aufwandsschätzung
 Quantität
 Größe
Maß »Anzahl Programmzeilen« (LOC)
 lineare oder überproportionale Beziehung
zwischen LOC und dem Aufwand
 Umfang
 Problem, den Funktions- und Datenumfang exakt
zu definieren
 Maß unabhängig von einer Programmiersprache
 Komplexität
 qualitative Maße »leicht«, »mittel« und »schwer«
 Abbildung auf Zahlenreihe

 Beispiel: Noten zwischen 1 und 6.
LE 2
25
1.3 Einflußfaktoren der Aufwandsschätzung
 Qualität
 Je höher die Qualitätsanforderungen, desto
größer ist der Aufwand
 Es gibt nicht die Qualität, sondern es gibt
verschiedene Qualitätsmerkmale
 Jedem Qualitätsmerkmal lassen sich
Kennzahlen zuordnen.
LE 2
26
1.3 Einflußfaktoren der Aufwandsschätzung
 Entwicklungsdauer
 Soll die Zeit verkürzt werden, dann werden
mehr Mitarbeiter benötigt
 Mehr Mitarbeiter erhöhen den
Kommunikationsaufwand innerhalb des
Entwicklungsteams
 Der höhere Kommunikationsanteil reduziert
die Produktivität
 Kann die Entwicklungsdauer verlängert
werden, dann werden weniger Mitarbeiter
benötigt
 Der Kommunikationsanteil sinkt
 Die Produktivität jedes Mitarbeiters steigt.
LE 2
27
1.3 Einflußfaktoren der Aufwandsschätzung
 Berechnung der optimalen Entwicklungsdauer,
wenn der Aufwand in MM bekannt ist:
Optimale Entwicklungsdauer =
2,5 * (Aufwand in MM)s [Monate]
mit s = 0,38 für Stapel-Systeme
s = 0,35 für Online-Systeme
s = 0,32 für Echtzeit-Systeme.
LE 2
28
1.3 Einflußfaktoren der Aufwandsschätzung
 Beispiel


Schätzung, daß der Entwicklungsaufwand
für ein neues Online-System 9 MM beträgt
Als optimale Entwicklungsdauer ergibt sich:
 Dauer = 2,5 * 90,35 [Monate] = 5,3 Monate

Die durchschnittliche Größe des Teams
beträgt:
 Anzahl Mitarbeiter = 9 MM / 5,3 Monate = 1,7.
LE 2
29
1.3 Einflußfaktoren der Aufwandsschätzung
 Produktivität
 Wird von vielen verschiedenen Faktoren
beeinflußt
 Die Lernfähigkeit und Motivation der
Mitarbeiter ist entscheidend.
LE 2
30
Schätzmethode
SDC
IBM-Handbuch
SURBOCK
ARON
T.O.P
Shell
Wolverton
SLIM
FUTH
Software-Part
EGW
Boeing
IFA-PASS
DOTY
GRIFFIN
Schneider
INVAS
ZKP
COCOMO
Function Point
Jahr
67
68
78
69
71
72
74
74
75
76
77
77
77
77
77
78
80
80
81
81
Methode
Ps
G, P
G, P
M, P
A, G
G, P, Gs D
M
PS
G, P
A
G
G, PS, M
A, P
G, PS
G, P
Ps
R, G
G, P
G, Ps
A, G
Einsatz
P
D
P, D
P
P, D, E
1, 4
P
P, D, E
D
P
P, E
P, E
P
P
P
P
I
D
P
I
Faktoren
1
1, 4
1, 2, 4
1, 2, 3, 4
1, 2, 3
1
1, 4
1, 4
1, 2, 4
1, 4
1, 4
1, 2, 4
1, 2, 4
1, 4
1
1, 2, 3, 4
1, 4
1, 2, 3, 4
1, 2, 3, 4
LE 2
31
1.4 Basismethoden der Aufwandsschätzung
 Analogiemethode
 Vergleich der zu schätzenden Entwicklung mit
bereits abgeschlossenen ProduktEntwicklungen anhand von
Ähnlichkeitskriterien
 Kriterien
 gleiches oder ähnliches Anwendungsgebiet
 gleicher oder ähnlicher Produktumfang
 gleicher oder ähnlicher Komplexitätsgrad
 gleiche Programmiersprache usw.
LE 2
32
1.4 Basismethoden der Aufwandsschätzung
 Beispiel: Analogiemethode
 Pascal-Compiler: 20 MM
 Modula-2-Compiler?
20% neue Konstrukte
 50% des Codes wiederverwendbar
 50% müssen überarbeitet werden
 Schätzung
 50% leicht modifiziert: 1/4 von 10 MM = 2,5 MM
 50% völlige Überarbeitung: 10 MM
 20% zusätzliche Neuentwicklung hoher
Komplexität:

 4 MM * 1,5 (Komplexitätszuschlag) = 6 MM

Schätzung Modula-2: 18,5 MM.
LE 2
33
1.4 Basismethoden der Aufwandsschätzung
 Nachteile: Analogiemethode
– intuitive, globale Schätzung aufgrund
–
–
individueller Erfahrungen
fehlende allgemeine Vorgehensweise
fehlende Nachvollziehbarkeit einer Schätzung.
LE 2
34
1.4 Basismethoden der Aufwandsschätzung
 Relationsmethode
 Das zu schätzende Produkt wird direkt mit
ähnlichen Entwicklungen verglichen
 Aufwandsanpassung erfolgt im Rahmen einer
formalisierten Vorgehensweise
 Für die Aufwandsanpassung stehen
Faktorenlisten und Richtlinien zur Verfügung.
LE 2
35
1.4 Basismethoden der Aufwandsschätzung
 Beispiel: Relationsmethode
 Faktoren:
Programmiersprache Programmiererfahrung
PL/1 = 100
5 Jahre = 80
COBOL = 120
3 Jahre = 100
ASSEMBLER = 140
1 Jahr = 140
Dateiorganisation
sequentiell = 80
indexsequentiell = 120
 Werte geben an, in welcher Richtung und wie stark
die einzelnen Faktoren den Aufwand beeinflussen.
LE 2
36
1.4 Basismethoden der Aufwandsschätzung
 Beispiel: Relationsmethode
 Ein neues Produkt soll in PL/1 realisiert
werden
 Das Entwicklungsteam hat im Durchschnitt
3 Jahre Programmiererfahrung
 Es ist eine indexsequentielle
Dateiorganisation zu verwenden.
LE 2
37
1.4 Basismethoden der Aufwandsschätzung
 Zum Vergleich: Entwicklung...




die im Assembler programmiert wurde
eine sequentielle Dateiorganisation verwendete
von einem Team mit 5 Jahren
Programmiererfahrung erstellt wurde
Geht man davon aus, daß alle 3 Faktoren den
Aufwand gleichgewichtig beeinflussen, dann
ergibt sich folgende Kalkulation:
 Assembler zu PL/1:
140 zu 100 = 40 Punkte Einsparung
 5 Jahre zu 3 Jahre:
80 zu 100 = 20 Punkte Mehraufwand
 sequentiell zu indexsequentiell:
80 zu 120 = 40 Punkte Mehraufwand

Es ergibt sich ein Mehraufwand von 20 Punkten.
LE 2
38
1.4 Basismethoden der Aufwandsschätzung
 Multiplikatormethode
 Das zu entwickelnde System wird soweit in
Teilprodukte zerlegt, bis jedem Teilprodukt ein
bereits feststehender Aufwand zugeordnet
werden kann (z.B. in LOC)
 Der Aufwand pro Teilprodukt wird meist durch
Analyse vorhandener Produkte ermittelt
 Oft werden auch die Teilprodukte bestimmten
Kategorien zugeordnet wie
 Steuerprogramme
 E/A-Programme
 Datenverwaltungsroutinen
 Algorithmen usw.
LE 2
39
1.4 Basismethoden der Aufwandsschätzung
 Die Anzahl der Teilprodukte, die einer
Kategorie zugeordnet sind, wird mit dem
Aufwand dieser Kategorie multipliziert
 Die erhaltenen Werte für eine Kategorie
werden dann addiert, um den Gesamtaufwand
zu erhalten
 Auch »Aufwand-pro-Einheit-Methode«
genannt.
LE 2
40
1.4 Basismethoden der Aufwandsschätzung
 Beispiel: Multiplikatormethode
 Die Aufteilung eines zu schätzenden Produkts
in Teilprodukte hat folgendes ergeben:
Kategorie
Steuerprogramm
E/A-Programme
Datenverwaltung
Algorithmen
Summe
Teilprodukte
1*500 LOC
1*700+2*500
1*800+2*250
1*300+5*100
Summe
LOC
500
1700
1300
800
Aufwandsfaktor
1,8
1,5
1,0
2,0
LOC
bewertet
900
2550
1300
1600
6350.
LE 2
41
1.4 Basismethoden der Aufwandsschätzung
 Gewichtungsmethode
 Zunächst werden Faktoren festgelegt, die für
die Schätzung relevant sind
 Sie sind subjektiv (z.B. Qualifikation des
Personals) oder objektiv (z.B. verwendete
Programmiersprache) zu bewerten
 Den Faktorausprägungen sind Werte
zugeordnet
 Die Werte aller Faktoren werden nach einer
vorgegebenen mathematischen Formel
verknüpft und ergeben dann den
Gesamtaufwand.
LE 2
42
1.4 Basismethoden der Aufwandsschätzung
 Methode der parametrischen Gleichungen
 Durch Korrelationsanalysen wird ermittelt,
welche Faktoren welchen wertmäßigen Einfluß
auf den Gesamtaufwand haben
 Solche Analysen müssen mit einer großen
Anzahl von abgeschlossenen Entwicklungen
und einer Vielzahl von Faktoren durchgeführt
werden
 Die Faktoren, die die höchste Korrelation
besitzen, werden zu einer Gleichung
zusammengefaßt
 Der zu jedem Faktor gehörende Koeffizient
repräsentiert die Stärke des Einflusses auf den
Gesamtaufwand.
LE 2
43
1.4 Basismethoden der Aufwandsschätzung
 Der Aufwandsfaktor repräsentiert den Einfluß
des jeweiligen Faktors auf den
Gesamtaufwand
 Als Gleichung würde sich ergeben:
 LOCbewertet=
LOCSteuerprogramme*1,8 +
LOCE/A-Programme*1,5 +
LOCDatenverwaltung*1,0 +
LOCAlgorithmen*2.
LE 2
44
1.4 Basismethoden der Aufwandsschätzung
 Bewertung
 Es ist eine umfangreiche, empirische
Datensammlung und -auswertung erforderlich,
um die zu berücksichtigenden Faktoren
unternehmensspezifisch zu bewerten
 Die Koeffizienten müssen permanent überprüft
werden, um den technischen Fortschritt zu
berücksichtigen.
LE 2
45
1.4 Basismethoden der Aufwandsschätzung
 Prozentsatzmethode
 Aus abgeschlossenen Entwicklungen wird
ermittelt, wie der Aufwand sich auf die
einzelnen Entwicklungsphasen verteilt hat
 Bei neuen Entwicklungen schließt man
entweder eine Phase zunächst vollständig ab
und ermittelt aus dem Ist-Aufwand dann
anhand der Aufwandsverteilung den SollAufwand für die restlichen Phasen
 Oder man führt eine detaillierte Schätzung
einer Phase durch und schließt hieraus dann
auf den Gesamtaufwand.
LE 2
46
1.4 Basismethoden der Aufwandsschätzung
 Prozentsatzmethode
aa
bb
DD
e efni fni toiitnoi n
303%0%
TeTse st t
202–02–52%5%
EE
nw
nt w
tu ur fr f
303%0%
CC
ododei eriun
rugng
151–52–02%0%
DD
e efni fni toiitnoi n
181%8%
TeTse st t
292%9%
EE
nw
nt w
tu ur f r f
191%9%
CC
ododei eriun
rugng
343%4%
 Kann bereits frühzeitig eingesetzt werden,
wenn der Aufwand für mindestens eine Phase
durch den Einsatz einer anderen Methode
bestimmt wurde.
LE 2
47
1.4 Basismethoden der Aufwandsschätzung
 Bewertung
 Keine der aufgeführten Basismethoden allein ist
ausreichend
 Je nach Zeitpunkt und Kenntnis von
aufwandsrelevanten Daten sollte die eine oder
andere Methode eingesetzt werden
 Für frühzeitige, grobe Schätzungen müssen die...
 Analogie Relations- und
 Prozentsatzmethode
 eingesetzt werden.
LE 2
48
1.4 Basismethoden der Aufwandsschätzung
 Sind die Einflußfaktoren während der
Entwicklung dann genauer bekannt, dann
sollten die genaueren Methoden, wie die...
 Gewichtungs- oder
 Multiplikationsmethode oder
 die Methode der parametrischen
Schätzgleichungen
 Verwendung finden.
LE 2
49
Zusammenhänge
Legende :
P ha se
P ha sene rgebn si
P al nung spha se
D u rch füh rba rke its s u
t d ei
S o
t p o rG o
A u sw äh el n de s P rodu k ts
V o run e
t rsu chung de s P rodu k ts
H aup a
t n fo rde rungen zu samm en s e
t lel n
D u rch füh rba rke itsun e
t rsu chung
fa ch lci h p
/ e rsone ll
A le
t rna tvi en p rü e
fn
P rü e
f n de r ö konom si chen D u rch füh rba rke it
Auw
f and s - und Te m
r ni schä tzung
W ir ts cha ft lci h ke its re chnung
La s e
t nhe ft (g robe s P f lci h e
t nhe ft)
P ro ej k tka kl u al toi n
P ro ej k tp al n
LE 2
50



Danke!
Aufgaben
Diese Präsentation bzw. Teile
dieser Präsentation enthalten
Inhalte und Grafiken des
Lehrbuchs der SoftwareTechnik (Band 1)
von Helmut Balzert,
Spektrum Akademischer
Verlag, Heidelberg 1996
Herunterladen