Hoofdstuk 11: Operation contracts Flashcards
Beschrijf het begrip ‘systeemoperatie’.
Met een systeemoperatie worden de activiteiten van een systeem bedoeld als antwoord op een systeemevent. De relatie tussen een systeemevent en een bijhorende systeemoperatie is dezelfde als tussen een event en een event handler.
Voorbeelden zijn:
- makeNewSale()
- enterItem()
- endSale()
Beschrijf het begrip ‘operation contract’.
Een contract specifieert het effect van de verwerking van een systeemevent op de toestand van de objecten in het domein.
Beschrijf het begrip ‘post conditie’ van een contract.
Postcondities geven aan wat, indien aan de precondities voldaan is, moet gelden na afloop van de uitvoering van die systeemoperatie.
De systeemoperatie zelf is verantwoordelijk voor de postcondities.
Druk postcondities uit in de verleden tijd.
Geef aan wat het nut is van het opstellen van een contract.
Een contract is nuttig wanneer een situatie te gedetailleerd of complex is om te worden opgenomen in de use case.
Geef aan in welke omstandigheden het nuttig is om een contract op te stellen.
Contracten kunnen nuttig zijn wanneer de toestandsveranderingen die door een bepaalde operatie gerealiseerd moeten worden, zo complex zijn dat hun opname in de use-casebeschrijving deze te moeilijk leesbaar maakt.
Beschrijf de rol van operation contracts binnen UP.
Operation contracts worden niet gebruikt tijdens inception, ze zijn te gedetailleerd.
Wanneer operation contracts worden gebruikt zullen ze worden geschreven tijdens de elaboration fase, wanneer het merendeel van de uses cases zijn geschreven.
Beschrijf het begrip ‘pre conditie’ van een contract.
Een preconditie is een voorwaarde die gegarandeerd geldt wanneer de operatie gestart wordt.
De aanroeper van een systeemoperatie is verantwoordelijk voor de precondities.
Wat zijn de secties van een contract.
- Operation (name)
- Cross references
- Preconditions
- Postconditions