122
1

17. Oktobar 2011

Embed Size (px)

Citation preview

Page 1: 17. Oktobar 2011

1

Page 2: 17. Oktobar 2011

2

PREPORUKEKriterijumi dekompozicije

(1) Kada prestati sa dekompozicijom?

Mala minispecifikacijaProcesi sa samo jednim ulazom i samo jednim izlazom

Page 3: 17. Oktobar 2011

3

"MALA TRGOVINA “(primer II)

Dobavljac KupacIS mala trgovina

Katalog

FakturaDob

OtpremnicaDob

Narudzbenica dob

UplataDob

Racun

Placanja

Narudzbenica od kupca

OtpremnicaKupcu

Page 4: 17. Oktobar 2011

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?

Page 5: 17. Oktobar 2011

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?

Page 6: 17. Oktobar 2011

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?

Page 7: 17. Oktobar 2011

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

Page 8: 17. Oktobar 2011

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

Page 9: 17. Oktobar 2011

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

Page 10: 17. Oktobar 2011

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

Page 11: 17. Oktobar 2011

11

Predefinisani domeni

• INTEGER(dužina) • CHAR (dužina) • REAL(dužina celokupnog broja, dužina iza

zareza) • LOGICAL • DATE

Page 12: 17. Oktobar 2011

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*

Page 13: 17. Oktobar 2011

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

Page 14: 17. Oktobar 2011

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

Page 15: 17. Oktobar 2011

15

Agregacija komponenti

ISPITNA_PRIJAVA: < BROJ_INDEKSA, IME_STUDENTA, NAZIV_PREDMETA, DATUM_POLAGANJA, OCENA, IME_NASTAVNIKA

>

Page 16: 17. Oktobar 2011

16

Ekskluzivna specijalizacija (unija) komponenti

PROIZVOD: < ŠIFRA_PR, NAZIV_PR,

[ STOPA_AMORT, KOLIČ_NARUČ ] >

Page 17: 17. Oktobar 2011

17

Neekskluzivna specijalizacija (unija) komponenti

STUD_ZAHTEV: / ZAHTEV_ZA_UVER_STATUS, ZAHTEV_ZA_UVER_POL_ISPIT /

Page 18: 17. Oktobar 2011

18

Skup komponenti

UVERENJE_O_POL_ISPIT: < BROJ_INDEKSA, IME_STUDENTA,

{< NAZIV_PREDMETA, OCENA>}, PROSEČNA_OCENA>

Page 19: 17. Oktobar 2011

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')

Page 20: 17. Oktobar 2011

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…

Page 21: 17. Oktobar 2011

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

Page 22: 17. Oktobar 2011

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)

Page 23: 17. Oktobar 2011

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

Page 24: 17. Oktobar 2011

24

Minispecifikacija-specifikacija logike primitivnih procesa

Pseudokod - jezik koji koristi rečnik prirodnog jezika, a čije su konstrukcije struktuirane pomoću koncepata struktuiranog programiranja.

Page 25: 17. Oktobar 2011

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 ...."

Page 26: 17. Oktobar 2011

26

Osnovne strukture za struktuiranje su:

• Sekvenca• Selekcija• Case struktura• Iteracija

Page 27: 17. Oktobar 2011

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;

Page 28: 17. Oktobar 2011

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;

Page 29: 17. Oktobar 2011

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;

Page 30: 17. Oktobar 2011

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.

Page 31: 17. Oktobar 2011

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;

Page 32: 17. Oktobar 2011

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)

Page 33: 17. Oktobar 2011

33

UML Modeli i dijagrami

Page 34: 17. Oktobar 2011

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

Page 35: 17. Oktobar 2011

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

Page 36: 17. Oktobar 2011

36

I.Dijagrami slucajeva koriscenja

Opisuju funkcionalno ponasenje sistema sa nekim ili necim sto se naziva akter

Page 37: 17. Oktobar 2011

37

Usluga

Primer upotrebeAkter

Opsti elementi kod dijagrama slucajeva koriscenja

Veza »komunicira«asocijacija

«extend»

Veza »ukljucuje« ili »veza prosirenje «

Granice sistema

Page 38: 17. Oktobar 2011

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

Page 39: 17. Oktobar 2011

39

PRIMER SLUČAJA KORIŠĆENJA

BANKOVNI AUTOMAT

Podizanje novca

ulaganje

Prenos

Administracija

Komitent

Operater

Računarbanke

Page 40: 17. Oktobar 2011

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.

Page 41: 17. Oktobar 2011

41

ILUSTRACIJE VEZE <<include>>:

Provera kartice

Provera tajne{ifre

Kraj transakcije

Ulaganje

<<include>><<include>>

<<include>>

korisnik

Page 42: 17. Oktobar 2011

42

PRIMER VEZE <<extend>>

Provera karticeProvera tajne

{ifre

Kraj transakcije

Podizanje

<<include>><<include>>

<<include>>

Statistikaulaganjakorisnik

<<extend>>(uklju~i statistiku)

Page 43: 17. Oktobar 2011

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

Page 44: 17. Oktobar 2011

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?

Page 45: 17. Oktobar 2011

45

Zadatak 1. UseCase dijagram i specifikacija

• Nacrtati UseCase dijagram i napisati UseCase specifikaciju za scenario prijave ispita na Ekonomskom fakultetu

Page 46: 17. Oktobar 2011

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

Page 47: 17. Oktobar 2011

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.

Page 48: 17. Oktobar 2011

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.

Page 49: 17. Oktobar 2011

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.

Page 50: 17. Oktobar 2011

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.

Page 51: 17. Oktobar 2011

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.

Page 52: 17. Oktobar 2011

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.

Page 53: 17. Oktobar 2011

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.

Page 54: 17. Oktobar 2011

54

Koje informacije je dobio programer?

Sta je bolje SSA ili DSK? Zasto?

Page 55: 17. Oktobar 2011

55

II.Dijagrami interakcija (dijagram sekvenci (redosleda)+dijagram

kolaboracije(saradnje))

Pokazuju saradnju, vezu i komunikaciju grupe objekata u sistemu cije se ponasanje opisuje

Page 56: 17. Oktobar 2011

56

Opsti elementi kod dijagrama sekvenci (redosleda)

Objekat :Razred

Zivotna crta objekta

Objekat :Razred

Aktivacija

Objekat :Razred

Poruka

Poruka

Page 57: 17. Oktobar 2011

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

Page 58: 17. Oktobar 2011

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

Page 59: 17. Oktobar 2011

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)

Page 60: 17. Oktobar 2011

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

Page 61: 17. Oktobar 2011

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

Page 62: 17. Oktobar 2011

62

Zadatak 3.

• Dijagramom saradnje (kolaboracije) opisati scenario za formiranje zapisnika za polaganje ispita.

Page 63: 17. Oktobar 2011

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()

Page 64: 17. Oktobar 2011

64

III.Dijagrami aktivnosti

Pokazuju tokove od aktivnosti do aktivnosti

Page 65: 17. Oktobar 2011

65

Opsti elementi kod dijagrama aktivnosti

Pocetak aktivnosti

Kraj aktivnosti

aktivnost

Sastavnica ili rastavnica

Rezultira dokumentom

Page 66: 17. Oktobar 2011

66

KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI

Page 67: 17. Oktobar 2011

67

KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI

Page 68: 17. Oktobar 2011

68

Zadatak 5.

• Dijagramom aktivnosti predstaviti aktivnosti koje objekat klase Student izvršava na kraju II semestra.

Page 69: 17. Oktobar 2011

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.

Page 70: 17. Oktobar 2011

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

Page 71: 17. Oktobar 2011

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

Page 72: 17. Oktobar 2011

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)

Page 73: 17. Oktobar 2011

73

Zadaci za rad na casuZadatak br.1

a) Kreirati klasicni dijagram aktivnosti

b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama

Page 74: 17. Oktobar 2011

74

a)

Page 75: 17. Oktobar 2011

75

b)

Page 76: 17. Oktobar 2011

76

Zadaci za rad na casuZadatak br.2

Page 77: 17. Oktobar 2011

77

Page 78: 17. Oktobar 2011

78

Zadaci za rad na casuZadatak br.3

Page 79: 17. Oktobar 2011

79

Page 80: 17. Oktobar 2011

80

IV.Dijagrami klasa

Pokazuju staticku strukturu sistema kroz: klase, njihovu strukturu, metode (funkcije nad klasom), atribute i veze medju njima

Page 81: 17. Oktobar 2011

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«

Page 82: 17. Oktobar 2011

82

Primer za kupovinu racunara

Page 83: 17. Oktobar 2011

83

KONKRETAN PRIMER DIJAGRAMA KLASA

Page 84: 17. Oktobar 2011

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.

Page 85: 17. Oktobar 2011

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

Page 86: 17. Oktobar 2011

86

Zadatak 2.

Page 87: 17. Oktobar 2011

87

Page 88: 17. Oktobar 2011

88

Zadatak br.3

Page 89: 17. Oktobar 2011

89

Page 90: 17. Oktobar 2011

90

Zadatak br.4

Page 91: 17. Oktobar 2011

91

Page 92: 17. Oktobar 2011

92

V.Dijagrami objekata

Pokazuju vezu medu objektima radi opisa statickih karakteristika modela

Page 93: 17. Oktobar 2011

93

Dijagrami objekata

Organizaciona jedinica

Osoba Organizacija

roditelj

djeca

1

*

Page 94: 17. Oktobar 2011

94

Dijagrami objekata

uprava : Organizacija

racunovodstvo : Organizacija nastavici : Organizacija

Pero : Osoba Marko : Osoba

Page 95: 17. Oktobar 2011

95

KONKRETAN PRIMER DIJAGRAMA OBJEKATA

Page 96: 17. Oktobar 2011

96

Ana : Lice

: Lice

Aca

OZNAKA OBJEKATA (POJAVLJIVANJA)

Naziv objekta i naziv odgovarajuceKlase

"Anonimni" objekat date klase

Objekat cija se klasa podrazumeva(ocigledna je)

Page 97: 17. Oktobar 2011

97

VI.Dijagrami komponenti

Skup komponenti i njihovih relacija (biblioteke fajlova, funkcije izvrsnih fajlova ili koncepti u softverskim paketima

Page 98: 17. Oktobar 2011

98

Dijagrami komponenti

Upotreba:Modeliranje koda programa,

Modeliranje izvrsnih verzija softvera,Modeliranje baza podataka

Modeliranje prilagodljivih (adaptivnih) sistema

Page 99: 17. Oktobar 2011

99

Page 100: 17. Oktobar 2011

100

Page 101: 17. Oktobar 2011

101

image.java component.java

ImageObserver

ikonica zavisn. implement.

image.java

<<interface>>ImageObserver

component.javaabotr:interror:int

imageUpdate()

Page 102: 17. Oktobar 2011

102

VII.Dijagrami razmestaja komponenti

Prikazuje topologiju sistema, raspored komponenti po cvorovima mreze

Page 103: 17. Oktobar 2011

103

Page 104: 17. Oktobar 2011

104

Page 105: 17. Oktobar 2011

105

KLIJENT

SERVER

MREŽAKLIJENT

KLIJENT

primer

Page 106: 17. Oktobar 2011

106

server:Samopos.

Klijent: POSterminal

:upiti<<baza >>

:Prodaja

:transakc.

:POS-GUI

DIJAGRAM RAZMESTAJA KOMPONENTI

Page 107: 17. Oktobar 2011

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.

Page 108: 17. Oktobar 2011

108

Zadatak 1. (rešenje)

Server<<PC>>

Biblioteka<<PC>>

Glavna zgrada<<PC>>

Studentski dom<<PC>>

<<Intranet>>

<<Internet>>

<<LAN>>

Page 109: 17. Oktobar 2011

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

Page 110: 17. Oktobar 2011

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

Page 111: 17. Oktobar 2011

111

Primer dijagrama stanja

entry/TermometarUpaljen

Toster upaljen

entry/GrijačUključiexit/IzvadiKruh

Radi Gašenje/ Uključi / Isključi

Page 112: 17. Oktobar 2011

112

Zadatak 1.

• Dijagramom stanja opisati stanje objekta Ispit u procesu polaganja ispita iz predmeta IS

Page 113: 17. Oktobar 2011

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

Page 114: 17. Oktobar 2011

114

Zadatak 2.

• Dijagramom stanja opisati stanje objekta profesor u procesu dobijanja zvanja na fakultetu

Page 115: 17. Oktobar 2011

115

Resenje

Page 116: 17. Oktobar 2011

116

Zadatak 3.

• Dijagramom stanja opisati stanje objekta Student u procesu upisa na fakultet

Page 117: 17. Oktobar 2011

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

Page 118: 17. Oktobar 2011

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

Page 119: 17. Oktobar 2011

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

Page 120: 17. Oktobar 2011

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

Page 121: 17. Oktobar 2011

121

UML ili SSA?

Page 122: 17. Oktobar 2011

122

Test I

• 14.11.2011. • Raspored grupa ce biti naknadno objavljen