Lecture overview -- Keyboard shortcut: 'u'  Previous page: Løbende check af kontrakter under programudførelse -- Keyboard shortcut: 'p'  Next page: Assertions i objekt-orienterede programmeringssprog -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 28 : 31
Forelæsningsnoter i Objekt-orienteret Programmering
Designkontrakter og ansvarsfordeling
Udbyttet af kontrakter i programudviklings processen

Vi vil her opsummere udbyttet af kontrakter og assertions i hele programudviklingsprocessen

  • Kontrakter bidrager på følgende måde i programudviklingens faser - og videre frem:

    • Design: En pragmatisk fornuftig måde at lave programspecifikation

    • Dokumentation: Udgør sammen med signaturer og kommentarer et væsentlig del af klassens dokumentation

    • Implementation: Udgør retningslinier for programmeringen

    • Verifikation: Grundlaget for et formelt bevis af programmets korrekhed

    • Test: Afslører brud på kontrakter og deraf følgende behov for debugging og fejlretning

    • Drift: Bringer programmet i en undtagelsestilstand som udfordrer dets robusthed

Når vi taler om dokumentation i forbindelse med kontrakter tænker vi på, at kontraktforhold vil være meget nyttige at dokumentere via javadoc genereret dokumentation

Kontraktidéen går på tværs af alle væsentlige kontruktive faser i en programudviklingsproces