• Keine Ergebnisse gefunden

SS2007–¨Ubungsblatt3Ausgabe:26.April2007Abgabe:bissp¨atestens3.Mai2007inderVorlesung ProgrammingbyContract

N/A
N/A
Protected

Academic year: 2022

Aktie "SS2007–¨Ubungsblatt3Ausgabe:26.April2007Abgabe:bissp¨atestens3.Mai2007inderVorlesung ProgrammingbyContract"

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

Programming by Contract

SS 2007 – ¨ Ubungsblatt 3 Ausgabe: 26. April 2007

Abgabe: bis sp¨atestens 3. Mai 2007 in der Vorlesung

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

E-Mail: Hans-Juergen.Buhl@math.uni-wuppertal.de WWW: http://www.math.uni-wuppertal.de/buhl

Aufgabe 1. Quantoren

http://userserv.fh-reutlingen.de/∼hug/artikel/ForumWI01%20SdV.pdf informiert ¨uber das Gebiet ”Spezifikation durch Vertrag“.

Welchen Einsatz sehen Sie f¨ur Quantoren (Pr¨adikatenlogik)? Was kann man ohne diese nicht spezifizieren?

Aufgabe 2. Software-G¨ute

Lesen Sie die drei Artikel:

http://en.wikipedia.org/wiki/Coding by exception http://en.wikipedia.org/wiki/Creeping featurism http://en.wikipedia.org/wiki/Accidental complexity

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

”Anti-Pattern“.

Wie sind sie in Bezug auf die in der Vorlesung besprochenen produkt- und projektorientierten Qualit¨atsanforderungen 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 der Vorlesung verletzt Code mit”magic Pushbuttons“ (http://en.wikipedia.org/wiki/Magic pushbutton)?

Aufgabe 4. Hard coding

Welche Software-G¨utekriterien verletzt das hard coding (http://en.wikipedia.org/wiki/Hard code)?

1

(2)

Aufgabe 5. Anti-structured Programming

Welche Auswirkungen auf die Software-G¨ute hat

Spaghetticode (http://en.wikipedia.org/wiki/Spaghetti code), welche Raviolicode (http://en.wikipedia.org/wiki/Ravioli code)?

Stellen Sie diese beiden Anti-Pattern in Zusammenhang mit struktu- rierter und unstrukturierter Programmierung!

2

Referenzen

ÄHNLICHE DOKUMENTE

Spezifikation durch Vertrag — eine Basistechnologie f¨ur eBusiness und beantworten Sie die folgenden Fragen ¨uber die dort vorgestellten Beispiel-Contracts:.. – Welches Attribut

Welche Anforderungen/Prinzipien auf Seite 17 und 18 der Material- sammlung beinflußt die schriftliche Niederlegung von Vor- und Nach- bedingungen sowie von Invarianten positiv?.

Erl¨autern Sie, welche Software-G¨utekriterien-Mißachtungen zum Pro- blem ” Ein sahniger Brocken“ (Seite 5 der Materialsammlung) gef¨uhrt haben (Erstellung einer

Erg¨anzen Sie dann im gcd-Algorithmus (Seite 13f. der Materialsamm- lung) alle auftretenden Hoare-Tripel, indem Sie diese einzeln jeweils in drei Zeilen niederschreiben und

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,

Legen Sie ein Verzeichnis $HOME/src/nana-2.5 an, entpacken Sie die Datei nana 2.5.orig.tar.gz dorthin und lesen Sie die Installations- anleitung INSTALL sowie das Kapitel 2

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

Reformulieren Sie einen (evtl. noch nicht ausf¨uhrbaren) Contract nur mit Hilfe der grundlegenden Observatoren.. Kritisieren Sie analog die Berechnung von old keys in der