Upload
ekonomski-forum
View
109
Download
6
Embed Size (px)
Citation preview
1
2
PREPORUKEKriterijumi dekompozicije
(1) Kada prestati sa dekompozicijom?
Mala minispecifikacijaProcesi sa samo jednim ulazom i samo jednim izlazom
3
"MALA TRGOVINA “(primer II)
Dobavljac KupacIS mala trgovina
Katalog
FakturaDob
OtpremnicaDob
Narudzbenica dob
UplataDob
Racun
Placanja
Narudzbenica od kupca
OtpremnicaKupcu
4
Dobavljac
Kupac
Nabavka
Katalog
FakturaDob
OtpremnicaDob
Narud b̀enicaDob
UplataDob
Ra~un
Placanja
NarudzbenicaKupca
OtpremnicaKupca
Prodaja
Artikal
PoslovniPartner
Katalog
DokumentaNabavke
DokumentaProdaje
PRVI NIVO DEKOMPOZICIJE
Koje pravilo nije ispostovano?
5
PoslovniPartner
1.1. ObradaKataloga
1.2. Narucivanje 1.3. Prijem
1.4.Pla}anje
Katalog
NarudzbenicaDob
OtpremnicaDob
Prijemnice
FakturaDob
UplataDob FaktureDob
NarudzbeniceDob
Katalog
SkladisteArtikalaPoslovniPartner
OtpremniceDob
NABAVKA
dobavljac
artikli
Sta se ovde pojavilo?
6
Kupac2.1. Obradaporud`bina
NarudzbenicaKupca
NarudzbeniceKupca
ArtikalNalogZaOtpremu
2.2. Otprema
OtpremnicaKupca
OtpremniceKupcaRacuni
Ra~un
2.3. Naplata
Placanja
Pla}anja
PoslovniPartner
PoslovniPartner
PRODAJA
Zasto ovaj tok nema ime?
7Dijagram dekompozicije za IS MALA TRGOVINA
IS_MALA TRGOVINA
NABAVKA PRODAJA
OBRADA KATALOGA
NARUCIVANJE
PRIJEM
PLACANJE
OBRADA PORUDZ.
OTPREMA
0
1 2
2.1
2.2
1.1
1.2
1.3
1.4
NAPLATA2.3
8
Potpunu specifikaciju IS čine:
1. Hijerarhijski organizovan skup dijagrama toka podataka
2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka
3.Specifikacija logike primitivnih procesa-minispecifikacija
9
• Daje opis i sadržaj svih tokova i skladišta podataka (kompozicija polja)– polje – elementarna struktura koja se dalje ne
dekomponuje i koja ima svoju vrednost, npr. u indeksu, polja su BROJ_INDEKSA, IME_I_PREZIME, OCENA i sl.
Rečnik podataka SSARečnik podataka SSA
10
– polja svoje vrednosti uzimaju iz skupova vrednosti koje se nazivaju domenima i mogu biti:
• ”predefinisani” tj. standardni programsko-jezički domeni (npr. CHAR, REAL, LOGICAL I DATE)
• ”semantički” kada se def. posebno npr.
SEMESTRI DEFINED_AS numeric (2) BETWEEN 1, 10
Rečnik podataka SSARečnik podataka SSA
11
Predefinisani domeni
• INTEGER(dužina) • CHAR (dužina) • REAL(dužina celokupnog broja, dužina iza
zareza) • LOGICAL • DATE
12
Primer
• BI: CHAR (7) • OCENA: INT(2) IN (5,6,7,8,9,10) • SEMESTVŠ: SEMESTRI IN (1,2,3,4)
*Semestar više škole*
13
– Pored ograničenja na vrednosti polja, tj. vrednosti domena definišu se i druga ograničenja (<, >, =, <=, >=, BETWEEN, IN, NOT NULL i sl.)
(a) STAROST: INT(2) < 65(b) SEMESTAR: INTEGER (2) BETWEEN 1,10(c) OCENA INT(2) IN (5,6,7,8,9,10)(d) BROJ_INDEKSA: CHARACTER (7) NOT NULL
STAROST: INT(2) < 65 AND NOT NULL-slozeno ogranicenje
Rečnik podataka SSARečnik podataka SSA
14
• Struktura tokova podataka i skladišta predstavlja neku kompoziciju polja, odnosno konstrukciju čije su komponente polja. Konstrukcija kojom se od komponenata gradi struktura može biti:– Agregacija komponenti – Ekskluzivna specijalizacija (unija) komponenti– Neekskluzivna specijalizacija (unija) komponenti– Skup komponenti
Rečnik podataka SSARečnik podataka SSA
15
Agregacija komponenti
ISPITNA_PRIJAVA: < BROJ_INDEKSA, IME_STUDENTA, NAZIV_PREDMETA, DATUM_POLAGANJA, OCENA, IME_NASTAVNIKA
>
16
Ekskluzivna specijalizacija (unija) komponenti
PROIZVOD: < ŠIFRA_PR, NAZIV_PR,
[ STOPA_AMORT, KOLIČ_NARUČ ] >
17
Neekskluzivna specijalizacija (unija) komponenti
STUD_ZAHTEV: / ZAHTEV_ZA_UVER_STATUS, ZAHTEV_ZA_UVER_POL_ISPIT /
18
Skup komponenti
UVERENJE_O_POL_ISPIT: < BROJ_INDEKSA, IME_STUDENTA,
{< NAZIV_PREDMETA, OCENA>}, PROSEČNA_OCENA>
19
STRUCTURES DOK_ZA_PRIJEMNI_ISPIT: < DIPLOMA,
{<SVEDOČANSTVO>}, {<NAGRADA>} >;
DIPLOMA: < NAZIV_ŠKOLE:CHAR (20), VRSTA_ŠKOLE:VRSTE_ŠKOLA, IME_KAND, DATUM_DIPL:DATE >;
SVEDOČANSTVO: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_SVED, {< NAZIV_ŠKOL_PRED, OCENA_ŠKOL_PRED:INT(1) IN (1,2,3,4,5) >}, PROSEK: REAL(1,2) < 5.00 >;
Nagrada….FIELDS NAZIV_ŠKOLE: CHAR(20); VRSTA_ŠKOLE: VRSTE_ŠKOLA; IME_KAND: CHAR(25); DATUM_DIPL: DATE; DATUM_SVED: DATE; NAZIV_ŠKOL-PRED: CHAR(15); OCENA_ŠKOL_PRED: INT(1) IN (1,2,3,4,5); PROSEK: REAL(1,2) < 5.00 DOMAINS VRSTE_ŠKOLA: CHAR(20) IN ('GIMNAZIJA', 'SREDNJETEHNIČKA', 'OSTALE')
20
STRUCTURES DOK_ZA_PRIJEMNI_ISPIT: < DIPLOMA,
{<SVEDOČANSTVO>}, {<NAGRADA>} >;
DIPLOMA: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_DIPL >;
SVEDOČANSTVO: < NAZIV_ŠKOLE, VRSTA_ŠKOLE, IME_KAND, DATUM_SVED, {< NAZIV_ŠKOL_PRED, OCENA_ŠKOL_PRED >}, PROSEK >;
NAGRADA…
21
Nastavak
FIELDS NAZIV POLJA DOMEN OGRANIČENJE NAZIV_ŠKOLE CHAR(20) - VRSTA_ŠKOLE VRSTE_ŠKOLA- IME_KAND CHAR(25) - DATUM_DIPL DATE - DATUM_SVED DATE - NAZIV_ŠKOL-PRED CHAR(15);- OCENA_ŠKOL_PRED INT(1) IN (1,2,3,4,5) PROSEK REAL (1,2) < 5.00
22
Potpunu specifikaciju IS čine:
1. Hijerarhijski organizovan skup dijagrama toka podataka
2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka
3.Specifikacija logike primitivnih procesa (minispecifikacija)
23Dijagram dekompozicije za IS studentske službe
IS_STUDENTSKE_SLUŽBE
UPIS OBRADA_ISPITA IZDAVANJE_UVERENJA
EVIDENTIRANJE_KANDIDATA
OBRADA_SPISKOVA_ZA_ISPIT
OBRADA_REZULTATA_PRIJEMNOG
IZVJEŠTAVANJE_KANDIDATA
UPIS_GODINE
RASPOREĐIVANJE
EVIDENTIRANJE_ISPITNIH_PRIJAVA
ZAVOĐENJE_REZULTATA_ISPITA
IZDAVANJE_UVER_O_STATUSU
IZDAVANJE_UVER_O_POL_ISPITU
0
1 2 3
2.1 3.1
2.2 3.2
1.1
1.2
1.3
1.4
1.5
1.6
24
Minispecifikacija-specifikacija logike primitivnih procesa
Pseudokod - jezik koji koristi rečnik prirodnog jezika, a čije su konstrukcije struktuirane pomoću koncepata struktuiranog programiranja.
25
može se interpretirati barem na dva načina: (a) "Svaki komitent (koji ima na računu više od 10.000 AND
srednji mesečni bilans veći od 5.000 ) OR poseduje račun više od pet godina…"
(b) "Svaki komitent koji ima na računu više od 10.000 AND (srednji mesečni bilans veći od 5.000 OR poseduje račun više od pet godina…)"
"Svaki komitent banke koji ima na računu više od 10.000, čiji je srednji mesečni bilans veći od 5.000 ili koji poseduje račun više od pet godina ...."
26
Osnovne strukture za struktuiranje su:
• Sekvenca• Selekcija• Case struktura• Iteracija
27
(I) Sekvencija - aktivnosti u sekvencijalnom bloku se odvijaju po redosledu navođenja
Primer ya primitivni proces Evidentiranje kandidata
BEGIN Unesi podatke o diplomi; Unesi podatke sa svedočanstava; Unesi podatke o nagradama; Ažuriraj datoteku KANDIDATI_ZA_UPIS; END;
28
(II) Selekcija-Redosled aktivnosti zavisi od nekog uslova.
IF uslov THEN blok_akcija_1 ELSE blok_akcija_2;
Na primer: IF BROJ POENA > 85 Upiši kandidata ELSE Odbi
kandidata;
29
(III) Case struktura je specijalni slučaj selekcije kada se u zavisnosti od vrednosti jednog parametra može izvršavati više različitih
blokova akcija
CASE parametar OF vrednost_parametra_1: bloka_akcija_1 vrednost_parametra_2: bloka_akcija_2 ... ... vrednost_parametra_n: bloka_akcija_n
CASE SEMESTAR OF 1: Stavi_studente u grupu za prvu godinu Stavi_studente u grupu za drugu godinu Stavi_studente u grupu za treću godinu Stavi_studente u grupu za četvrtu godinu;
30
(IV) Iteracija. Blok akcija se ponavlja dok se neki uslov ne ispuni ili dok se akcije ne obave za sve objekte
nekog skupa
Osnovni oblici ove strukture su: • DO WHILE uslov blok_akcija - uslov se ispituje pre svakog
izvršenja bloka akcija, moguće je da se blok akcija ne izvrši nijednom,
• DO UNTIL uslov blok_ akcija - uslov se ispituje na kraju svakog izvršenja bloka akcija, blok akcija se izvršava barem jedanput.
…
31
Primer-proces EVIDENTIRANJE KANDIDATA
Prihvati DIPLOMU_SRED_ŠKOLE; IF VRSTA_ŠKOLE ne odgovara THEN formiraj NEPRIHVATLJIV_DOKUMENTI; FOR EACH SVEDOČANSTVO DO Prihvati SVEDOČANSTVO * Provera da li je PROSEK u svedočanstvu dobro sračunat* SUMA := 0.; BROJPRED := 0;DO WHILE Postoje predmeti u SVEDOČANSTVO SUMA := SUMA + OCENA; BROJPRED := BROJPRED + 1; END WHILE; PROSOCENA := SUMA/BROJPRED; IF PROSEK NOT EQUAL PROSOCENA THEN formiraj NEPRIHVATLJIV_DOKUMENTI;Ubaci podatke sa SVEDOČANSTVO u KANDIDATI_ZA_UPIS; END FOR; FOR EACH NAGRADE DO IF IME_NAGRADE odgovarajuće THEN Ubaci podatke sa NAGRADE u KANDIDATI_ZA_UPIS; END FOR;
32
Potpunu specifikaciju IS čine:
1. Hijerarhijski organizovan skup dijagrama toka podataka
2. Rečnik podataka koji opisuje sadržaj i strukturu svih tokova i skladišta podataka
3.Specifikacija logike primitivnih procesa (minispecifikacija)
33
UML Modeli i dijagrami
34
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
35
UML Modeli i dijagrami
Use CaseDiagramsUse CaseDiagramsDijagramislučajeva korišćenja
ScenarioDiagramsScenarioDiagramsDijagramikolaboracije
StateDiagramsStateDiagramsDijagramikomponenti
ComponentDiagramsComponentDiagramsDijagrami Rasporeda
StateDiagramsStateDiagramsDijagrami
objekata
ScenarioDiagramsScenarioDiagramsDijagrami
prelaza stanja
Use CaseDiagramsUse CaseDiagramsDijagrami
sekvenci
StateDiagramsState
DiagramsDijagrami klasa
Dijagramiaktivnosti
Modeli
36
I.Dijagrami slucajeva koriscenja
Opisuju funkcionalno ponasenje sistema sa nekim ili necim sto se naziva akter
37
Usluga
Primer upotrebeAkter
Opsti elementi kod dijagrama slucajeva koriscenja
Veza »komunicira«asocijacija
«extend»
Veza »ukljucuje« ili »veza prosirenje «
Granice sistema
38
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
39
PRIMER SLUČAJA KORIŠĆENJA
BANKOVNI AUTOMAT
Podizanje novca
ulaganje
Prenos
Administracija
Komitent
Operater
Računarbanke
40
Primalac izve{tajao ukupnom
prometu
Komitent Administrator
APSTRAKTNI AKTER
• Kada dva aktera imaju slične uloge u odnosu na sistem, oni mogu stvoriti naslednika-zajedničkog apstraktnog aktera.
41
ILUSTRACIJE VEZE <<include>>:
Provera kartice
Provera tajne{ifre
Kraj transakcije
Ulaganje
<<include>><<include>>
<<include>>
korisnik
42
PRIMER VEZE <<extend>>
Provera karticeProvera tajne
{ifre
Kraj transakcije
Podizanje
<<include>><<include>>
<<include>>
Statistikaulaganjakorisnik
<<extend>>(uklju~i statistiku)
43
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
44
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?
45
Zadatak 1. UseCase dijagram i specifikacija
• Nacrtati UseCase dijagram i napisati UseCase specifikaciju za scenario prijave ispita na Ekonomskom fakultetu
46
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
47
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.
48
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.
49
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.
50
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.
51
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.
52
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.
53
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.
54
Koje informacije je dobio programer?
Sta je bolje SSA ili DSK? Zasto?
55
II.Dijagrami interakcija (dijagram sekvenci (redosleda)+dijagram
kolaboracije(saradnje))
Pokazuju saradnju, vezu i komunikaciju grupe objekata u sistemu cije se ponasanje opisuje
56
Opsti elementi kod dijagrama sekvenci (redosleda)
Objekat :Razred
Zivotna crta objekta
Objekat :Razred
Aktivacija
Objekat :Razred
Poruka
Poruka
57
UOPSTENI PRIMER DIJAGRAMA SEKVENCI (redosleda)
Tekstualni opis “koreografije” komunikacije aktera sa sistemom
Objekat :Razred 2 Objekat :Razred 3Objekat :Razred 1
Akter
Poruka 1
Poruka 2
Poruka 3
Poruka 4
Poruka 5
Poruka 6
Poruka 7
58
KONKRETNI PRIMER DIJAGRAMA SEKVENCI (redosleda)
:Državljanin
:Interfejs zaodabir fakulteta
:Kontroler odabirfakulteta
:Fakultet :Izbor fakulteta
Počni postupakodabira fakultete
Prikupi listu fakulteta()
Prikupi listu fakulteta()
Lista fakulteta
Lista fakulteta
Prikaži listu fakulteta()
Označi fakultet()
Unesi prioritet()
Potvrda izbora()
Memoriši izbor()
Memoriši izbor()
Izbor memorisan
Izbor memorisan
Prikaži potvrđen izbor
59
Zadatak 2.
• Dijagramom sekvenci opisati scenario za štampanje zapisnika za ispit.
: ZapisnikForma : Racunar : Server : Stampac
StampajZapisnik(z: Zapisnik)
Stampaj(d: Dokument)
Stampaj(d: Dokument)
60
UOPSTENI PRIMER DIJAGRAMA SARADNJE (KOLABORACIJE)
:Objekt :Razred 1
:Objekt :Razred 2 :Objekt :Razred 3
:Akter
:Objekat :Razred 4
:Objekat :Razred 1
:Objekat : Razred 2 :Objekat : Razred 3
1: Poruka 1
1.1: Poruka 2
1.2: Poruka 3
1.3: Poruka 41.4: Poruka 5
1.5: Poruka 6
1.6: Poruka 7
1.7: Poruka 8
61
KONKRETNI PRIMER DIJAGRAMA SARADNJE
::Kontroler izborafakulteta
::Interfejs za odabir fakulteta
::Fakultet ::Izbor fakulteta
Državljanin
1: Počni postupak odabira fakultete
1.1: Prikupi listu fakulteta
1.2: Prikupi listu fakulteta
1.3: Lista fakulteta
1.4: Lista fakulteta
1.6: Odaberi fakultet
1.7: Unesi prioritet
1.8: Potvrda izbora
1.9: Memoriši izbor
1.10: Memoriši izbor
1.11: Izbor memorisan
1.12: Izbor memorisan
1.13: Prikaži potvrdu izbora
1.5: Prikaži listu fakulteta
62
Zadatak 3.
• Dijagramom saradnje (kolaboracije) opisati scenario za formiranje zapisnika za polaganje ispita.
63
Zadatak 4. (rešenje)
: Sluzbenik studentske sluzbe
: ListaPredmetaForma : ZapisnikForma
: Predmet
3: PreuzmiPredmete()
1: FormiranjeZapisnika()
4: SelektrujPredmet()
2: PrikaziPredmete()
5: Selektruj()
6: VratiSelekciju()
7: PodaciOPredmetu(predmet: String, rok: String)8: DodajPodatkeOPrijavi(prijava: Prijava) until ImaPrijava()
64
III.Dijagrami aktivnosti
Pokazuju tokove od aktivnosti do aktivnosti
65
Opsti elementi kod dijagrama aktivnosti
Pocetak aktivnosti
Kraj aktivnosti
aktivnost
Sastavnica ili rastavnica
Rezultira dokumentom
66
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
67
KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI
68
Zadatak 5.
• Dijagramom aktivnosti predstaviti aktivnosti koje objekat klase Student izvršava na kraju II semestra.
69
Zadatak 5. (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.
70
Zadatak 5. (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
71
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
72
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)
73
Zadaci za rad na casuZadatak br.1
a) Kreirati klasicni dijagram aktivnosti
b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama
74
a)
75
b)
76
Zadaci za rad na casuZadatak br.2
77
78
Zadaci za rad na casuZadatak br.3
79
80
IV.Dijagrami klasa
Pokazuju staticku strukturu sistema kroz: klase, njihovu strukturu, metode (funkcije nad klasom), atribute i veze medju njima
81
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«
82
Primer za kupovinu racunara
83
KONKRETAN PRIMER DIJAGRAMA KLASA
84
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.
85
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
86
Zadatak 2.
87
88
Zadatak br.3
89
90
Zadatak br.4
91
92
V.Dijagrami objekata
Pokazuju vezu medu objektima radi opisa statickih karakteristika modela
93
Dijagrami objekata
Organizaciona jedinica
Osoba Organizacija
roditelj
djeca
1
*
94
Dijagrami objekata
uprava : Organizacija
racunovodstvo : Organizacija nastavici : Organizacija
Pero : Osoba Marko : Osoba
95
KONKRETAN PRIMER DIJAGRAMA OBJEKATA
96
Ana : Lice
: Lice
Aca
OZNAKA OBJEKATA (POJAVLJIVANJA)
Naziv objekta i naziv odgovarajuceKlase
"Anonimni" objekat date klase
Objekat cija se klasa podrazumeva(ocigledna je)
97
VI.Dijagrami komponenti
Skup komponenti i njihovih relacija (biblioteke fajlova, funkcije izvrsnih fajlova ili koncepti u softverskim paketima
98
Dijagrami komponenti
Upotreba:Modeliranje koda programa,
Modeliranje izvrsnih verzija softvera,Modeliranje baza podataka
Modeliranje prilagodljivih (adaptivnih) sistema
99
100
101
image.java component.java
ImageObserver
ikonica zavisn. implement.
image.java
<<interface>>ImageObserver
component.javaabotr:interror:int
imageUpdate()
102
VII.Dijagrami razmestaja komponenti
Prikazuje topologiju sistema, raspored komponenti po cvorovima mreze
103
104
105
KLIJENT
SERVER
MREŽAKLIJENT
KLIJENT
primer
106
server:Samopos.
Klijent: POSterminal
:upiti<<baza >>
:Prodaja
:transakc.
:POS-GUI
DIJAGRAM RAZMESTAJA KOMPONENTI
107
Zadatak 1.
• Dijagramom razmeštaja predstaviti konfiguraciju prethodno opisanog sistema sa stanovišta procesnih jedinica pod pretpostavkom da se studenti mogu prijavljivati za kurseve iz biblioteke, studentskog doma ili iz glavne zgrade.
108
Zadatak 1. (rešenje)
Server<<PC>>
Biblioteka<<PC>>
Glavna zgrada<<PC>>
Studentski dom<<PC>>
<<Intranet>>
<<Internet>>
<<LAN>>
109
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
110
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
111
Primer dijagrama stanja
entry/TermometarUpaljen
Toster upaljen
entry/GrijačUključiexit/IzvadiKruh
Radi Gašenje/ Uključi / Isključi
112
Zadatak 1.
• Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS
113
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
114
Zadatak 2.
• Dijagramom stanja opisati stanje objekta profesor u procesu dobijanja zvanja na fakultetu
115
Resenje
116
Zadatak 3.
• Dijagramom stanja opisati stanje objekta Student u procesu upisa na fakultet
117
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
118
UML Modeli i dijagrami
Use CaseDiagramsUse CaseDiagramsDijagramislučajeva korišćenja
ScenarioDiagramsScenarioDiagramsDijagramikolaboracije
StateDiagramsStateDiagramsDijagramikomponenti
ComponentDiagramsComponentDiagramsDijagrami rasporeda
(razmestaja)
StateDiagramsStateDiagramsDijagrami
objekata
ScenarioDiagramsScenarioDiagramsDijagrami
stanja
Use CaseDiagramsUse CaseDiagramsDijagrami
sekvenci
StateDiagramsState
DiagramsDijagrami klasa
Dijagramiaktivnosti
Modeli
119
Modeli, pogledi i dijagrami
Use CaseDiagramsUse Case
DiagramsUse CaseDiagrams
ScenarioDiagramsScenario
DiagramsCollaborationDiagrams
StateDiagramsState
DiagramsComponentDiagrams
ComponentDiagramsComponent
DiagramsDeploymentDiagrams
StateDiagramsState
DiagramsObjectDiagrams
ScenarioDiagramsScenario
DiagramsStatechartDiagrams
Use CaseDiagramsUse Case
DiagramsSequenceDiagrams
StateDiagramsState
DiagramsClassDiagrams
ActivityDiagrams
Models
Dinamički poglediDijagrami interakcija
Statički pogledi
Razmatrano ranije
120
Sta se UMl-u zamera?
• Cesto ima komplikovanu notaciju• Nekada sadrzi neprecizne elemente• Staticki dijagrami• Notacija je cesto problematicna da bi bila
intuitivna i user-frendly
121
UML ili SSA?
122
Test I
• 14.11.2011. • Raspored grupa ce biti naknadno objavljen