Transcript Predavanja

UML Modeli i dijagrami
1
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
2
Sluzi za:
3
UML Modeli i dijagrami
Use Case
Use Case
Diagrams
Dijagrami
Diagrams
sekvenci
Scenario
Scenario
Diagrams
Dijagrami
Diagrams
kolaboracije
Scenario
Scenario
Diagrams
Dijagrami
Diagrams
prelaza stanja
State
State
Diagrams
Dijagrami
Diagrams
klasa
Use Case
Use
Case
Dijagrami
Diagrams
Diagrams
slučajeva
korišćenja
State
State
Diagrams
Dijagrami
Diagrams
objekata
State
State
Diagrams
Dijagrami
Diagrams
komponenti
Modeli
Dijagrami
aktivnosti
Component
Component
Diagrams
Dijagrami
Diagrams
Rasporeda
4
I.
Dijagrami slucajeva koriscenja
Opisuju funkcionalno ponasenje sistema sa nekim ili necim
sto se naziva akter
5
Opsti elementi kod dijagrama slucajeva
koriscenja
Usluga
Primer upotrebe
Akter
«extend»
Veza »komunicira«
asocijacija
Veza »ukljucuje« ili »veza prosirenje «
Granice sistema
6
Uopsteni primer dijagrama slucajeva
koriscenja
sistem
Usluga 1.1
Usluga 1
«include»
«include»
Usluga 1.2
Korisnik 1
Usluga 2
Usluga 4
Korisnik 3
«extend»
Usluga 3
Korisnik 2
Primer use case dijagrama
7
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
Komitent
ulaganje
Računar
banke
Prenos
Operater
Administracija
8
ILUSTRACIJE VEZE <<include>>:
Provera kartice
Provera tajne
{ifre
< < in clud e> >
< < in clud e> >
Ulaganje
korisnik
< < in clud e> >
Kraj transakcije
9
PRIMER VEZE <<extend>>
P rovera tajne
{ifre
P rovera kartice
<<include>>
<<include>>
<<extend>>
(uklju~i statistiku)
korisnik
S tatistika
ulaganja
P odizanje
<<include>>
K raj transakcije
10
Scenario za Use Case dijagram
Use Case specifikacija
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
Komitent
ulaganje
Prenos
Operater
Računar
banke
Administracija
11
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?
12
Zadatak 1. UseCase dijagram i specifikacija
• Nacrtati UseCase dijagram i napisati UseCase specifikaciju za
scenario prijave ispita na Ekonomskom fakultetu
13
Zadatak 1. (rešenje)
Prijava ispita
Student
Za svaki Use case:
Dati naziv Use Case
Dati kratak Opis
Nabrojati aktere
Definisati preduslove
Kratak opis posla
Nabrojati izuzetke
Opisati posledice
Sluzbenik
studentske sluzbe
Formiranje zapisnika o polaganju
ispita
<<include>>
Stampanje
14
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.
15
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.
16
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.
17
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.
18
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.
19
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.
20
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.
21
Koje informacije je dobio programer?
Sta je bolje SSA ili DSK? Zasto?
22
• 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
23
•
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
24
25
26
27
28
III.
Dijagrami aktivnosti
Pokazuju tokove od aktivnosti do aktivnosti
29
Opsti elementi kod dijagrama aktivnosti
Pocetak aktivnosti
Kraj aktivnosti
aktivnost
Sastavnica ili
rastavnica
Rezultira dokumentom
30
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
31
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
32
Primer br.1
• Dijagramom aktivnosti predstaviti aktivnosti
koje objekat klase Student izvršava na kraju II
semestra.
33
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.
34
Primer br 1. (rešenje)
Upis godine
Predavanja
Vezbe
Dobijanje
Sab.poena
potpisa
Nema
dovoljno
[nije
dobio
potpise]
ima dovoljno
[dobio
potpise]
Obnova godine
[nije ispunjen uslov upisa]
Overa
semestra
[ispunjen uslov upisa]
35
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
36
Primer br.2-dijagram aktivnosti za slucaj upotrebe podizanja i/ili uplate novca (koristeci plivacke staze-swimline)
Korisnik
Bankomat
Banka
Ubaci karticu
Unesi PIN
Unesi iznos
Autoriziraj
autorizacija
/ Valjan PIN
Provjeri stanje računa
/ Račun >= Iznos
Stavi na račun
Uzmi novac
Prikaži stanje računa
/ Nevaljan PIN
/ Račun < Iznos
Uzmi karticu
Izbaci karticu
37
Zadaci za rad na casu
Zadatak br.1
a) Kreirati klasicni dijagram aktivnosti
b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama
38
a)
39
b)
40
Zadaci za rad na casu
Zadatak br.2
41
42
Zadaci za rad na casu
Zadatak br.3
43
44
IV.
Dijagrami klasa
Pokazuju staticku strukturu sistema kroz: klase, njihovu strukturu, metode
(funkcije nad klasom), atribute i veze medju njima
45
Opsti elementi kod dijagrama klasa
Razred
-
Atribut
+
Metoda
Granična klasa
Veza »komunicira«
asocijacija
Veza »zavisnost«
Poslovna klasa
Veza »generalizuje«
Kontrolna klasa
Veza »agregacija«
Veza »kompozicija«
Brojnost:
1 tacno jedan
0..1 nula ili jedan
0..* bilo koji broj
1..* jedan ili vise
0..1,3..5,6..*
46
Primer za kupovinu racunara
47
KONKRETAN PRIMER DIJAGRAMA KLASA
48
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.
49
Zadatak 1. (rešenje)
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 2.
51
52
Zadatak br.3
53
54
Zadatak br.4
55
56
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
57
Dijagram stanja
Osnovni simboli i notacija
Početno stanje
Završno stanje
Stanje predstavlja situacije tokom
života objekta
Stanje
Tranzicija predstavlja događaj i
akciju koja menja stanje
58
Zadatak 1.
• Dijagramom stanja opisati stanje objekta Ispit
u procesu polaganja ispita iz predmeta IS
59
Rešenje
•Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
[nisu odradjene]
[nije zavrsen]
[odradjene]
Odradjivanje
lab. vezbi
[nije polozen]
Polaganje
ispita
[prijavljen]
Izrada
projekta
[zavrsen]
Prijava
ispita
[odustao]
[polozen]
60
Zadatak 2.
• Dijagramom stanja opisati stanje objekta
profesor u procesu dobijanja zvanja na
fakultetu
61
Resenje
62
Zadatak 3.
• Dijagramom stanja opisati stanje objekta
Student u procesu upisa na fakultet
63
Resenje
Predaja dokumenata
potpuna dokumentacija
Prijava za polaganje prijemnog ispita
prijava je kompletna
nisu
plaćeni
troškovi
Plaćanje troškova za polaganje plaćeno
Polaganje prijemnog ispita
prijemnog ispita
položen
prijemni ispit
Nije
položen
prijemni
ispit
Nema upisa
odustajanje
Zahtev za upis
nedovoljan broj poena
dovoljan broj poena
Plaćanje troškova upisa
(samofinansiranje)
plaćeni troškovi
Upis I godine
64