86006uml
-
Upload
sanjin-mehinovic -
Category
Documents
-
view
5 -
download
0
description
Transcript of 86006uml
![Page 1: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/1.jpg)
Projektiranje i održavanje
programske podrške
UML – Unified Modelling Language
![Page 2: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/2.jpg)
4/1/2008 Zvonimir Vuković 2
UML - Definicija
� "The Unified Modeling Language (UML) is a graphical language forvisualizing,specifying, constructing, and documenting the artifacts of a software-intensive system.The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements,database schemas, and reusable software components."Object Management Group (OMG)
� UML je općeniti jezik za modeliranje koji se koristi grafičkim prikazom za izradu abstraktnog modela promatranog sustva
� tzv. UML model
� U području razvoja aplikativnih rješenja UML je standardni jezik za specifikaciju objektnog modela
� Standard
� ISO/IEC 19501:2005 Information technology -- Open Distributed Processing -- Unified Modeling Language (UML) Version 1.4.2.
� UML 2.0
![Page 3: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/3.jpg)
4/1/2008 Zvonimir Vuković 3
UML – Uvod
�UML nije ograničen samo na modeliranje aplikativnih rješenja (software-a), moguće ga je upotrijebiti i za modeliranje poslovnih procesa, organizacijskih struktura i ostalih sustava
�UML je omogućio razvoj tehnologija modeliranja (“model-driven technologies”) kao što su MDD(“Model Driven Development”), MDE (“Model Diriven Engineering”) i MDA (“Model Driven Architecture”)
�UML ne predstavlja metodologiju, ali može biti njezin sastavni dio; sukladan je zahtijevima modernih metodologija razvoja aplikacija
![Page 4: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/4.jpg)
4/1/2008 Zvonimir Vuković 4
UML – Uvod (2)
�Industrijski standard grafičke notacije općih koncepcija kao što su klasa, komponenta, generalizacija, agregacija i ponašanje dozvoljava dizajnerima aplikacija da više pažnje posvete dizajnu i arhitekturi sustava
�UML dijagrami se mogu automatski transformirati i u druge oblike (npr. Java)
![Page 5: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/5.jpg)
4/1/2008 Zvonimir Vuković 5
UML – Modeli i dijagrami
�Treba razlikovati UML model od pojedihih dijagrama sustava.
�Dijagram je djelomična reprezentacija sustava
�Model nadopunjuje dijagrame potrebnom dokumentacijom i opisima
�Postoje tri osnovna modela� Funkcionalni model
�Objektni model
�Dinamički model
![Page 6: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/6.jpg)
4/1/2008 Zvonimir Vuković 6
UML – Modeli i dijagrami (2)
� Funkcionalni model
�Prikazuje funkcionalnost sustava sa stajališta korisnika.
�Sastoji se od dijagrama uporabnih slučajeva (“use-case”)
�Objektni model
�Prikazuje strukturu i podstrukturu sustava koristeći se objektima, atributima, operacijama i relacijama
�Sadrži dijagrame klasa
� Dinamički model
�Prikazuje interno ponašanje sustava
�Sadrži dijagrame tijeka i dijagrame aktivnosti
![Page 7: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/7.jpg)
4/1/2008 Zvonimir Vuković 7
UML – Modeli i dijagrami (3)
�Moguće je definirati i podjelu na slijedeće dvije skupine dijagrama�Dijagrame ponašanja
⌧Dijagram uporabnih slučajeva (“use-case”)
⌧Dijagram slijeda
⌧Dijagram aktivnosti
�Dijagrame strukture⌧Dijagram klasa
⌧Dijagram objekata
⌧Dijagram komponenti
![Page 8: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/8.jpg)
4/1/2008 Zvonimir Vuković 8
UML – Koncepti
� Struktura
�Učesnik, Atribut, Klasa, Komponenta, Sučelje, Objekt, Paket
� Ponašanje
�Aktivnost, Događaj, Poruka, Metoda, Operacija, Stanje
�Odnos
�Agregacija, Asocijacija, Kompozicija, Ovisnost, Generalizacija
![Page 9: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/9.jpg)
4/1/2008 Zvonimir Vuković 9
UML - OOP
�Dizajn OO sustava se bazira na izradi modela
�Model je abstraktni prikaz bitnih elemenata i ponašanja sustava
�Model se sastoji od objekata koji se nalaze u međusobnoj interakciji, tj. koji međusobno komuniciraju
�Objekti se sastoje od atributa i metoda
![Page 10: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/10.jpg)
4/1/2008 Zvonimir Vuković 10
UML – OOP (2)
�Atributi opisuju sve ono što objekti poznaju
�Vrijednosti atributa određuju stanje objekata
�Metode opisuju ono što objekti znaju činiti
�Ponašanje objekta
�Klase su predlošci objekata, a sastoje se od atributa i metoda
�Objekti su instance klasa
![Page 11: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/11.jpg)
4/1/2008 Zvonimir Vuković 11
UML – “Use Case” dijagram
�Opisuje ponašanje sustava iz perspektive vanjskog promatrača. Pri tome je naglasak je na pitanju što, a ne kako
�Odnosi se na pojedine scenarije koji opisuju što se događa u sustavu kada se s njim stupi u interakciju
�Uporabni slučaj je skup scenarija koje povezuje određeni zadatak, cilj ili događaj
�Učesnik (Actor) je netko ili nešto što inicira određeni događaj
![Page 12: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/12.jpg)
4/1/2008 Zvonimir Vuković 12
UML – “Use Case” dijagram (2)
�Služi ponajviše za
�Uvid u funkcionalnost sustava
�Identifikaciju korisnika sustava
�Identifikaciju područja u kojima dolazi do interakcije čovjeka i računala
![Page 13: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/13.jpg)
4/1/2008 Zvonimir Vuković 13
UML – “Use Case” dijagram (3)
�Koncepti
�Učesnik (“Actor”)
⌧Korisnik sustava
�Uporabni slučaj (“Use Case”)
⌧Funkcionalnost koju sustav pruža
�Veza
⌧Veza između korisnika i uporabnih slučajeva
![Page 14: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/14.jpg)
4/1/2008 Zvonimir Vuković 14
UML – Elementi “Use Case” dijagrama
![Page 15: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/15.jpg)
4/1/2008 Zvonimir Vuković 15
UML – Primjer: “Use Case” dijagram
![Page 16: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/16.jpg)
4/1/2008 Zvonimir Vuković 16
UML – Dijagram tijeka
� Prikazuje interakciju
� Dinamički dijagram
� Detaljan opis operacija koje se izvode, poruka koje se pri tome razmijenjuju i trenutaka kada se poruke razmijenjuju
� Prikaz je organiziran prema vremenskom slijedu aktivnosti, vremenski progres se prati od vrha prema dnu dijagrama
�Objekti koji sudjeluju u interakciji se navode s lijeva na desno adekvatno vemenskom trenutku u kojemu su involvirani
![Page 17: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/17.jpg)
4/1/2008 Zvonimir Vuković 17
UML – Dijagram tijeka (2)
�Koncepti
�Objekt
⌧Instanca klase
�Učesnik
�Životna linija
⌧Prikazuje životni vijek objekta u vremenu
![Page 18: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/18.jpg)
4/1/2008 Zvonimir Vuković 18
UML – Dijagram tijeka (3)
�Koncepti
�Aktivacija
⌧Prikazuje trenutke u kojima objekt izvršava neku operaciju
�Poruka
⌧Opisuje komunikaciju među objektima
![Page 19: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/19.jpg)
4/1/2008 Zvonimir Vuković 19
UML – Primjer: Dijagram tijeka
![Page 20: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/20.jpg)
4/1/2008 Zvonimir Vuković 20
UML – Primjer: Dijagram tijeka (2)
![Page 21: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/21.jpg)
4/1/2008 Zvonimir Vuković 21
UML – Dijagram aktivnosti
�Prikazuje redoslijed radnji unutar sustava (“workflow”), i to od poslovnog procesa prema operativnom procesu
�Naglasak se stavlja na prikaz internih aktivnosti sustava
![Page 22: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/22.jpg)
4/1/2008 Zvonimir Vuković 22
UML – Dijagram aktivnosti (2)
�Koncepti
�Aktivnost
�Tranzicija
⌧Prelazak iz jedne aktivnosti u drugu
�Područje
⌧Grupira aktivnosti prema objektu koji ih izvršava
![Page 23: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/23.jpg)
4/1/2008 Zvonimir Vuković 23
UML – Dijagram aktivnosti (3)
� Koncepti
�Inicijalno stanje
⌧Početak aktivnosti
�Završno stanje
⌧Završetak aktivnosti
�Sinhronizacija
⌧Označava aktivnosti koje se izvršavaju paralelno; moguće je prikazati iniciranje više paralelnih aktivnosti ili završetak više paralelnih aktivnosti (što je uvjet za izvršavanje slijedeće aktivnosti)
![Page 24: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/24.jpg)
4/1/2008 Zvonimir Vuković 24
UML – Primjer: dijagram aktivnosti
![Page 25: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/25.jpg)
4/1/2008 Zvonimir Vuković 25
UML – Dijagram klasa
� Prikazuje sustav pomoću klasa i relacija (veza) među klasama
� Statički dijagram – prikazuje učesnike u interakciji, ali ne pokazuje što se događa tijekom interakcije
� Koncepti�Klasa
�Asocijacija
�Kompozicija
�Ovisnost
�Agregacija
�Generalizacija
![Page 26: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/26.jpg)
4/1/2008 Zvonimir Vuković 26
UML – Dijagram klasa (2)
�Klasa�Element OO svijeta
�Asocijacija�Veza među instancama dvije klase; asocijacija postoji ukoliko instanca jedne klase mora poznavati instancu neke druge klase da bi mogla obaviti zadatak
�Kompozicija�Slučaj kada promatrana klasa ne može egzistirati bez neke druge klase
![Page 27: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/27.jpg)
4/1/2008 Zvonimir Vuković 27
UML – Dijagram klasa (3)
� Ovisnost
�Slučaj kada promatrana klasa koristi drugu klasu (npr. u obliku atributa)
� Agregacija
�Veza u kojoj promatrana klasa pripada kolekciji unutar neke druge klase
⌧Termin “ima”
� Generalizacija
�Nasljedna veza među klasama; označava da je jedna klasa nadklasa drugoj klasi
� (nasljeđivanje)
⌧Termin “je”
![Page 28: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/28.jpg)
4/1/2008 Zvonimir Vuković 28
UML – Elementi dijagrama klasa
Naziv klase
Atributi
Metode
![Page 29: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/29.jpg)
4/1/2008 Zvonimir Vuković 29
UML – Primjer: Dijagram klasa
Asocijacija
Generalizacija
(nasljeđivanje)
![Page 30: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/30.jpg)
4/1/2008 Zvonimir Vuković 30
UML –Dijagram paketa i objekata
�Paketi su kolekcije logički povezanih UML elemenata
�Dijagram objekata
�prikazuje instance umjesto klasa
�Pogodan je ze prikazivanje rekurzivnih veza
�Koncepti
�Objekt
�Veza
![Page 31: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/31.jpg)
4/1/2008 Zvonimir Vuković 31
UML – Primjer: Dijagram objekata
![Page 32: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/32.jpg)
4/1/2008 Zvonimir Vuković 32
UML – Dijagram komponenti
�Prikazumeđusobnu ovisnost aplikativnih komponenti sustava; primjerice između izvršnih datoteka i izvornih datoteka
�Koncepti
�Komponenta
⌧Komponenta aplikacije; npr. izvorna datoteka, dokument, resursna datoteka, ...
�Ovisnost
⌧Prikazuje ovisnost među komponentama
![Page 33: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/33.jpg)
4/1/2008 Zvonimir Vuković 33
UML – Dijagram implementacije
�Prikazuje na koji način je hardware implementiran u nekom sustavu i kako je međusobno povezan
�Koncepti
�Komponenta
�Čvor (“node”)
�Veza
![Page 34: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/34.jpg)
4/1/2008 Zvonimir Vuković 34
UML – Dijagram implementacije (2)
�Komponenta
�Aplikativna cjelina (software)
�Čvor (“node”)
�Hardware komponenta u sustavu
�Veza
�Prikazuje komunikaciju među čvorovima
![Page 35: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/35.jpg)
4/1/2008 Zvonimir Vuković 35
UML – Primjer: Dijagram implementacije
![Page 36: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/36.jpg)
4/1/2008 Zvonimir Vuković 36
UML – Proces razvoja aplikacija
1) Izraditi model poslovnog procesa
• Prikaz aktivnosti i procesa koji se događaju u sustavu, a koji može poslužiti za izradu “use-case” modela
• Najčešće sadrži veću količinu informacija nego što je predmet implementacije aplikativnog rješenja
![Page 37: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/37.jpg)
4/1/2008 Zvonimir Vuković 37
UML – Proces razvoja aplikacija
2) Izraditi “use case” model
• Točan prikaz funkcionalnosti koje su tema implementacije i to sa stanovišta poslovnog korisnika
• Svaki “use case” mora imati svoju vezu prema modelu poslovnog procesa (tj. ne smije postojati “use case” koji nije definiran poslovnim procesom)
![Page 38: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/38.jpg)
4/1/2008 Zvonimir Vuković 38
UML – Proces razvoja aplikacija
3) Pregled (“Review”) “use case” modela
• “use case” model oplemenjen korisničkim zahtijevima, ograničenjima, razinom kompleksnosti, bilješkama i scenarijima
• Detaljan opis samog “use case-a” – što radi, kako radi i koja ograničenja djeluju na njega tijekom izvršavanja
• Treba sadržavati i scenarije sistemskog testiranja kao podlogu za proces primopredaje rješenja krajnjem korisniku
![Page 39: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/39.jpg)
4/1/2008 Zvonimir Vuković 39
UML – Proces razvoja aplikacija
3) Pregled (“Review”) “use case” modela
• “use case” model oplemenjen korisničkim zahtijevima, ograničenjima, razinom kompleksnosti, bilješkama i scenarijima
• Detaljan opis samog “use case-a” – što radi, kako radi i koja ograničenja djeluju na njega tijekom izvršavanja
• Treba sadržavati i scenarije sistemskog testiranja kao podlogu za proces primopredaje rješenja krajnjem korisniku
![Page 40: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/40.jpg)
4/1/2008 Zvonimir Vuković 40
UML – Proces razvoja aplikacija
4) Temeljem rezultata prethodnih koraka izraditi model poslovnih objekata, dijagrame tijeka, model korisničkih sučelja
• Opis elemenata sustava, njihove međusobne interakcije i sučelja koje će biti na raspolaganju krajnjem korisniku za izvođenje definiranih “use case-ova”
![Page 41: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/41.jpg)
4/1/2008 Zvonimir Vuković 41
UML – Proces razvoja aplikacija
5) Izraditi dijagram klasa
• Detaljan prikaz objekat u sustavu, njihovih atributa i metoda
• Plan izvođenja sistemskog testa
• Da li klase djeluju sukladno specifikaciji zahtijeva ?
• Da li klase međusobno komuniciraju na propisani način ?
![Page 42: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/42.jpg)
4/1/2008 Zvonimir Vuković 42
UML – Proces razvoja aplikacija
6) Pregled i dopuna modela klasa; izrada modela komponenti
• Identifikacija paketa i komponenti
• Komponenta – dio aplikacije koji sadrži jednu ili više klasa, može djelovati kao jedna cjelina, a koji ima točno definirana sučelja prema ostalim komponentama
• Za svaku komponentu definirati scenarije sistemskog testa kako bi se provjerilo da li sučelja komponente djeluju prema specifikaciji
![Page 43: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/43.jpg)
4/1/2008 Zvonimir Vuković 43
UML – Proces razvoja aplikacija
7) Dokumentiranje i prikupljanje dodatnih zahtijeva
• Tijekom realizacije prethodnih koraka se u pravilu identificira niz novih okolnosti – dodatni zahtijevi
• “non functional” zahtijevi
• Performanse
• Sigurnost, ...
![Page 44: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/44.jpg)
4/1/2008 Zvonimir Vuković 44
UML – Proces razvoja aplikacija
8) Izrada plana produkcije i integracije
• Definira fizičku arhitekturu sustava
• HW, operativni sustav, mrežno okruženje, OEM (“Other Equipment Manufacturer”) SW
• Konfiguracija, strategija izrade sigurnosnih kopija podataka (“back-up”), strategija obrane od raznih nepogoda (“disaster recovery”)
![Page 45: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/45.jpg)
4/1/2008 Zvonimir Vuković 45
UML – Proces razvoja aplikacija
9) Implementacija
• Definirati radne pakete (“work packages”) i dodjeliti ih (rasporediti) članovima razvojnog tima
• Svaki paket obuhvaća
• realizaciju određene komponente ili jednog dijela komponente
• test komponente, integracijski test i sistem test
![Page 46: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/46.jpg)
4/1/2008 Zvonimir Vuković 46
UML – Proces razvoja aplikacija
10) Test
• Praćenje svih nepravilnosti (grešaka) ili odstupanja identificiranih tijekom testiranja
• Usporedba sa zahtijevima i korekcije
• Kontrola probijanja zahtijeva (“scope creep”)
![Page 47: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/47.jpg)
4/1/2008 Zvonimir Vuković 47
UML – Proces razvoja aplikacija
11)Obnavljanje (održavanje) modela
• Voditi računa o mogućem utjecaju izmjena/dopuna na kasniji tijek implementacije (potrebne količina uloženog rada)
![Page 48: 86006uml](https://reader038.fdocuments.in/reader038/viewer/2022110401/55cf9389550346f57b9dbf5f/html5/thumbnails/48.jpg)
4/1/2008 Zvonimir Vuković 48
UML – Proces razvoja aplikacija
12) Produkcija
• Isporuka implementiranog i testiranog aplikativnog rješenja
• Integracija u postojeće okruženje
• Aplikativno rješenje se često mora integrairati u postojeće okruženje
• Migracija podataka
• Podaci iz “starih” sustava se često moraju migrirati u novi sustav
• Primopredaja (“Acceptance test”)