• Keine Ergebnisse gefunden

WS2012/13–¨Ubungsblatt2Ausgabe:7.November2012Abgabe:bissp¨atestens14.November2012anChristian.Seepold@uni-wuppertal.de Softwareg¨ute

N/A
N/A
Protected

Academic year: 2022

Aktie "WS2012/13–¨Ubungsblatt2Ausgabe:7.November2012Abgabe:bissp¨atestens14.November2012anChristian.Seepold@uni-wuppertal.de Softwareg¨ute"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

BERGISCHE UNIVERSIT ¨ AT WUPPERTAL

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de

Fachbereich C

MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik und Informatik

Softwareg¨ ute

WS 2012/13 – ¨ Ubungsblatt 2 Ausgabe: 7. November 2012

Abgabe: bis sp¨atestens 14. November 2012 an Christian.Seepold@uni-wuppertal.de

Prof. Dr. Hans-J¨urgen Buhl Praktische Informatik / Numerik

E-Mail: buhl@math.uni-wuppertal.de

WWW: http://www.math.uni-wuppertal.de/∼buhl

Aufgabe 1. Programmverifikation

Beschreiben Sie den Nutzen der Programmverifikation (Quelle:

http://en.wikipedia.org/wiki/Program verification). Warum setzt die Programmverifikation eine (formale) Programmspezifikation voraus?

Erl¨autern Sie die Verifikation des GCD-Algorithmus

begin {a >0, b≥0}

x:=a;y:=b;

while y6= 0 do {gcd(a,b) = gcd(x,y) } begin r:=xmod y;

x:=y;

y:=r end

{x=gcd(a, b)}

end

(entnommen: Suad Alagi´c/Michael A. Arbib: THE DESIGN OF WELL-STRUCTURED AND CORRECT PROGRAMS, Springer- Verlag, New York, 1978)

in eigenen Worten.

”Reicht“ die Verifikation eines Programms als Qua- lit¨atssicherung aus?

Aufgabe 2. Software-G¨ute

Lesen Sie den Artikel:

http://en.wikipedia.org/wiki/Coding by exception

Beschreiben Sie in eigenen Worten (in deutscher Sprache) die dort ge- schilderten

”Anti-Pattern“.

1

(2)

Wie sind sie in Bezug auf produkt- und projektorientierte Qualit¨atsan- forderungen an Software einzuordnen?

Aufgabe 3. Magische Zahlen

Was versteht man beim Programmieren unter magischen Zahlen (http://en.wikipedia.org/wiki/Magic number (programming))?

Warum sind sie schlecht f¨ur die Software-G¨ute? Wie sollten sie vermie- den werden?

Welche Qualit¨atsanforderungen verletzt Code mit

”magic Pushbut- tons“ (http://en.wikipedia.org/wiki/Magic pushbutton)?

Aufgabe 4. Test-driven development

Lesen Sie http://en.wikipedia.org/wiki/Test-driven development und beschreiben Sie in eigenen Worten, wo und wie die Softwarespezifikation in der testgetriebenen Softwareentwicklung zum Tragen kommt.

Was sind Unit-Tests?

Welche Unit-Test-Werkzeuge stehen f¨ur C++ zur Verf¨ugung (http://en.wikipedia.org/wiki/List of unit testing frameworks#C.2B.2B)?

2

Referenzen

ÄHNLICHE DOKUMENTE

Erkl¨aren Sie in eigenen Worten, welche Eigenschaften hier semantisch gefordert werden?.

(Wann liefert jeder der beiden Algorithmen einen Wert un- gleich Unendlich, wann den Wert NaN?). Wann sollte deshalb der Algorithmus 1, wann der Algorithmus 2 be-

void _I_default_handler(const char *exprn, const char *file, int line) { statt Zeile 84 von src/nana-config.h.in:.. typedef

Zeigen Sie, dass das Parkplatzproblem genau eine L¨osung der in der Vorlesung spezifizierten Art f¨ur alle Eingabegr¨oßen besitzt, die die Vorbedingungen erf¨ullen?. Warum sollte

Geben Sie in eigenen Worten an, wie sich die Vorbedingungen, die Nachbedingungen und die Invarianten in einer Kindklasse relativ zu denjenigen einer Elternklasse verhalten sollten,

Erg¨anzen Sie simple stack0.cc durch einen weiteren Konstruktor mit zwei Parametern, einem Feld G[] und einem int f¨ur die L¨ange dieses Feldes. Das durch diesen Konstruktor

Spezifizieren Sie f¨ur die Klasse Polarkoordinaten eine Me- thode void set_x_y(double x, double y) sowie eine Methode void double_vector(), die die L¨ange des Exemplar-Vektors

void _I_default_handler(const char *exprn, const char *file, int line) { statt Zeile 84 von src/nana-config.h.in:.. typedef