Professional Documents
Culture Documents
PI 04 01 Modeling
PI 04 01 Modeling
PI 04 01 Modeling
PROGRAMSKO INŽENJERSTVO
2021/22
Model sustava
• Most između „dva svijeta”
PROGRAMSKO INŽENJERSTVO
2021/22
Model sustava
• “Pojednostavljeni” apstraktni prikaz sustava
– tekstualni model,
– vizualni model,
– mješoviti model, ...
• Svrha:
– Lakši razvoj / komunikacija unutar tima
– Dokumentacija sustava
– Korak prema automatizaciji implementacije sustava
PROGRAMSKO INŽENJERSTVO
2021/22
Model sustava
• Kako izgleda? Kako se gradi?
PROGRAMSKO INŽENJERSTVO
2021/22
Model sustava
PROGRAMSKO INŽENJERSTVO
2021/22
Više “pogleda” daje cjelinu
PROGRAMSKO INŽENJERSTVO
2021/22
Alati za modeliranje
• Razvojna okruženja (s dodacima)
• Okruženja za modeliranje (UML alati)
ArgoUML
h p://argouml. gris.org/
Lucidchart
h ps://www.lucidchart.com
PROGRAMSKO INŽENJERSTVO
2021/22
tt
tt
ti
ti
Proizvod
Prikupljanje zahtjeva
Vanjski pogled
PROGRAMSKO INŽENJERSTVO
2021/22
• Tipično 1. faza
• Intervju,
razgovori,
obrasci, …
• UML (Use Case)
dijagrami
obrasca uporabe
PROGRAMSKO INŽENJERSTVO
2021/22
Analiza zahtjeva
• Mora sadržavati:
– Sažetak. Opis problema, konteksta i cilja rješenja.
– Ciljevi. Što želimo postići? Na koji način ćemo to
postići?
– Ciljna skupina. Tko su krajnji korisnici našeg sustava?
Na koji način međudjeluju sa sustavom?
– Funkcije sustava. Koje su funkcije koje će sustav
pružati?
– Dodatak. Jedan ili više „Use case” dijagrama
PROGRAMSKO INŽENJERSTVO
2021/22
PROGRAMSKO INŽENJERSTVO
2021/22
Elementi dijagrama
obrazaca uporabe
PROGRAMSKO INŽENJERSTVO
2021/22
PROGRAMSKO INŽENJERSTVO
2021/22
Dijagram obrazaca uporabe
• Slučaj uporabe je slijed operacija koje izvodi
sustav čiji je rezultat akteru od neke koristi
• Funkcije koje sustav nudi
• Komunikacija između sustava i aktera
• Skup svih slučajeva = skup funkcionalnosti
• Dobra praksa: desetak slučaja uporabe po
dijagramu
PROGRAMSKO INŽENJERSTVO
2021/22
PROGRAMSKO INŽENJERSTVO
2021/22
fi
PROGRAMSKO INŽENJERSTVO
2021/22
fi
Vrste veza
• A) Veza između aktera i obrasca -> Asocijacija
PROGRAMSKO INŽENJERSTVO
2021/22
Proširenje (poopćenje)
PROGRAMSKO INŽENJERSTVO
2021/22
3) Poopćenje (generalizacija,
nasljeđivanje)
se koristi kada se zgodno više
sličnih slučajeva ili korisničkih rola
poopćiti u zajednički slučaj ili rolu
PROGRAMSKO INŽENJERSTVO
2021/22
Primjeri
• Cjelovitost svakog
obrasca
• Što korisnik zaista
želi od sustava?
• Ne navodi među-
korake koji ne
doprinose cjelovitom
shvaćanju zahtjeva
PROGRAMSKO INŽENJERSTVO
2021/22
ti
Primjeri (2)
• Razlike između «extend» i «include» veze
PROGRAMSKO INŽENJERSTVO
2021/22
Primjeri (3)
• Razlike između «include» i poopćenja
PROGRAMSKO INŽENJERSTVO
2021/22
Primjeri (4)
Granice sustava su važne!
Pr. “Dostava se odvija mimo sustava”
PROGRAMSKO INŽENJERSTVO
2021/22
LucidChart Alat
• Otvaranje novog dijagrama
1. https://www.lucidchart.com/pages/usecase/
education
2. Prijaviti se u LucidChart (koristiti @unipu.hr adresu)
3. Otvoriti novi dokument
4. Categories: UML > „Blank UML”
5. Alternativno > označiti UML palete
6. Za ovu vježbu dovoljna je
„UML Use Case” paleta
PROGRAMSKO INŽENJERSTVO
2021/22
Zadatak
• Nacrtati dijagram obrazaca uporabe za sustav „mobilnog
naručivanja” trgovačke robe:
– Terenski djelatnici tvrtke koja koristi mobilno naručivanje
posjećuju svoje klijente i zaprimaju njihove narudžbe (ako
se roba šalje iz centralnog skladišta) ili izdaju račun (ako
robu prodaju i izručuju odmah iz vozila). Pritom djelatnici
koriste pametni uređaj.
– Izrađeni dokumenti se automatski šalju u centralne
poslovnice gdje ih obrađuju referenti, te za svaku narudžbu
izrađuju otpremnice; ukoliko nedostaje zaliha mijenjaju
naručene količine ili stavljaju zamjenske artikle.
– Skladištari pakiraju i šalju robu po otpremnicama tako da
koriste navedeni sustav pri izradi naloga za isporuku koji se
automatski šalje u drugi sustav kurirske službe.
PROGRAMSKO INŽENJERSTVO
2021/22
Zadatak
• Koraci u rješavanju:
– Identi cirati aktere
• Postoje li i vanjski akteri?
– Identi cirati procese
– Proučiti veze između obrazaca uporabe
• Da li neki obrasci koriste neke zajedničke obrasce?
• Da li se neki obrasci uvjetno izvršavaju ili uvijek?
• Da li se neki obrasci mogu poopćiti / generalizirati?
PROGRAMSKO INŽENJERSTVO
2021/22
fi
fi
Rješenje
PROGRAMSKO INŽENJERSTVO
2021/22
Zadatak 2
• Izraditi dijagram korištenja za sustav
uporabe skalne blagajne (osmisliti sustav)
• Identi cirati min. dva aktera i 4-5 obrasca
uporabe
• Primjer obrazaca:
– Fiskaliziranje računa
– Uređivanje dostupnih artikala
– Izrada računa, …
PROGRAMSKO INŽENJERSTVO
2021/22
fi
fi
UML-01 http://bit.ly/pi-zadatak
• Nacrtati Use Case dijagram za informacijski sustav "e-pošta". Radi se o sustavu pri
kojem krajnji korisnik dobiva svoj virtualni sandučić na koji prima račune i brzojave u
elektroničkom obliku. Korisnik pristupa sustavu pomoću mobilne aplikacije ili
računala kroz web aplikaciju. Korisnik također koristi sustav da naruči slanje neke
pošiljke te da prati status isporuke bilo kada šalje ili prima. Ako prima, mora sam
unijeti kod za praćenje koji dobije od pošiljatelja. Sustav e-pošte integriran je sa
dosadašnjim sustavom Hrvatske Pošte te mu prenosi zahtjeve za slanje pošiljaka i
prima informacije o statusu isporuke. Za elektroničke račune koji korisnici primaju u
virtualni sandučić omogućeno je i online plaćanje, i to: kreditnom karticom (partner
HP banka), PayPal-om ili mPay-om (partner PBZ banka). Pri svakom plaćanju računa,
moguće je po želji donirati manji iznos u dobrotvorne svrhe. Sustav također koriste i
poduzeća koja mogu krajnjim korisnicima slati e-račune u njihove virtualni sandučiće.
PROGRAMSKO INŽENJERSTVO
2021/22
Dijagram slijeda
obrazaca uporabe
PROGRAMSKO INŽENJERSTVO
2021/22
Obrasci
korištenja
Dijagrami
Proto p
slijeda
sučelja
korištenja Proto p sučelja
PROGRAMSKO INŽENJERSTVO
2021/22
ti
ti
Dijagram slijeda obrazaca uporabe
• Engl. Use Case Sequence Diagram
• Opisuje slijed korištenja
sustava
• Proširuje dijagram obrazaca s detaljima realizacije
pojedinog obrasca
• Uvijek ima dva vremenska
pravca:
– Korisnik
– Sustav
PROGRAMSKO INŽENJERSTVO
2021/22
vrijeme
PROGRAMSKO INŽENJERSTVO
2021/22
– Izvođenje
PROGRAMSKO INŽENJERSTVO
2021/22
PROGRAMSKO INŽENJERSTVO
2021/22
fi
PROGRAMSKO INŽENJERSTVO
2021/22
– Kompletna de nicija na
http://www.uml-diagrams.org/sequence-diagrams.html
PROGRAMSKO INŽENJERSTVO
2021/22
fi
Zadatak 3
• Izraditi dijagram slijeda za unos narudžbe iz primjera
„mobilno naručivanje” gdje se narudžba unosi tako da se:
– izabere kupac iz baze kupaca (pretragom),
– unese željeni datum dostave,
– za svaki naručeni artikl unese se željena količina.
• Sustav upozorava ako nema artikla na zalihama, te ga
korisnik mijenja ili miče
• Nakon unosa artikala sustav prikazuje iznos narudžbe
• Ukoliko je potrebno zabilježi se napomena uz narudžbu
• Na kraju se potvrđuje narudžba
PROGRAMSKO INŽENJERSTVO
2021/22
Rješenje
PROGRAMSKO INŽENJERSTVO
2021/22
UML-02 http://bit.ly/pi-zadatak
PROGRAMSKO INŽENJERSTVO
2021/22
fi
Galerija modela
• Pripaziti da nisu svi "pozitivno" ocjenjeni
• Kritički sagledati greške i poboljšati
• Link: https://airtable.com/shr5uNhjAeF7hco1k
PROGRAMSKO INŽENJERSTVO
2021/22
Protip sučelja
• Za svaki obrazac korištenja izrađuje se prototip
sučelja
• Mora biti sveobuhvatno
– pregled, dodavanje, brisanje podataka
– autenti kacija
– izvještaji
– iskočni izbornici ("Jeste li sigurni ...")
PROGRAMSKO INŽENJERSTVO
2021/22
fi