Download - UML pagrindai
![Page 1: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/1.jpg)
UML pagrindai
Įvadas,
elgsenos modeliavimas
Lekt. dr. Agnius Liutkevičius
![Page 2: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/2.jpg)
UML
PĮ projektavimo metodika ir priemonės Sukurta OMG (www.uml.org) Leidžia aprašyti kuriamą sistemą (ar jos
dalį) norimame abstrakcijos lygyje
![Page 3: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/3.jpg)
UML privalumai
Kuriama sistema yra profesionaliai suprojektuojama ir dokumentuojama dar prieš realizaciją. Tiksliai žinoma ką reikia pasiekti.
Kadangi sistema pradžioje suprojektuojama, galima nustatyti, kurios vietos bus perpanaudotos – mažėja kūrimo kaina.
Lengva nustatyti projektavimo klaidas. Geras sistemos projektas užtikrina teisingą ir efektyvų realizavimą –
mažėja kūrimo kaina. UML leidžia aprašyti sistemą norimu detalumu ir norimais pjūviais. Atlikti sistemos modifikacijas yra žymiai lengviau turint sistemos
UML dokumentaciją – mažėja palaikymo kaina. UML leidžia kitiems kūrėjams greitai suvokti jūsų sistemą. Tai
visuotinai pripažintas standartas.
![Page 4: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/4.jpg)
Spartus sistemų kūrimas (angl. Rapid Development) Efektyvesnis ir greitesnis nei tradicinis
“krioklio” metodas. Susideda iš:
Reikalavimų išgavimas;Analizė;Projektavimas;Kūrimas;Diegimas.
![Page 5: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/5.jpg)
Reikalavimų išgavimas
Ko iš mūsų nori užsakovas??? Verslo procesų identifikavimas:
Scenarijų diagramos (angl. activity)
Dalykinės srities analizė: Aukšto lygio klasių diagrama
Sąveikaujančių sistemų išskyrimas: Realizacijos (angl. deployment)
Rezultatų pristatymas užsakovui
![Page 6: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/6.jpg)
Analizė
Vartojimo atvejų identifikavimas: Vartojimo atvejų diagrama (-os) (angl. use case)
Vartojimo atvejai detalizuojami: Veiksmų sekų aprašymai
Detalizuojamos klasių diagramos: Detalizuota klasių diagrama
Analizuojamos sistemos galimos būsenos: Būsenų diagrama (angl. state)
Nustatomos objektų tarpusavio sąveikos: Sekų ir bendradarbiavimo diagramos (angl. sequence, collaboration)
Analizuojama sąveika su kitomis sistemomis: Detali realizacijos diagrama (angl. deployment)
![Page 7: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/7.jpg)
Projektavimas
Objektų diagramų kūrimas ir detalizavimas: Scenarijų diagramos (angl. activity)
Komponentų diagramų kūrimas Diegimo (angl. deployment) plano sudarymas Vartotojo sąsajos projektavimas ir prototipai Testų kūrimas Dokumentacijos kūrimas:
Dokumentacijos struktūros sudarymas
![Page 8: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/8.jpg)
Kūrimas
Kodo rašymas Kodo testavimas Vartotojo sąsajų kūrimas ir testavimas Pilna sistemos dokumentacija
![Page 9: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/9.jpg)
Diegimas
Sistemos atstatymo plano sudarymas Sistemos įdiegimas aparatūrinėje įrangoje Integruotos sistemos testavimas Šventimas ... arba ne
![Page 10: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/10.jpg)
UML komponentai
UML susideda iš įvairių grafinių elementų apjungiamų į diagramas.
UML yra kalba, todėl egzistuoja griežtos grafinių elementų panaudojimo taisyklės.
Diagramų tikslas – įvairiais pjūviais aprašyti kuriamą sistemą, t.y. sudaryti sistemos modelį.
UML modelis aprašo ką sistema turi daryti, bet jis nepasako kaip realizuoti tą sistemą.
![Page 11: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/11.jpg)
UML diagramų tipai (visi)
![Page 12: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/12.jpg)
UML diagramų tipai (1)
Klasių diagramos (angl. class): Skirsto daiktus į kategorijas. Klasė aprašo daiktų grupę, kurie turi
panašius atributus ir vienodą elgseną.
Sekų (angl. sequence) diagramos: Aprašo objektų sąveiką laike.
Vartojimo (panaudos) atvejų (angl. usecase) diagramos: Aprašo sistemos elgseną iš vartotojo pozicijų.
Veiklos arba Scenarijų (angl. activity) diagramos: Aprašo veiksmų sekas.
![Page 13: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/13.jpg)
UML diagramų tipai (2)
Būsenų (angl. state) diagramos: Nusako objektų būsenas ir jų pasikeitimus laike.
Bendradarbiavimo (komunikavimo) (angl. collaboration, communication) diagramos: Aprašo objektų sąveiką.
Realizacijos (angl. component, deployment) diagramos: Nusako sistemos komponentus ir parodo fizinę
sistemos struktūrą.
![Page 14: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/14.jpg)
UML modeliavimo ir sistemų kūrimo priemonės Mokamos (turi Trial versijas):
MagicDraw (https://www.magicdraw.com/) Enterprise Architect (http://www.sparxsystems.com/) IBM Rational Software Architect
(http://www.ibm.com/developerworks/downloads/r/architect/) Microsoft Visio ir begalė kitų
Nemokamos: ArgoUML (http://argouml.tigris.org/) Visual Paradigm (Community Edition) (http://www.visual-
paradigm.com/) Umbrello UML Modeller (http://uml.sourceforge.net/) ir kt.
![Page 15: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/15.jpg)
Vartojimo atvejų diagramos
Aprašo sistemos funkcionalumą Esminiai elementai:
Aktoriai (angl. Actor)Vartojimo atvejai (angl. Usecase)Ryšiai (angl. Relationships)Sistemos ribos (angl. System boundary)
![Page 16: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/16.jpg)
Aktoriai
Aktoriai aprašo sistemos vartotojus Kiekvienas aktorius aprašo skirtingą
vartotojo rolę (o ne konkretų vartotoją!) pvz. administratorius, galutinis vartotojas ir
pan. Žymima:
![Page 17: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/17.jpg)
Vartojimo atvejis
Aprašo vieną vartotojui matomą sistemos funkciją
Vykdant pasiekiamas konkretus vartotojo iškeltas tikslas
![Page 18: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/18.jpg)
Detalus vartojimo atvejo aprašymas
Grafinė sąsaja:
Panaudojimo atvejis UC202 Taisyklės pašalinimas iš panaudojimo atvejo
Aprašymas Tinklo valdytojas iškviečia panaudojimo atvejį atitinkančio grafinės sąsajos komponento kontekstinį meniu, kuriame pasirenka taisyklių pašalinimo punktą. Dialoginiame lange iš panaudojimo atvejo pašalinamos pasirinktos priskirtos taisyklės.
Aktoriai Administratorius
Prieš-sąlyga Panaudojimo atvejui turi būti priskirta nors viena taisyklė.
Po-sąlyga Pasirinktos taisyklės pašalinamos iš konkretaus panaudojimo atvejo. Panaudojimo atvejo metu vykdant konkrečias DIM užklausas, pašalintos taisyklės nebebus tikrinamos, nors ir liks saugomos duomenų bazėje.
![Page 19: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/19.jpg)
Vartojimo atvejų modelis
Inicijuojantis (angl. initiating) aktorius yra kairėje vartojimo atvejo pusėje, o priimantis (angl. receiving) aktorius yra dešinėje pusėje.
![Page 20: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/20.jpg)
Vartojimo atvejų diagramos pavyzdys
Aktorius
Asociacija
Vartojimo atvejis
![Page 21: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/21.jpg)
Kardinalumai
![Page 22: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/22.jpg)
Quake II vartojimo atvejų diagrama
![Page 23: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/23.jpg)
Ryšiai
<<include>> <<extend>> Aktorių hierarchija
![Page 24: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/24.jpg)
<<include>> Naudojamas nurodyti, kad atliekant vieną
vartojimo atvejį, būtinai atliekamas ir kitas.
![Page 25: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/25.jpg)
<<extend>> Naudojamas nurodyti, kad atliekant vieną
vartojimo atvejį, esant tam tikrai sąlygai, atliekamas ir kitas.
![Page 26: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/26.jpg)
Aktorių hierarchija
![Page 27: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/27.jpg)
Veiklos arba Scenarijų diagramos
Verslo procesų aprašymui Vartojimo atvejų detalizacijai:
Kiekvieną vartojimo atvejį detalizuoja viena scenarijų diagrama.
Būsenų diagramos plėtinys:Būsenų diagrama išryškina būsenas ir parodo
veiklas kaip perėjimus tarp būsenų. Veiklos diagramos labiau koncentruojasi į pačias veiklas.
![Page 28: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/28.jpg)
Elementai
Veiksmų būsenos – aprašo sistemoje atliekamus veiksmus.
Perėjimas – jungia dvi veiksmų būsenas, atvaizduoja vykdymo eigą.
Išsišakojimas (angl. branch) Sinchronizavimas:
Išlygiagretinimas (angl. fork) Apjungimas (angl. join)
Objektai Signalai
![Page 29: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/29.jpg)
Veiklos diagramos modelisPradžia (start)
Išlygiagretinimas (fork)
Išsišakojimas (branch)
Apjungimas (merge)
Apjungimas (join)
Pabaiga (end)
![Page 30: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/30.jpg)
Veiklos diagramos pavyzdys
![Page 31: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/31.jpg)
Išsišakojimas ir apjungimas
Skirtas alternatyvioms veiksmų šakoms aprašyti. Nurodomos sąlygos, kurioms esant atliekama
viena arba kita veiksmų seka.
![Page 32: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/32.jpg)
Išlygiagretinimas ir sinchronizavimas Skirtas lygiagrečioms veiksmų šakoms aprašyti
(lygiagretiems procesams).
![Page 33: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/33.jpg)
Objektai
Veiklos metu gali būti sukurti objektai (veiklos produktai), kurie naudojami kitose veiklose.
Duomenys, kurie “keliauja” per veiklas.
![Page 34: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/34.jpg)
Signalai
Atliekant veiksmų sekas galima išsiųsti signalą išoriniams procesams (objektams).
Gautas signalas naudojamas veiksmo inicializacijai.
![Page 35: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/35.jpg)
Detali veiklos diagrama
![Page 36: UML pagrindai](https://reader033.vdocuments.pub/reader033/viewer/2022061413/56814f9d550346895dbd5bed/html5/thumbnails/36.jpg)
Ačiū už dėmesį