uml modeli i dijagrami
DESCRIPTION
UML Modeli i dijagrami. UML (Unified Modeling Language). UML ili Unified Modeling Language je grafički jezik (a ne programski jezik) za vizuelizaciju, specifikaciju, konstruisanje i dokumentovanje sistema programske podrške. Sluzi za:. UML Modeli i dijagrami. State Diagrams. State - PowerPoint PPT PresentationTRANSCRIPT
1
UML Modeli i dijagrami
2
UML (Unified Modeling Language)
UML ili Unified Modeling Language je grafički jezik (a ne programski jezik) za vizuelizaciju, specifikaciju, konstruisanje i dokumentovanje sistema programske podrške
3
Sluzi za:
4
UML Modeli i dijagrami
Use CaseDiagramsUse CaseDiagramsDijagramislučajeva korišćenja
ScenarioDiagramsScenarioDiagramsDijagramikolaboracije
StateDiagramsStateDiagramsDijagramikomponenti
ComponentDiagramsComponentDiagramsDijagrami Rasporeda
StateDiagramsStateDiagramsDijagrami
objekata
ScenarioDiagramsScenarioDiagramsDijagrami
prelaza stanja
Use CaseDiagramsUse CaseDiagramsDijagrami
sekvenci
StateDiagramsStateDiagramsDijagrami
klasa
Dijagramiaktivnosti
Modeli
5
I.Dijagrami slucajeva koriscenja
Opisuju funkcionalno ponasenje sistema sa nekim ili necim sto se naziva akter
6
Usluga
Primer upotrebeAkter
Opsti elementi kod dijagrama slucajeva koriscenja
Veza »komunicira«asocijacija
«extend»
Veza »ukljucuje« ili »veza prosirenje «
Granice sistema
7
Uopsteni primer dijagrama slucajeva koriscenja
sistem
Korisnik 1
Usluga 1
Usluga 2
Usluga 3
Korisnik 2
Usluga 4
Korisnik 3
Usluga 1.1
Usluga 1.2
«include»
«extend»
«include»
Primer use case dijagrama
8
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
ulaganje
Prenos
Administracija
Komitent
Operater
Računarbanke
9
ILUSTRACIJE VEZE <<include>>:
Provera kartice
Provera tajne{ifre
Kraj transakcije
Ulaganje
<<include>><<include>>
<<include>>
korisnik
10
PRIMER VEZE <<extend>>
Provera karticeProvera tajne
{ifre
Kraj transakcije
Podizanje
<<include>><<include>>
<<include>>
Statistikaulaganjakorisnik
<<extend>>(uklju~i statistiku)
11
Scenario za Use Case dijagram
Za svaki Use case:• Dati naziv Use Case• Dati kratak Opis• Nabrojati aktere• Definisati preduslove• Kratak opis posla• Nabrojati izuzetke• Opisati posledice
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
ulaganje
Prenos
Administracija
Komitent
Operater
Računarbanke
Use Case specifikacija
12
PROBLEMI kod korišćenja Use Case
• U nekom složenom sistemu broj slučajeva korišćenja može da bude veoma veliki. Kako definisati taj skup slučajeva korišćenja?
• Dekompozicija funkcija?
13
Zadatak 1. UseCase dijagram i specifikacija
• Nacrtati UseCase dijagram i napisati UseCase specifikaciju za scenario prijave ispita na Ekonomskom fakultetu
14
Zadatak 1. (rešenje)
Stampanje
Student
Prijava ispita
Sluzbenik studentske sluzbe
Formiranje zapisnika o polaganju ispita
<<include>>
Za svaki Use case:Dati naziv Use CaseDati kratak OpisNabrojati aktereDefinisati predusloveKratak opis poslaNabrojati izuzetkeOpisati posledice
15
Zadatak 1. (Prijava ispita)
• Use-case: Prijava ispita.• Kratak opis: Prijava ispita na osnovnim
studijama.• Akteri: Student, Službenik studentske službe…• Preduslovi: Student je odslušao predavanja,
odradio laboratorijske vežbe i predao projekat iz predmeta za koji se prijavljuje da polaže ispit.
16
Zadatak 1. (Prijava ispita)
• Opis:1. Student popunjava prijavu (ime, prezime, predmet, ...).2. Službenik prima prijavu [izuzetak: pogrešni podaci u
prijavi].3. Službenik unosi podatke o prijavljenom ispitu u dosije
studenta na računaru.• Izuzetci:
– [Pogrešni podaci u prijavi] Prijava se vraća studentu da unese tačne podatke.
• Posledice: Student je evidentiran za polaganje ispita iz odgovarajućeg predmeta.
17
Zadatak 1. (Formiranje zapisnika...)
• Use-case: Formiranje zapisnika o polaganju ispita.
• Kratak opis: Službenik prosleđuje zahtev za formiranje zapisnika o polaganju ispita na osnovu prijava studenata.
• Akteri: Službenik• Preduslovi: Završen rok za prijavu ispita.
18
Zadatak 1. (Formiranje zapisnika...)• Opis:
1. Službenik inicira izvršavanje funkcije formiranja zapisnika o polaganju ispita.
2. Sistem prikazuje formu za unos predmeta za koji se formira zapisnik.
3. Službenik unosi predmet.4. Sistem formira zapisnik i inicira štampanje.5. Izvršava se niz akcija definisanih use-case-om
stampanje.• Izuzetci: -• Posledice: Zapisnik je formiran pre datuma
polaganja ispita.
19
Zadatak 1. (Štampanje)
• Use-case: Štampanje• Kratak opis: Štampanje različitih dokumenata
(uverenja, zapisnika o polaganju ispita, ...)• Preduslovi: Štampač je uključen i povezan sa
računarom.
20
Zadatak 1. (Štampanje)
• Opis:1. Sistem prosleđuje zahtev za štampanje dokumenta.2. a) Ukoliko je štampač slobodan, zahtev se prosleđuje
štampaču.3. b) Ukoliko nije, zahtev se stavlja na red čekanja, a kada
dođe na red on se prosleđuje štampaču.4. Kada zahtev stigne do štampača, dokument se štampa.
21
Zadatak 1. (Štampanje)
• Izuzetci:– [Nema papira u štampaču] Neophodno je staviti
papir.– [Nema tonera] Neophodno je isključiti štampač i
promeniti toner, a zatim ponovo proslediti zahtev za štampanje dokumenta.
• Posledice: Kompletan dokument je odštampan.
22
Koje informacije je dobio programer?
Sta je bolje SSA ili DSK? Zasto?
23
GLAVNI CILJEVI USE CASE DIJAGRAMA (1)
• Komunikacija između korisnika i razvojnog tima• Odlučivanje i opisivanje funkcionalnih zahteva
sistema, što rezultira ugovorom između klijenta i tima za razvoj softverskog sistema
• Davanje jasnog i konzistentnog opisa šta bi sistem trebao da radi što obezbeđuje osnovu za sve naredne odluke koje se tiču dizajna sistema
• Osnova za verifikovanje sistema
24
GLAVNI CILJEVI USE CASE DIJAGRAMA (2)• Korisnici sistema su zainteresovani za uvid u ove dijagrame jer isti opisuju funkcionalnost
sistema i načine na koje će se sistem koristiti
• Razvojnom timu su značajni kao stalni podsetnik šta bio sistem trebao da radi i osnova za dalji rad na projektu
• Timovima za integraciju i sistemsko testiranje use case dijagrami su bitni zbog provere i osiguravanja da sistem pruža sve dogovorene potrebne funkcionalnosti
25
26
27
28
29
III.Dijagrami aktivnosti
Pokazuju tokove od aktivnosti do aktivnosti
30
Opsti elementi kod dijagrama aktivnosti
Pocetak aktivnosti
Kraj aktivnosti
aktivnost
Sastavnica ili rastavnica
Rezultira dokumentom
31
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
32
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
33
Primer br.1
• Dijagramom aktivnosti predstaviti aktivnosti koje objekat klase Student izvršava na kraju II semestra.
34
Primer br.1. (opis)• Prva aktivnost koju student mora da izvrši jeste upis
prve godine. • Nakon upisa godine student pohađa predavanja i
vežbe iz više predmeta. Ove aktivnosti se izvršavaju konkurentno (paralelno).
• Po završetku nastave student mora da osvoji dovoljno poena. Ukoliko ima potrebne poene može da overi semestar, inače obnavlja godinu.
• Nakon overe semestra, ukoliko student zadovoljava uslove upisuje narednu godinu. U suprotnom, obnavlja godinu.
35
Primer br 1. (rešenje)Upis godine
Predavanja Vezbe
Dobijanje potpisa
Overa semestra
Obnova godine
[dobio potpise][nije dobio potpise]
[ispunjen uslov upisa][nije ispunjen uslov upisa]
Sab.poena
Nema dovoljno ima dovoljno
36
Namena dijagrama aktivnosti
• Dijagram aktivnosti sluzi za analiziranje slučajeva korištenja, opisujući koje aktivnosti se izvrsavaju i kada.
• Dijagram aktivnosti je – vizualni prikaz toka događaja– Opisuje početak slučaja korištenja– Opisuje što slučaj korištenja radi– Opisuje kako slučaj korištenja završava
37
Korisnik Bankomat Banka
Ubaci karticu
Unesi PIN Autoriziraj
Unesi iznos/ Valjan PIN
Provjeri stanje računa
Stavi na račun
/ Račun >= Iznos
Uzmi novac
Prikaži stanje računa
Izbaci karticuUzmi karticu
/ Nevaljan PIN
/ Račun < Iznos
autorizacija
Primer br.2-dijagram aktivnosti za slucaj upotrebe podizanja i/ili uplate novca (koristeci plivacke staze-swimline)
38
Zadaci za rad na casuZadatak br.1
a) Kreirati klasicni dijagram aktivnosti
b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama
39
a)
40
b)
41
Zadaci za rad na casuZadatak br.2
42
43
Zadaci za rad na casuZadatak br.3
44
45
IV.Dijagrami klasa
Pokazuju staticku strukturu sistema kroz: klase, njihovu strukturu, metode (funkcije nad klasom), atribute i veze medju njima
46
Opsti elementi kod dijagrama klasa
Veza »komunicira«asocijacija
Veza »zavisnost« Veza »generalizuje« Veza »agregacija«
Brojnost:1 tacno jedan0..1 nula ili jedan0..* bilo koji broj1..* jedan ili vise0..1,3..5,6..*
Razred
- Atribut
+ Metoda
Granična klasa Poslovna klasa Kontrolna klasa
Veza »kompozicija«
47
Primer za kupovinu racunara
48
KONKRETAN PRIMER DIJAGRAMA KLASA
49
Zadatak 1.
• Dijagramom klasa predstaviti pojednostavljen model fakulteta. Svaki student upisuje studije na jednom i samo jednom odseku, a odsek pripada jednom i samo jednom fakultetu.
• Detaljno opisati atribute klase student.
50
Zadatak 1. (rešenje)
Fakultet Odsek
1..n1
Student
brojIndeksa : Integerime : Stringprezime : Stringadresa : Stringgodina : Byte
1..n
1
+odsek
1..n
+fakultet
1
+student
+studiraNa
1..n
1
Svaki student upisuje studije na jednom i samo jednom odseku, a odsek pripada jednom i samo jednom fakultetu.Detaljno opisati atribute klase student
51
Zadatak 2.
52
53
Zadatak br.3
54
55
Zadatak br.4
56
57
VIII.Dijagrami stanja
Nadkategorija dijagrama aktivnosti koji vrsi modeliranje od stanja do stanja Dijagram stanja pokazuje kako objekt prelazi iz jednog stanja u drugo i pravila
koja upravljaju tom promenom
58
Dijagram stanjaOsnovni simboli i notacija
Stanje
Početno stanjeZavršno stanje
Stanje predstavlja situacije tokom života objekta
Tranzicija predstavlja događaj i akciju koja menja stanje
59
Zadatak 1.
• Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
60
Rešenje
Odradjivanje lab. vezbi
[nisu odradjene]
Izrada projekta
[odradjene]
[nije zavrsen]
Prijava ispita
[zavrsen]
[odustao]
Polaganje ispita
[prijavljen]
[polozen]
[nije polozen]
•Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
61
Zadatak 2.
• Dijagramom stanja opisati stanje objekta profesor u procesu dobijanja zvanja na fakultetu
62
Resenje
63
Zadatak 3.
• Dijagramom stanja opisati stanje objekta Student u procesu upisa na fakultet
64
Predaja dokumenata
Prijava za polaganje prijemnog ispita
potpuna dokumentacija
Plaćanje troškova za polaganje prijemnog ispita
prijava je kompletna
nisu plaćeni troškovi
Polaganje prijemnog ispitaplaćeno
Zahtev za upis
položen prijemni ispit
Nema upisa
Nije položen prijemni
ispit
Upis I godine
dovoljan broj poenaPlaćanje troškova upisa
(samofinansiranje)
nedovoljan broj poena
odustajanje
plaćeni troškovi
Resenje