uml modeli i dijagrami

64
1 UML Modeli i dijagrami

Upload: wing-clayton

Post on 01-Jan-2016

98 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: UML Modeli i dijagrami

1

UML Modeli i dijagrami

Page 2: 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

Page 3: UML Modeli i dijagrami

3

Sluzi za:

Page 4: UML Modeli i dijagrami

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

Page 5: UML Modeli i dijagrami

5

I.Dijagrami slucajeva koriscenja

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

Page 6: UML Modeli i dijagrami

6

Usluga

Primer upotrebeAkter

Opsti elementi kod dijagrama slucajeva koriscenja

Veza »komunicira«asocijacija

«extend»

Veza »ukljucuje« ili »veza prosirenje «

Granice sistema

Page 7: UML Modeli i dijagrami

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

Page 8: UML Modeli i dijagrami

8

PRIMER SLUČAJA KORIŠĆENJA

BANKOVNI AUTOMAT

Podizanje novca

ulaganje

Prenos

Administracija

Komitent

Operater

Računarbanke

Page 9: UML Modeli i dijagrami

9

ILUSTRACIJE VEZE <<include>>:

Provera kartice

Provera tajne{ifre

Kraj transakcije

Ulaganje

<<include>><<include>>

<<include>>

korisnik

Page 10: UML Modeli i dijagrami

10

PRIMER VEZE <<extend>>

Provera karticeProvera tajne

{ifre

Kraj transakcije

Podizanje

<<include>><<include>>

<<include>>

Statistikaulaganjakorisnik

<<extend>>(uklju~i statistiku)

Page 11: UML Modeli i dijagrami

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

Page 12: UML Modeli i dijagrami

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?

Page 13: UML Modeli i dijagrami

13

Zadatak 1. UseCase dijagram i specifikacija

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

Page 14: UML Modeli i dijagrami

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

Page 15: UML Modeli i dijagrami

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.

Page 16: UML Modeli i dijagrami

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.

Page 17: UML Modeli i dijagrami

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.

Page 18: UML Modeli i dijagrami

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.

Page 19: UML Modeli i dijagrami

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.

Page 20: UML Modeli i dijagrami

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.

Page 21: UML Modeli i dijagrami

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.

Page 22: UML Modeli i dijagrami

22

Koje informacije je dobio programer?

Sta je bolje SSA ili DSK? Zasto?

Page 23: UML Modeli i dijagrami

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

Page 24: UML Modeli i dijagrami

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

Page 25: UML Modeli i dijagrami

25

Page 26: UML Modeli i dijagrami

26

Page 27: UML Modeli i dijagrami

27

Page 28: UML Modeli i dijagrami

28

Page 29: UML Modeli i dijagrami

29

III.Dijagrami aktivnosti

Pokazuju tokove od aktivnosti do aktivnosti

Page 30: UML Modeli i dijagrami

30

Opsti elementi kod dijagrama aktivnosti

Pocetak aktivnosti

Kraj aktivnosti

aktivnost

Sastavnica ili rastavnica

Rezultira dokumentom

Page 31: UML Modeli i dijagrami

31

KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI

Page 32: UML Modeli i dijagrami

32

KONKRETNI PRIMER DIJAGRAMA AKTIVNOSTI

Page 33: UML Modeli i dijagrami

33

Primer br.1

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

Page 34: UML Modeli i dijagrami

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.

Page 35: UML Modeli i dijagrami

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

Page 36: UML Modeli i dijagrami

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

Page 37: UML Modeli i dijagrami

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)

Page 38: UML Modeli i dijagrami

38

Zadaci za rad na casuZadatak br.1

a) Kreirati klasicni dijagram aktivnosti

b) Kreirati dijagram aktivnosti sa tzv. plivackim stazama

Page 39: UML Modeli i dijagrami

39

a)

Page 40: UML Modeli i dijagrami

40

b)

Page 41: UML Modeli i dijagrami

41

Zadaci za rad na casuZadatak br.2

Page 42: UML Modeli i dijagrami

42

Page 43: UML Modeli i dijagrami

43

Zadaci za rad na casuZadatak br.3

Page 44: UML Modeli i dijagrami

44

Page 45: UML Modeli i dijagrami

45

IV.Dijagrami klasa

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

Page 46: UML Modeli i dijagrami

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«

Page 47: UML Modeli i dijagrami

47

Primer za kupovinu racunara

Page 48: UML Modeli i dijagrami

48

KONKRETAN PRIMER DIJAGRAMA KLASA

Page 49: UML Modeli i dijagrami

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.

Page 50: UML Modeli i dijagrami

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

Page 51: UML Modeli i dijagrami

51

Zadatak 2.

Page 52: UML Modeli i dijagrami

52

Page 53: UML Modeli i dijagrami

53

Zadatak br.3

Page 54: UML Modeli i dijagrami

54

Page 55: UML Modeli i dijagrami

55

Zadatak br.4

Page 56: UML Modeli i dijagrami

56

Page 57: UML Modeli i dijagrami

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

Page 58: UML Modeli i dijagrami

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

Page 59: UML Modeli i dijagrami

59

Zadatak 1.

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

Page 60: UML Modeli i dijagrami

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

Page 61: UML Modeli i dijagrami

61

Zadatak 2.

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

Page 62: UML Modeli i dijagrami

62

Resenje

Page 63: UML Modeli i dijagrami

63

Zadatak 3.

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

Page 64: UML Modeli i dijagrami

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