Professional Documents
Culture Documents
Usecasesindiagrammen
EenusecasediagramisnvandemeestgebruikteonderdelenvanUML.Meteenusecasediagramkunjeop eeneenvoudigemaniervastleggenwatvoorsoortengebruikers(actors)erzijnenwatvoorhandelingen(use cases)diemeteensysteemkunnenverrichten.Hetmooievanusecasediagrammenisdatzezogemakkelijkzijnte begrijpendatjezegoedkuntgebruikenvooroverlegmeteenklant.Inonderstaandevoorbeeldengaanweuitvan eenpinautomaat.
Actors
Eenactorgeefjeaanmeteenpoppetjemetdaaronderdenaam. Indefiguurhiernaastispinklanteenvoorbeeldvaneenactor. Eenactoriseenobjectdatdirectcommuniceertmeteensysteem. Datkanduseenmensofeenandersysteemzijn.
Usecases
Eenusecasewordtweergegevenmeteenellips,metdaarindetitelvandeusecase.Eenusecasestaatvooreen bepaaldehandelingofinteractiediedeactormethetsysteemkanhebben.Meestalisdetitelvandeusecasedan ookietsmeteenwerkwoord.Indefiguurhiernaastis"geld_opnemen"eenvoorbeeldvaneenusecase.Meteen pijlkunjeaangevendateenbepaaldeactoreenbepaaldeusecasemaguitvoeren.
Usecasediagrammen
Eenfiguuralshierbovenwordteenusecasediagramgenoemd.Meestalhebjemeerdereactorenenmeerdere usecases,enmeteendiagramkunjedanduidelijkmakenwiewatmagofmoetdoen.Behalvehetdiagramwordt ookaltijdnogeenbeschrijvingtoegevoegd.Daarinwordtbeschrevenwathetsysteemdoet,niethoehetsysteem datdoet.Desoftwarewordtalseenblackboxbeschouwd.Hieronderziejeeenuitgebreiderusecasediagram.
o o o o Hetsysteemstaatineengroterechthoek. Jezietinditdiagramdatervanuitdeactiegeld_opnemeneenvervolgactiebinnenhetsysteemontstaat,de usecasevind_rekening. Dezeactiewordteensubcasegenoemd,eneenusecasewordtmeteensubcaseverbondendooreenpijl (metstreepjeslijn)waarbij<>staat. Detekens,waartussenincludestaatwordenguillemetsgenoemd,eneenwoordtussendietekenswordteen stereotypegenoemd.Jezietdatjezosneleenduidelijkoverzichtkrijgtvandeinteractiesbinnenhet systeem. Jezietinhetdiagramnogmeer.Naastdeactorpinklantisernogeenactorbankmedewerkerdiehet pinapparaatregelmatigaanvult.Dederdeactorisdecomputerdiegeraadpleegdwordtvanuitdesubcase vind_rekening.Dieactorstaatrechtsvanhetsysteem,daarwordendeactorengetekenddieeendienst verzorgen. Linksstaandeactorendiegebruikersvoorstellendiehetsysteemgebruikenmeteenbepaalddoel.Deactor pinklantheeftnogeentweedeusecase:saldo_opvragen.Vanuitdezeusecasevindtookweerde vervolgactievind_rekeningbinnenhetsysteemplaats.
Klassen,Objecten,Methodenendiagrammen
Objecten
Bijdepinautomaathebjetemakenmeteenaantalobjecten,datzijndezakendiebepaaldehandelingen verrichten. Jehebtbijvoorbeelddepinklant.Diezaleenrekeninghebbenbijeenbepaaldebank,eneenpinpas,anderskanhij ofzijnietpinnen.Daaromnoemenwedepinklantvanafnueenrekeninghouder.Datisheteersteobject. Danhebbenwedepinautomaatzelf,datisookeenobject. Verderisereenobject,waarinhetgeldzitdatgepindkanworden.Datnoemenwedepin_geldkluis.Datobjectzal vastheeldichtindebuurtvandepinautomaatzitten,maarwenementochmaaraandatheteenapartobjectis. Ennatuurlijkzalbijhetpinnendedatabasevandebankgeraadpleegdmoetenworden,datkunjeookeenobject noemen.
Klassen
Erzijnnatuurlijkeenheleboelrekeninghouders.Deverzamelnaamvooraldierekeninghoudersiseenklasse. Enalsjeeenbepaalderekeninghouderhebt,bijvoorbeelddeheerR.J.vanderBeek,danisdateenobject.Het wordtookweleeninstantievandeklasserekeninghoudergenoemd. Deverzamelnaamvoorallepin_geldkluisenisdeklassepin_geldkluis. Alsjedepin_geldkluisvandepinautomaatvandeFrieslandbankinBuitenpostalsvoorbeeldneemt,danisdateen object.Enhetwordtookweleeninstantievandeklassepin_geldkluisgenoemd.
Attributen
Indiepin_geldkluisvandepinautomaatvandeFrieslandbankinBuitenpostziteenbepaaldehoeveelheid bankbiljetten.Erzittenmisschienwel200biljettenvan100euroin,enmisschienookwel200biljettenvan50 euro,eneenaantalbiljettenvan20euroeneenaantalbiljettenvan10euro.Dieaantallennoemjedeattributen vandeklassepin_geldkluis.Endepin_geldkluisbevatvastookweleenchipmetgeheugenplaatsen,waarindie aantallenwordenvastgelegd.
Methoden
Dieaantallenveranderennatuurlijkvoortdurend,enindegeheugenplaatsenmoetendieveranderingenook wordenbijgehouden. Alser200euroisgepind(4keer50euro)danmoethetaantal50jesmet4wordenverminderd.Hetprogramma onderdeeldatdaarvoorzorgtnoemjeeenmethode.Duseenklassebevatookeenaantalmethoden. Jehebteenmethodediewemaar"werk_hoeveelheid_bij".Endie200euromoetdanindelavandepinautomaat wordengelegd,demethodediedaarvoorzorgtnoemenwe"geef_geld". InUMLwordenklassendoorrechthoekenvoorgesteld,metbovenineenvakwaarindenaamvandeklasse. Deattributenenmethodenvandeklassewordenweergegevenintweeanderevakkenbinnenderechthoek,de attributeninhetmiddelstevakendemethodeninhetonderstevak. Alsjeeendiagrammaaktmetdaarinalleklassen,dannoemjedathetklassendiagram.Vanhetpinprojectzieje hethetklassendiagramhieronder.Daarinziejedaterookklassenzijndiegeenattributenhebben. Verderbestaanervaaknogrelatiestussendeklassen,daargaanwenunognietopin.
Objectgerinteerd
InUMLwordendedingen,dieergebeuren,meestalomschrevenalshetversturenvanboodschappendoor objecten,enhetuitvoerenvanmethodendoordeobjecten. AlsderekeninghouderR.J.vdBeekzijnpinpasinhetpinapparaatduwt,danwordtdiegebeurtenisinUML omschrevenals:hetobjectR.J.vdBeekstuurtdevolgendeboodschapnaarhetpinapparaat:controleermijn pinpas. Hetpinapparaatvoertvervolgensdemethode"lees_pasnummer"uit. Daarnastuurthetpinapparaateenseintjenaardeeropaangeslotencomputeromindedatabasehetpasnummer tecontroleren. DiegebeurteniswordtinUMLomschrevenals:hetobjectpinapparaatstuurtdevolgendeboodschapnaarhet objectcomputer:controleerhetpasnummer. Enzogaatdatverder.Dezemethodewordtobjectgerinteerdgenoemd,enafgekorttotOO(objectorinted). Hetbasisideevanobjectgeorinteerdmodellerenisdatdewereldbestaatuitobjectendiemetelkaar communicerendoorelkaarboodschappentesturen.
Sequentiediagram
Eensequentiediagramofvolgordediagramiseendiagramwaarininteractieindetijdzichtbaarwordtgemaakt,je zietinwelkechronologischevolgordedeverschillendeactieswordenuitgevoerd. Hetuitgangspuntvoorhetmakenvaneensequentiediagramisdeusecase. Alswebovenstaandusecasediagramnemendanzijnereenaantalgebeurtenissendieachterelkaarplaatsvinden. BijGeldopnemenzijndat: o o o o o o stopdepasindegleuf toetsdepincodein kiesGeldopnemen toetsdehoeveelheidgeldin neemdepasuit neemhetgeld
Eenvoorbeeldvanhetbijbehorendesequentiediagramstaathieronder:
o o o o o o o o Eenrekeninghouderwilgeldopnemen. Wehebbendaarbijtemakenmeteenaantalobjecten,hebbenwehierbovengezien. Datzijn:eenrekeninghouder,depinautomaat,dedatabase,endepin_geldkluis. Objectenwordenmetrechthoekenaangegeven,eninderechthoekwordtdenaamvanhetobjectvermeld, voorafgegaandooreendubbelepunt. Onderhetobjectwordteenvertikaletijdlijnaangegeven. Iseenobjectactief,danwordtdatmeteenverdikkingvandetijdlijn(hetwordteenrechthoek)aangegeven. Eenactiewordtmeteenpijlnaarhetobjecttoeweergegeven,eneenactiewordthieraltijdopgevatalseen verzoekofboodschapaaneenanderobject. Alsreactiewordtmeestaleenmethodeuitgevoerddoorhetobject,endanwordtervaakeenboodschap teruggestuurd.Datwordtdanookweergegevenmeteenpijl,maardatisdaneenpijlmeteenstreepjeslijn (ziepasnummer_akkoordenpincode_akkoordenleg_geld_klaar).
Toestandsdiagram
Eentoestandsdiagramofstatechartdiagramgeeftaanopwelkewijzeeenobjectvantoestandkanveranderenals reactieopgebeurtenissen.Eenstatechartdiagrambeschrijftdusdemogelijketoestandenvaneenobject,enhoe dietoestandverandertdoordeoperatiesdieophetobjectwordenuitgevoerd.Alsvoorbeeldnemenwewaterop hetschermvandepinautomaatverschijntnabepaaldeacties. Inhetbegintoonthetschermeenwelkomstscherm.Isereenpersoondiezijnpinpasinhetapparaatduwt,dan wordtdiepasgecontroleerdendanwordtereenvervolgactieingezet.Watdievervolgactieszijnisgemakkelijkuit onderstaandtoestandsdiagramaftelezen.