22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Hoofdstuk 3<br />

Methodologie<br />

In dit hoofdstuk bespreken we eerst wat Design By Contract (DBC) is. Hier worden klasseinvarianten,<br />

pre- en postcondities grondig uitgelegd. Verder leggen we uit hoe DBC in programmeertalen<br />

zoals JAVA kan gesimuleerd worden die per denitie geen expliciete ondersteuning<br />

van DBC heeft. Na deze inleiding over DBC gaan we uitleggen welke aanpakken we<br />

in deze thesis hebben gebruikt om de doelstellingen te kunnen bereiken. De eerste aanpak<br />

is redelijk naïef. Deze aanpak is eenvoudig maar veroorzaakt in sommige gevallen veel overhead.<br />

Een tweede aanpak die we ontwikkeld en bestudeerd hebben, noemen we de intelligente<br />

aanpak. Deze is meer eciënt dan de naïeve aanpak ten opzichte van de uitvoeringstijd maar<br />

tegelijkertijd is de complexiteit van de structuur die uiteindelijk de broncode gaat genereren<br />

ook verhoogd.<br />

3.1 Design By Contract<br />

Desing By Contract [25] is een methode voor het ontwikkelen van kwaliteitssoftware bedacht<br />

door Bertrand Meyer. DBC focusseert zich op het maken van software contracten op een<br />

expliciete en formele manier. Deze software contracten speciceren wat elke operatie in een<br />

systeem van de oproeper vereist en wat aan de oproeper gegarandeerd wordt.<br />

De denitie van een contract is in het DBC principe afgeleid van de notie van een contract.<br />

Een contract is een wettelijke overeenkomst tussen twee partijen waarin beide partijen alle<br />

verbintenissen aanvaarden. In termen van object-georiënteerde ontwikkeling is een contract<br />

een middel om de verantwoordelijkheden van objecten op een precieze en niet ambigu manier<br />

vast te leggen. Een object is aansprakelijk voor het uitvoeren van diensten (verplichten) enkel<br />

en alleen als sommige voorwaarden voldaan zijn. Een contract is een nauwkeurige specicatie<br />

van de interface van een object. Alle objecten die gebruik willen maken van de aangeboden<br />

diensten heten klanten of consumenten. Het object dat deze diensten aanbiedt noemt men de<br />

leverancier of producent.<br />

Alhoewel de notie van contract afkomstig van de rechten praxis is, wijkt het contract beetje af<br />

wanneer het men in de context van object-georiënteerde ontwikkeling neerzet. Namelijk een<br />

contract is aangeboden door een leverancier al dan niet een klant aanwezig is. Echter als een<br />

klant gebruik van de aangeboden diensten in een contract maakt, verplicht de klant zich aan<br />

de voorwaarden in het contract.<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!