Universität Ulm -Sektion Angewandte Informationsverarbeitung
7.Übungsblatt (18.01.1999 bis 25.01.1999)
zur Vorlesung Software Engineering Praxis (WS 1998/99)
Um Ihr Lebensversicherungsangebot noch ausgefeilter und kundenorientierter zu halten, machen Sie eine detailliertere Untersuchung der Risikoaspekte. Als Ergebnis erhalten Sie folgende Faktoren gegenüber den aus den DAV-Tabellen errechneten Beiträgen:
BMI | m | w |
---|---|---|
[19, 20) | 1,0 | 0,8 |
[20. 25] | 0,8 | 0,8 |
(25, 27] | 1,2 | 1,2 |
Ferner zeigt sich, daß die Frauen generell etwas günstiger abschneiden als kalkuliert, so daß für Frauen ein weiterer Abschlag von 5% gerechtfertigt ist. Basierend auf diesen Daten entwickeln Sie folgendes Unterprogramm, das in Abhängigkeit von einem BMI zwischen 19 und 27 und dem Geschlecht den Korrekturfaktor ausrechnet:
sub faktor { my ($bmi, $gender)=@_; my $f = 1.0; if ($gender eq "w") {$f = 0.95} else {$f = 1.0}; if ($bmi < 20 && $gender eq "m") { $f *= 1.2 } else { $f *= 0.8 }; if ( $bmi > 20 && $bmi <= 25 ) { $f *= 0.8 }; if ( $bmi > 25 ) { $f *= 1.2 }; return $f; }
Schreiben Sie einen Programmrumpf zum Testen der Funktion, der aus einer Datei jeweils zeilenweise BMI und Geschlecht einliest und das Ergebnis in folgender Form ausgibt (6 Punkte):
| BMI | m/w | Faktor | |-------+-----+--------| | 20.50 | w | 0.6080 |
Generieren Sie White-Box-Testfälle für die Überdeckungen C0, C1 und C_7 (6 Punkte) sowie Testfälle für einen Black-Box-Test (4 Punkte).
Korrigieren Sie die Funktion faktor() (4 Punkte).