Dankwoord - martes
Dankwoord - martes
Dankwoord - martes
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