Objecten en Volgordediagrammen Objecten z Verschillende voorstellingswijzen Objecten
Objecten en Volgordediagrammen
Objecten z. Verschillende voorstellingswijzen:
Objecten z. Zelfde relaties als klassen, bijvoorbeeld:
Volgordediagrammen z Klassediagram -> statische structuur van programma -> welke methoden de klassen hebben z volgordediagram: -> toont wanneer de methoden gebruikt worden of samenhangen -> toont berichtenverkeer tss een aantal objecten voor een bepaald gebruik van het systeem
Volgordediagrammen z volgordediagram: -> toont de volgorde van dit berichtenverkeer -> toont het gedrag van het systeem -> 2 assen * horizontaal: links -> rechts objecten * vertikaal: boven -> onder tijdas
Volgordediagrammen
Volgordediagrammen z volgordediagram: ->vanuit elk object: levenslijn -> tussen levenslijnen : horizontale pijlen = berichten of communicatie tss objecten hoe hoger bericht hoe eerder -> verzenden van bericht naar object = aanroepen van overeenkomstige methode -> methode is actief -> activatie van levenslijn: stippellijn verandert in langgerekte blok
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
Volgordediagrammen z 2 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
Volgordediagrammen vb. Instant vorm
Volgordediagrammen vb. Generieke vorm
Volgordediagrammen z creatie 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
Volgordediagrammen vb. creatie
Volgordediagrammen vb. vernietiging
Volgordediagrammen z vb. 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.
Volgordediagrammen
Volgordediagrammen ->gebruik klasse Bestel. Interface, met één instantie de interactie met de gebruiker verzorgt. -> methode nieuwe. Bestelling( ): wordt aangeroepen als gebruiker een nieuwe bestelling doet
Volgordediagrammen
Volgordediagrammen ->gebruiker voert nieuwe bestelling in: => instantie van Bestel. Interface ontvangt bericht nieuwe. Bestelling( ). -> creatie nieuwe instantie van Bestelling door instantie van Bestel. Interface -> voor ieder item : bericht bestel. Artikel( ) naar dit object, met argumenten artikelnummer en aantal -> bestel. Artikel( ): bericht get. Voorraad( ) om voorraad van artikel op te vragen
Volgordediagrammen -> voorraad >= gewenste aantal =>nieuwe instantie van Bestel. Item -> 4 objecten -> drie soorten acties * creatie van een object * verzenden van een bericht (ofwel het aanroepen van een methode) * terugkeer vanuit een methode. -> bestel. Artikel( ) wordt verschillende keren verzonden (multipliciteit: *) -> lus
Volgordediagrammen -> get. Voorraad( ) : 1 x telkens wanneer de bestelling een bericht bestel. Artikel( ) -> als conditie geldt : uitvoeren van actie => als het bestelde aantal van het artikel in voorraad is ->nieuw bestel. Item -> belangrijk : volgordediagram = informeel. bestel. Artikel( ) wordt voor ieder besteld artikel 1 keer verstuurd aan de nieuwe instantie van Bestelling -> get. Voorraad( ) naar betreffende object van Artikel, en dat is voor ieder bestel. Item( ) een ander.
Volgordediagrammen ->berichtenverkeer => verschillende objecten van Artikel betrokken zijn -> volgt niet uit volgordediagram ->verband tussen de 1 e parameter van bestel. Artikel( ) en de instantie artikel, volgt ook niet uit volgordediagram. => volgordediagram = hulpmiddel voor programmeur => kan niet op zichzelf staan => meer formele beschrijving blijft daarvoor nodig.
Volgordediagrammen -> tweede gebruiksmogelijkheid : verwijderen van een bestelitem -> weglating van gebruiker : meestal zo -> nieuw actie: object van de klasse Bestelling stuurt een bericht naar zichzelf.
Volgordediagrammen
Volgordediagrammen -> verwijder. Artikel( ) roept een (private) hulpmethode contoleer. Item( ) aan -> die controleert of het item wel tot de bestelling behoort => 2 methoden tegelijkertijd actief, nl. verwijder. Artikel( ) en contoleer. Item( ) => dubbele activatie. -> aanroepen naar private methoden hoeven niet worden opgenomen in volgordediagram
Volgordediagrammen ->terugkeerpijlen: aan eind van activatie mogen weg gelaten worden omwille van overzicht z toepassing: teken een volgordediagram voor het berichtenverkeer bij het berekenen van de totaalprijs van een bestelling. Neem aan dat het bericht bereken. Prijs( ) verstuurd wordt aan een instantie van Bestelling door een instantie van Bestel. Interface.
Volgordediagrammen
- Slides: 27