UML Modeli i dijagrami

Preview:

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

Citation preview

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