UML keel. Keel visuaalseks modelleerimiseks. Ajalugu ja skeemide nimekiri

Similar documents
Praktikumi ülesanne nr 4

VALGE SÄRK PÕHIKANGAS TWO FOLD

Väiketuulikute ja päikesepaneelide tootlikkuse ja tasuvuse võrdlus

LOGO. Eesti Arengukoostöö ja Humanitaarabi

Teema 10. Loogiline disain. CASE

Elekter päikesest Eestis aastal Andri Jagomägi, Ph.D. Tallinna Tehnikaülikool Materjaliteaduse Instituut

Tartu Ülikool Psühholoogia osakond. Margit Tamm. Algklasside õpilaste verbaalsete võimete hindamine. Individuaalse ja grupitestimise võrdlus

Tarkvaraprotsessi küpsuse hindamise ja arendamise võimalusi Capability Maturity Model i näitel

jõudlusega ning vähendab võrra.

JÄRELTULIJALIJA e. Küsimustele vastab direktor Sirje Kautsaar

EESTI STANDARD EVS-EN :2008

Ehitisintegreeritud fotoelektriliste päikesepaneelide tootlikkus ja majanduslik tasuvus Eesti kliimas aastal 2011

Head lapsevanemad! Aasta 2009 hakkab läbi saama ning peagi on kätte jõudmas jõuluaeg ja aasta lõpp. Jõuluaeg on kindlasti meelespidamise

TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond IDK40LT Ilja Kudrjavtsev IAPB JÄRELTURU ELEKTRILINE DIFERENTSIAALILUKK AUTO ABS PÕHJAL Bakala

SADAMA VASTUVÕTUSEADMETE VÄIDETAVATEST PUUDUSTEST TEAVITAMISE VORM FORM FOR REPORTING ALLEGED INADEQUACIES OF PORT RECEPTION FACILITIES

Elektrituuliku seisundi reaalajajälgimissüsteem ja selle rakendused

Kaitseväe Ühendatud Õppeasutused Taktika õppetool

K ägu. Eesti Bioloogia ja Geograafia Õpetajate Liidu toimetised

Naabrireeglid klassifitseerimisel

MADALA TASEME JUHTKONTROLLERI ARENDUS ISEJUHTIVALE SÕIDUKILE

Arvutiklassi broneerimise veebirakendus. Eesti koolidele. Tallinna Ülikool. Informaatika Instituut. Bakalaureusetöö. Autor: Raimo Virolainen

This document is a preview generated by EVS

ATS3000/4000 Juhtpaneel. Kasutusjuhend

Tartu Ülikool Sotsiaal- ja Haridusteaduskond Haridusteaduste instituut Klassiõpetaja õppekava

Bill Rogers. Käitumine klassiruumis. Tõhusa õpetamise, käitumisjuhtimise ja kolleegitoe käsiraamat

Rehvitemperatuuri mõõtesüsteem võistlusautole FEST14

See dokument on EVS-i poolt loodud eelvaade

Cold rolled narrow steel strip for heat treatment - Technical delivery conditions - Part 3: Steels for quenching and tempering

KURTNA KOOLI KLASSI ÕPILASTE RAHULOLU- UURINGU TULEMUSED

SPORTLIK VABAVÕITLUS EESTIS

Lennunduse ja kosmonautika seeria. Peaga ja väikese tolerantsiga lõiketihvtid Aerospace series - Pins, shear, headed, close tolerance

EESTI STANDARD EVS-EN 25199:1999. Tsentrifugaalpumpade tehnilised andmed. Klass II Technical specifications for centrifugal pumps - Class II

This document is a preview generated by EVS

MUUDETUD juunis Kõik õigused kaitstud WADA

ETTEVÕTTE VÄÄRTUSE KUJUNEMINE LÄHTUVALT VALITUD STRATEEGIAST AS i IMPREST NÄITEL

This document is a preview generated by EVS

Excel Tallinna Ülikool

Tartu Ülikool Germaani, romaani ja slaavi filoloogia instituut KÜTTE, VENTILATSIOONI JA ÕHUKONDITSIONEERIMISE INGLISE-EESTI SELETAV SÕNASTIK

Petrol snow thrower. Petrol snow thrower SPT GB Original instructions EE. Algupärase kasutusjuhendi tõlge

Tuleohutuspaigaldiste ja päästevahendite rakendamise juhend haiglatele ja hooldekodudele

Geograafilise päritolu ennustamine geeniekspressiooni ja geneetilise varieeruvuse abil

PALDISKI LINNAPLANEERING LEETSES

Rakendustarkvara: R. Sügis 2017, 4. praktikum

TOITESÜSTEEMI TÄIUSTAMINE RAHA SÄÄSTMISEKS

KÄSIRAAMAT WALDORFKOOLI LAPSEVANEMALE

TARTU ÜLIKOOLI VILJANDI KULTUURIAKADEEMIA Muusikaosakond Koolimuusika õppekava

This document is a preview generated by EVS

EESTI STANDARD EVS-EN 15355:2008

This document is a preview generated by EVS

Eesti Haigekassa DRG piirhinna ja piiride arvutamise metoodika hindamine

PUBLITSEERIMISKESKUS. Kasutusjuhend

See dokument on EVS-i poolt loodud eelvaade

Projekti TULUKE viis ellu Tartu Linnavalitsus

Eestikeelne kasutusjuhend

Kinnituselemendid ja ühendustehnika. Kvaliteet, mida saab usaldada

Palju häid raamatuid! Septembris müügil AINULT raamatuklubi liikmetele!

EMG SIGNAALITÖÖTLUSPLOKK JUHTIMISRAKENDUSTEKS

TLS-300 TLS-350 Plus TLS-350R

Akregatori käsiraamat. FrankÕsterfeld Anne-Marie Mahfouf Tõlge eesti keelde: Marek Laane

This document is a preview generated by EVS

This document is a preview generated by EVS

EESTI STANDARD EVS-EN ISO :2016

This document is a preview generated by EVS

KÄSIRAAMAT WALDORFKOOLI LAPSEVANEMALE

EESTI MAAÜLIKOOL Tehnikainstituut. Ago Ütt-Ütti

KÕRGEPINGE-IMPULSSTRAFO TOITEALLIKA JA KÕRGEPINGEMUUNDURIGA TESTMOODULI PROJEKTEERIMINE ESS-I PROOTONIKIIRENDILE

This document is a preview generated by EVS

KESKMOOTORIGA RALLIAUTO TAURIA PLASTKOORIKU RENOVEERIMINE

This document is a preview generated by EVS

KXStitchi käsiraamat. Stephen P. Allewell

EESTI STANDARD EVS-EN 1975:2000

3. MAJANDUSSTATISTIKA

Laevaehitus. Traalivintsid Shipbuilding - Trawl winches

Kaarel Zilmer Tallinna Ülikooli Terviseteaduste ja Spordi Instituudi dotsent

Mees, kelle kinnisideeks on tehtud töö kvaliteet

This document is a preview generated by EVS

See dokument on EVS-i poolt loodud eelvaade

Ohutuskaartide ja kokkupuutestsenaariumide juhend

TÖÖSTUSLIKUST KANEPIST SOOJUSISOLATSIOONIMATERJALIDE OMADUSTE UURIMINE STUDYING CHARACTERISTICS OF THERMAL INSULATION MATERIALS FROM INDUSTRIAL HEMP

This document is a preview generated by EVS

This document is a preview generated by EVS

EESTI STANDARD EVS-EN ISO :2010. Coating powders - Part 5: Determination of flow properties of a powder/air mixture

KEELEKÜMBLUSE KÄSIRAAMAT TALLINN

This document is a preview generated by EVS

Talendi valik ja arendamine spordis

See dokument on EVS-i poolt loodud eelvaade

Laevamootorite tulevik Anders Toomus Osakonna juhatja AB Volvo Penta Service Communication

This document is a preview generated by EVS

ARUKAS POSITSIONEER. ND9100H Rev Paigaldamise, hooldus- ja kasutusjuhendid 7 ND91H 70 et Väljaanne 1/07

EESTI STANDARD EVS-EN :2016

This document is a preview generated by EVS

KEY TO SYMBOLS. Symbols. Choke: Set the choke control in the choke position. 2 English AT26CCMC

Raudteealased rakendused. Rattapaarid ja pöördvankrid. Rattapaarid. Tootenõuded KONSOLIDEERITUD TEKST Railway applications - Wheelsets and bogies -

VÄLJALASKESÜSTEEMI PROJEKTEERIMINE ÜKSIKKORRAS VALMISTATUD SÕIDUKILE

This document is a preview generated by EVS

Eesti Orienteerumisliidu võistlusreeglid 2018

AIP Supplement for Estonia

Fertilizers and liming materials and soil improvers - Vocabulary - Part 1: General terms

This document is a preview generated by EVS

Kasutusjuhend Slagkrafti kraanad

Transcription:

UML keel Keel visuaalseks modelleerimiseks. Ajalugu ja skeemide nimekiri

Mudel Mudel on tegelikkuse lihtsustatud, üldistatud esitus. Mudel peab aitama nähtust paremini mõista; tegevusi planeerida. Mudel on kvaliteetne, kui ta: kirjeldab täpselt uuritavat süsteemi; on arusaadav teistele inimestele (mitte ainult modelleerijale).

Modelleerimiskeel Modelleerimiskeel (modeling language) on (graafiline) vahend, mida kasutatakse erinevate mudelite ja kavandite loomiseks. Modelleerimine on mudelite loomine. Tarkvara kavandamisel luuakse erinevaid mudeleid nii tarkvarast kui valdkonnast. Luua struktuur probleemi lahendamiseks. Mõelda läbi erinevad lahendused, leida neist sobivaim. Suhelda teistega inimestega.

Objekt-orienteeritud modelleerimismeetodid Tekkisid 1980-te aastate keskel peale OO-keelte tulekut (varem struktuursed meetodid). Aastatel 1988 1994 palju OOA (analüüs) ja OOD (disain/kavandamine) raamatuid. Kasutati erinevaid meetodeid ja tähistusi: Booch'i meetod; Rumbaugh meetod (object modeling technique OMT); Jacobson'i meetod (object-oriented software engineering OOSE); Coad'i and Yourdon'i meetod; Wirfs-Brock'i meetod;...

Standardiseerimine Mis on üldisemalt vaja standardeid? Konkreetse kontekstis: meetodite paljusus, erinevate meetodite pooldajate omavaheline leppimatus ja vastastikune mittemõistmine. Q: What is the difference between a methodologist and a terrorist? A: You can negotiate with a terrorist.

UML UML (Unified Modeling Language) on graafiline modelleerimiskeel, millega saab OO-tehnikas kirjeldada süsteemi elemente, mõisteid ja seoseid; kirjeldada, visualiseerida ja dokumenteerida tarkvarasüsteemi detaile. UML on 1997 a OMG (Object Modeling Group) poolt tunnustatud tehnoloogia ning 2005 a kinnitatud ISO poolt standardina. Arendusprotsess ei olnud UML-i loojate eesmärk ja UML ei ole seotud ühegi arendusprotsessiga.

Vaated süsteemile Nii tarkvarasüsteemile kui reaalelule saab vaadata erinevatest vaatenurkadest. Üks võimalik jaotus: Staatiline ehk struktuurivaade: Keskendub süsteemi struktuurile, milest koosneb, kuidas osad seotud, kasutab objekte, atribuute, seoseid. Dünaamiline ehk käitumisvaade: Keskendub süsteemi ja tema osade käitumisele ja dünaamikale, süsteemis toimuvatele protsessidele, objektide olekute muutumisele.

UML-i skeemid UML-i skeemid (ingl diagram) võib sarnaselt jaotada kaheks: struktuuriskeemid struktuurimudelite koostamiseks; käitumisskeemid käitumismudelite koostamiseks. Järgneval slaidil on skeem UML skeemide jaotuse kohta, allikas: http://commons.wikimedia.org/wiki/file:uml_diagram2.png

UML-i skeemid

Klassiskeem. Skeemi elemendid ja nende tähendus. Valdkonnamudel.

Üldist klassiskeemist Klassiskeem (class diagram) on staatiline skeem ehk struktuuriskeem. Klassiskeem kirjeldab süsteemis olevate objektide tüüpe ja mitmesuguseid struktuurseid seoseid nende vahel. Klassiskeem näitab klassi omadusi, klassi operatsioone ja piiranguid objektide vahelistele seostele. Klassi omadusi ja operatsioone nimetatakse ka erisus (feature).

Skeemi elemendid Klassiskeem on elementide poolest väga rikas. Kõiki elemente ma ei käsitle. Olulisemad osad, milleta ei saa: Klass (class) pideva joonega ristkülik, mis on jaotatud kolmeks osaks: klassi nimi klassi atribuudid (omadused) klassi operatsioonid (meetodid) Seos (relationship) joon, millega ühendatakse klassid ja millel võib olla nimi ning suund (>).

Nimi Klassile antav nimi kirjutatakse UML-is soovituslikult suure algustähega. Nimeks tuleb valida nimisõna, ei sobi tegevusnini (nt registreerimine ). Nimi peab pärinema modelleeritavast keskkonnast (eriti valdkonnamudelil). Nimi ei tohi olla mitmeti mõistetav. Hästi valitud nimi lihtsustab mudeli mõistmist.

Omadused Omadused (properties) iseloomustavad klassi mingil viisil. Nad on klassi struktuursed erisused. Ingl keeles kasutatakse sõna feature Erisusi on kahte liiki: atribuudid (attributes) sidemed (associations) Ehkki skeemil on nad kujutatud erinevalt, võib nende abil esitada/kirjeldada samu asju. Atribuudid on kirjas klassi sees. Sidemed on teiste klassidega, kuid ka läbi sideme saab klassi kohta midagi öelda. Teine kord kasutatakse mõisteid atribuut ja omadus ka samas tähenduses.

Atribuudi kirjeldus (1) Atribuuti esitatakse tekstina klassi ristküliku keskmises osas. Atribuudi üldkuju: visibility name: type multiplicity = default {property-string} nähtavus nimi: tüüp võimsustik = vaikeväärtus {omaduse-string} Ainus kohustuslik osa sellest on atribuudi nimi. Tihti lisatakse ka (andme)tüüp.

Atribuudi kirjeldus (2) nähtavus kas atribuut on nähtav väljaspool klassi; + avalik (public), # kaitstud (protected), - privaatne (private); nimi - kuidas klass saab atribuudile viidata; tüüp - piirangud atribuudile omistatavate väärtuste osas, sisuliselt andmetüüp; võimsustik mitu atribuudi eksemplari saab olla; vaikeväärtus atribuudi võimalik algväärtus;

Operatsioonid e meetodid on klassi poolt tehtavad tegevused. Klassil peavad olema operatsioonid tööks oma atribuutidega (nn get ja set). Skeemile neid tavaliselt ei lisata. Operatsioonid kirjeldatakse väljundtüübi (return-type), nime ja argumentide kaudu Operatsiooni signatuuri süntaks: nähtavus nimi(argumentide-loetelu): väljundtüüp {omaduse string} Ainsana on nendest kohustuslik operatsiooni nimi.

Operatsiooni kirjeldus nähtavus saab olla + (public), # (protected), - (private) nimi on tavaliselt string (NB - sisukas) argumentide loetelu koosneb enamasti argumentide nimedest ja tüüpidest; väljundtüüp tulemuse andmetüüp, mis sõltub realisatsioonikeelest. omaduse string täiendav iseloomustus

Seosed Seosed (relationships) kirjeldavad klassiskeemil seda, millised klassid ja kuidas omavahel seotud on. Mõned klassiskeemil kasutatavaid seoseid on: side (association) vastavate klasside objektide vahel on ühendus üldistus (generalization) seos üldisema ja spetsiifilisema klassi vahel sõltuvus (dependency) üks klass sõltub teisest klassist

Side (1) Side (association) on seos kahe klassi vahel. Side on enamasti kahesuunaline, st kumbki klass on teise olemasolust ja nende vahelisest seosest teadlik. Sidet tähistatakse skeemil pideva joonega kahe klassi vahel. Sidemel (kui erisusel) võib olla: nimi; rollinimi; võimsustik. Võivad eksisteerida ka ühesuunalised sidemed, siis on kasutusel nool, mis näitab tuttava klassi poole.

Nimi Sidemele on võimalik nime anda kahel viisil: määrates rollid ühele või mõlemale sideme otsale (nimisõnana) nimi koosneb rollinimedest lisades sidemele nimeks tegusõna

Võimsustik Võimsustik (multiplicity) mitu ühe klassi isendit on seotud teise klassi ühe isendiga. üks number (1, 13) täpne objektide arv klassis; vahemik objektide arv jääb näidatud piiridesse: 1.. * - üks või rohkem; 0.. *, * - null või rohkem; 0.. 1 null või üks; Võimsustik on seose mõlemas otsas (st teises otsas on vastuseks 1).

Roll Roll (role) on nimi ühes või teises sidemeotsas, mis selgitab, millist osa klass teise klassi elus etendab. Roll ei pruugi alati olla sama kui klassi ametlik nimi. Üks ja sama klass võib erinevatele klassidele erinevaid rolle etendada. Rolli lisamine võib (aga ei pruugi alati) aidata mudelit paremini mõista. Rolli pole vaja alati lisada. Samas võib ta tuua mudelisse juurde olulise mõiste.

Üldistuse seos Üldistuse (generalization) abil saadakse ülemklassid ja alamklassid. Klasside sarnasused paigutatakse ühte ülemklassi (superclass), alamklassideks (subclass) on konkreetsed klassid. Ülemklass on mitme klassi üldistus, nende ühisosa. Alamklasside abil määratakse vastavate klasside erilised omadused. Seost tähistatakse skeemil suure tühja kolmnurkse noolega. Sellel seosel on alati suund. Realisatsioonisvaates vastab sellele pärimine.

Sõltuvuse seos Kahe klassi vahel on sõltuvus (dependency), kui ühe klassi kirjelduse muutus võib põhjustada muudatust teises klassis. Sõltuvusi näidatakse katkendjoonega, millel nool otsas. Seni kirjeldatu pole kaugeltki kõik. Klassiskeemi elementide hulgas on veel mitmeid spetsiifilisi seoseid, nagu ka eritüüpi klasse.

Vaated Klassiskeeme on võimalik kasutada arenduse erinevatel etappidel ja esitada sellega: Mõiste- või valdkonnavaadet näidatakse kasutatavaid valdkonna mõisteid ja seoseid (nn valdkonnamudel domain model). Spetsifikatsioonivaadet näidatakse klasside liideseid ehk seda, mis väljapoole nähtav. Realisatsioonivaadet klassid, atribuudid, meetodid, mis tegelikult realiseeritakse. Enim kasutatavad on 1. ja 3. Kuid nende ideed ei tohiks segi ajada ja ühele skeemile panna!

Kasutajanõuded. Kasutusmalliskeem.

Kasutusmalliskeem UML-i üks käitumisskeemidest on kasutusmalliskeem (use-case diagram) Kasutusmalliskeemi abil saab luua üldise pildi sellest, kes süsteemi kasutavad ja millist funktsionaalsust vajavad. Kasutusmalliskeem annab väga üldise pildi ja ei sobi ainukeseks nõuete esitamisvormiks.

Kasutusmalliskeemi osad Olulisemad skeemi elemendid on: Tegija e roll (actor) tarkvarasüsteemi kasutaja. Tegija ei pea olema inimene, võib olla teine süsteem, mis antud süsteemilt midagi tahab. Skeemil: kriipsujuku nimega (nimisõna). Kasutusmall (use case) - funktsioon, mida tegija süsteemis teha saab. Skeemil: ellips, sees nimi (tegusõna, tegevusnimi). Link (link) - seos tegija ja kasutusmalli vahel ning kasutusmallide vahel (vt järgmine slaid).

Erinevad seosed Side (associoation) tegija ja kasutusmalli vahel. Skeemil: pidev joon. Üldistus (generalization) seos spetsiifilisema ja üldisema kasutusmalli või tegija vahel. Skeemil: joon, suur seest tühi nool otsas. Pigem ei soovitata kasutada. Sisaldab (include) põhikasutusmalli käitumisse lisatakse teise kasutusmalli tegevused. Skeemil: katkendjoon lahtise noolega + <<include>>, suund lisatava malli poole. Pigem ei soovitata kasutada. Laiendab (extends) laiendav kasutusmall täiendab põhikasutusmallis olevat käitumist. Skeemil: Katkendjoon lahtise noolega + <<extends>>, suund baasmalli poole. Pigem ei soovitata kasutada.

Kasutusmalliskeem