You are on page 1of 6

UML

UMLstaatvoorUnifiedModelingLanguage.DatlaatzichnaarhetNederlandsvertalenalsAlgemene Modelleertaal.De(grafische)taalkenttweesoortendiagrammen:statischeendynamische.Zieonderstaande schemavooreenoverzicht.

Defunctievandezemodelleertaalisomeen(grafisch)overzichtvanhetontwerpenfunctiestegevenvaneente bouwen(software)systeem.Hierdoorhebbenallebetrokkenen(ontwerper,bouwer,klant,etc.)snellereen overzichtvandefunctiesvaneentebouwensysteemdandooreenloutertekstuelebeschrijving. VanuiteengedegenUMLontwerpkanrelatiefeenvoudigdooreenCASEapplicatieeensoftwareapplicatie gebouwdworden.HierbijkunjeophetMicrosoftplatformmetnameaanMSVisiodenken.Viadezeapplicatiekun jevrijwelgeautomatiseerdeen(Windowsofweb)toepassingbouwen.

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).

Hetdiagramisonvolledig,wantdesituatieswaarinhetpasjegeweigerdwordtenz,zijnweggelaten. Meestalwordterineensequentiediagrammaarnmogelijkheiduitgewerkt,voordeanderescenario'swordt daneenapartsequentiediagramgemaakt.

Toestandsdiagram
Eentoestandsdiagramofstatechartdiagramgeeftaanopwelkewijzeeenobjectvantoestandkanveranderenals reactieopgebeurtenissen.Eenstatechartdiagrambeschrijftdusdemogelijketoestandenvaneenobject,enhoe dietoestandverandertdoordeoperatiesdieophetobjectwordenuitgevoerd.Alsvoorbeeldnemenwewaterop hetschermvandepinautomaatverschijntnabepaaldeacties. Inhetbegintoonthetschermeenwelkomstscherm.Isereenpersoondiezijnpinpasinhetapparaatduwt,dan wordtdiepasgecontroleerdendanwordtereenvervolgactieingezet.Watdievervolgactieszijnisgemakkelijkuit onderstaandtoestandsdiagramaftelezen.

Eengrotezwartestipgeefthetstartpuntaan;eenkleinerestipineencirkelisheteindpunt.Eenafgeronde rechthoekgeefteentoestandweer;eenpijlgeefteentoestandsovergangweer,endaarbijkunnenvoorwaarden wordenopgenomen,dieertussenhakenbijwordengeplaatst.Eengrotegelestipgeefteenkeuzeblokje (choicepoint)aan;vandaaruitvertrekkentweepijlen:nvoordeactiediewordtondernomenalsdevoorwaarde waaris,ennvoordeactiediewordtondernomenalsdevoorwaardenietwaaris.

You might also like