Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

27
Objecten en Volgordediagrammen

Transcript of Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Page 1: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Objecten en Volgordediagrammen

Page 2: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Objecten

Verschillende voorstellingswijzen:

Page 3: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Objecten

Zelfde relaties als klassen, bijvoorbeeld:

Page 4: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

VolgordediagrammenKlassediagram -> statische structuur van

programma -> welke methoden de

klassen hebbenvolgordediagram:

-> toont wanneer de methoden gebruikt worden of samenhangen-> toont berichtenverkeer tss een aantal objecten voor een bepaald gebruik van het systeem

Page 5: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammenvolgordediagram:

-> toont de volgorde van dit berichtenverkeer -> toont het gedrag van het systeem-> 2 assen

* horizontaal: links -> rechts objecten

* vertikaal: boven -> onder tijdas

Page 6: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

Page 7: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammenvolgordediagram:

->vanuit elk object: levenslijn-> tussen levenslijnen : horizontale pijlen

= berichten of communicatie tss objectenhoe hoger bericht hoe eerder

-> verzenden van bericht naar object = aanroepen van overeenkomstige methode-> methode is actief -> activatie van levenslijn: stippellijn verandert in langgerekte blok

Page 8: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen-> activatie : * begint wanneer object bericht ontvangt * eindigt bij terugkeer uit methode-> label op pijlen* -> label = naam bericht + eventueel parameters* <- label = eventueel terugkeerwaarde-> voorwaarde : tussen rechthoekige haken moet waar zijn voordat bericht kan verstuurd en ontvangen worden

Page 9: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen2 vormen

-> Instant vorm* 1 specifiek scenario in detail* 1 mogelijke interactie van het systeem* zonder voorwaarden, lussen

-> Generieke vorm* alle mogelijke alternatieven van een scenario* met vertakkingen, voorwaarden en lussen

Page 10: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

vb. Instant vorm

Page 11: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

vb. Generieke vorm

Page 12: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammencreatie en vernietiging van objecten

-> creatie* object creëert een ander object door middel van bericht* op tijdas : nieuwe object wordt getekend wanneer het gecreëerd is

-> vernietiging* levenslijn stopt van object* X

Page 13: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

vb. creatie

Page 14: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

vb. vernietiging

Page 15: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammenvb. orderverwerkingssysteem

-> ontwerpmodel-> gebruiksmogelijkheid : invoeren van een bestelling

* gebruiker gaat eerst aangeven dat er een nieuwe bestelling wordt opgegeven* vervolgens een reeks items opgeven* elk bestaande uit een artikelnummer en een aantal* artikel niet in voldoende mate in voorraad artikel kan niet worden besteld.

Page 16: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

Page 17: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

->gebruik klasse BestelInterface, met één instantie die de interactie met de

gebruiker verzorgt. -> methode nieuweBestelling( ): wordt aangeroepen als gebruiker een nieuwe bestelling doet

Page 18: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

Page 19: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen->gebruiker voert nieuwe bestelling in:

=> instantie van BestelInterface ontvangt bericht nieuweBestelling( ).

-> creatie nieuwe instantie van Bestelling door instantie van BestelInterface-> voor ieder item : bericht bestelArtikel( ) naar dit object, met argumenten artikelnummer en aantal-> bestelArtikel( ): bericht getVoorraad( ) om voorraad van artikel op te vragen

Page 20: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen-> voorraad >= gewenste aantal

=>nieuwe instantie van BestelItem -> 4 objecten-> drie soorten acties

* creatie van een object* verzenden van een bericht (ofwel het aanroepen van een methode) * terugkeer vanuit een methode.

-> bestelArtikel( ) wordt verschillende keren verzonden (multipliciteit: *) -> lus

Page 21: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen-> getVoorraad( ) :1x telkens wanneer de bestelling een bericht bestelArtikel( ) -> als conditie geldt : uitvoeren van actie

=> als het bestelde aantal van het artikel in voorraad is ->nieuw bestelItem ->

belangrijk :volgordediagram = informeel. bestelArtikel( ) wordt voor ieder besteld artikel 1 keer verstuurd aan de nieuwe instantie van Bestelling -> getVoorraad( ) naar betreffende object van Artikel, en dat is voor ieder bestelItem( ) een ander.

Page 22: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen->berichtenverkeer => verschillende objecten van Artikel betrokken zijn -> volgt niet uit

volgordediagram->verband tussen de 1e parameter van bestelArtikel( ) en de instantie artikel, volgt ook niet uit volgordediagram.

=> volgordediagram = hulpmiddel voor programmeur => kan niet op zichzelf

staan => meer formele beschrijving blijft daarvoor nodig.

Page 23: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

-> tweede gebruiksmogelijkheid : verwijderen

van een bestelitem-> weglating van gebruiker :meestal zo

-> nieuw actie: object van de klasse Bestelling

stuurt een bericht naar zichzelf.

Page 24: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

Page 25: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen-> verwijderArtikel( ) roept een (private)

hulpmethode contoleerItem( ) aan

-> die controleert of het item wel tot de bestelling

behoort

=> 2 methoden tegelijkertijd actief, nl.

verwijderArtikel( ) en contoleerItem( )

=> dubbele activatie.

-> aanroepen naar private methoden hoeven niet

worden opgenomen in volgordediagram

Page 26: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen

->terugkeerpijlen: aan eind van activatie

mogen weg gelaten worden omwille van

overzicht

toepassing: teken een volgordediagram voor het berichtenverkeer bij het berekenen van de totaalprijs van een bestelling. Neem aan dat het bericht berekenPrijs( ) verstuurd wordt aan een instantie van Bestelling door een instantie van BestelInterface.

Page 27: Objecten en Volgordediagrammen. Objecten zVerschillende voorstellingswijzen:

Volgordediagrammen