Oblikovanje i implementacija IS-a

80
Oblikovanje i implementacija IS-a Vježbe, ak.god. 2013/14.

description

Oblikovanje i implementacija IS-a. Vježbe, ak.god. 2013/14. Terminski plan vježbi. Utorak, 13:15-16:30h 26.11.2013. Class diagram 03.12.2013. Class diagram 10.12.2013. Use-Case diagram 17.12.2013. Use-Case diagram 07.01.2014. Component diagram 14.01.2014. Object diagram - PowerPoint PPT Presentation

Transcript of Oblikovanje i implementacija IS-a

Page 1: Oblikovanje i implementacija IS-a

Oblikovanje i implementacija IS-a

Vježbe, ak.god. 2013/14.

Page 2: Oblikovanje i implementacija IS-a

Utorak, 13:15-16:30h

1. 26.11.2013. Class diagram2. 03.12.2013. Class diagram3. 10.12.2013. Use-Case diagram4. 17.12.2013. Use-Case diagram5. 07.01.2014. Component diagram6. 14.01.2014. Object diagram7. 21.01.2014. Sequence diagram

Terminski plan vježbi

Page 3: Oblikovanje i implementacija IS-a

1. Teorijski dio Osnovne karakteristike dijagrama Tvorbeni elementi

2. Praktični dio Rad u UML editoru ASTAH

3. Zadatak Rad u grupama Rješavanje zadatka na kraju svakog poglavlja

Vježbe

Page 4: Oblikovanje i implementacija IS-a

Kratki test u Loomen-u na početku vježbi (provjera znanja s prethodnih vježbi)

Bodovanje:◦ Dolasci na predavanja i vježbe◦ Aktivnost na predavanjima◦ Test u Loomenu (4x)◦ Timski zadaci na vježbama (5x)◦ Ispit (predrok / redovan)

Vježbe

Page 5: Oblikovanje i implementacija IS-a

Unified Modeling Language Jedinstveni jezik za modeliranje Koristi grafički prikaz za izradu apstraktnog

modela sustava Modeliranje:

◦ Softwarea◦ Poslovnih procesa◦ Ogranizacijskih struktura◦ Ostalih sustava

UML

Page 6: Oblikovanje i implementacija IS-a

Model pojednostavljeni opis sustava iz određene perspektive

Dokumentira se dijagramima 1997. godine nastao UML 1.0. Trenutna verzija UML-a je 2.4.1. objavljena

od OMG-a (Object Modeling Group)

UML

Page 7: Oblikovanje i implementacija IS-a

Dijagrami

Page 8: Oblikovanje i implementacija IS-a

Prikazuje sustav pomoću klasa (razreda) i relacija među klasama

Statički dijagram ne uzima u obzir vremensku komponentu, nego dio ili cijeli sustav u određenom trenutku

Pripada skupini strukturnih UML dijagrama

Dijagram klasa

Page 9: Oblikovanje i implementacija IS-a

Osnovni tvorbeni element dijagrama Opis grupe objekata sa sličnim svojstvima

KLASA

STUDENT

Pero Perić Marko Marković Ivan Ivanković

KLASA

OBJEKTI

Page 10: Oblikovanje i implementacija IS-a

Promatra se parkiralište Klasa? Objekti?

KLASA

Page 11: Oblikovanje i implementacija IS-a

Objekt entitet iz stvarnog svijeta, ima dobro definirane granice i smisao u sustavu◦ Osoba, mjesto, događaj...

Objekti imaju svoje atribute (svojstva) i čine radnje (imaju operacije/metode)

Klasa je prikaz objekta, tj. predložak na temelju kojeg se oni kreiraju

KLASA

Page 12: Oblikovanje i implementacija IS-a

Odrediti:1. naziv klase – početna slova

velikim slovom 2. atribute – informacije o

objektu, prva riječ malim slovom, ostatak velikim

3. operacije – stvari koje objekt ili klasa čine, prva riječ malim slovom, ostatak velikim

KLASA

NarudzbaRobe-datum : date-iznos : double-kolicina : long

+izvrsi()+zakljuci()

Page 13: Oblikovanje i implementacija IS-a

Primjer: Definirati klasu Student Svaki student ima svoj broj indeksa, prezime, ime

i prosjek ocjena. Student može prijaviti i odjaviti ispit te mu

pristupiti.

KLASA

Page 14: Oblikovanje i implementacija IS-a

Objekti su često vezani za druge objekte studenti POLAŽU ispite, asistenti ODRŽAVAJU vježbe, referenti OVJERAVAJU indekse

Odnosi su prikazani kao linije koje spajaju 2 klase čiji su objekti (instance) povezani

2 tipa odnosa među klasama: 1. PRIDRUŽIVANJE2. PODTIP

Odnosi među klasama

Page 15: Oblikovanje i implementacija IS-a

PRIDRUŽIVANJE

PODTIP

Page 16: Oblikovanje i implementacija IS-a

Jednosmjerno (unidirekcionalno) Dvosmjerno (bidirekcionalno) Agregacija Refleskivno

Ukoliko smjer nije naznačen, smatra se da je veza ili nepoznata ili dvosmjerna!

Pridruživanje (asocijacija)

Page 17: Oblikovanje i implementacija IS-a

Primjer dvosmjerne veze: Veza između klasa Osoba i Knjiga

◦ Osoba je posudila knjigu◦ Knjiga pokazuje koje su je sve osobe posudile

Pridruživanje - dvosmjerno

Osoba Knjiga

Page 18: Oblikovanje i implementacija IS-a

Veza uvijek ima 2 vrha, povezanih s 2 klase. Vrhovi se nazivaju ULOGE. Vrh može i ne mora imati naziv (može biti

imenica ili glagol)

Višestrukost veze koliko objekata može sudjelovati u odnosu između 2 klase

Pridruživanje - dvosmjerno

Page 19: Oblikovanje i implementacija IS-a

1 točno 1 pojedinac

n1 bilo koji točno određeni broj (0, 1, 5, 23)

n1.. n2 između n1 i n2 (5..8 5, 6, 7 ili 8)

n1.. n između n1 i više pojedinaca

n1.. n2, n3 kombinacija (4..7,9 4, 5, 6, 7 ili 9)

n..* n ili više pojedinaca, neograničeno (5..* 5 ili više)

0..* ili * ili n više pojedinaca, neograničeno

Višestrukost veze

Page 20: Oblikovanje i implementacija IS-a

Ako višestrukost nije naznačena, smatra se vrijednost 1 (točno 1 pojedinac)

Primjer: Veza između klase Student i Indeks

Jedan student može imati samo jedan indeks

Višestrukost

Page 21: Oblikovanje i implementacija IS-a

Primjer: Veza između klase Racun i Artikl

Na računu može biti jedan ili više artikala

Višestrukost

Page 22: Oblikovanje i implementacija IS-a

Nakon završetka ispitnog roka profesor svaki put ispravlja točno 60 pismenih ispita

Višestrukost

Profesor Ispit

1 60

Page 23: Oblikovanje i implementacija IS-a

Na nekom projektu profesor mora voditi barem pet studenata

Studenti mogu biti samo na jednom projektu

Ako to žele, studenti ne moraju prijaviti sudjelovanje na projektu

Višestrukost

Profesor Student

0..1 5..*

Page 24: Oblikovanje i implementacija IS-a

Klasa povezana sama sa sobom. Više pojedinaca istog razreda moraju

međusobno komunicirati Primjer: Programsko rješenje za vođenje poslovanja

poduzeća koristi šifarnik u koji se unose skladišta i blagajne poduzeća. Međutim, svakoj blagajni potrebno je dodijeliti jedno skladište.

Jedna blagajna je uvijek pridružena jednom skladištu

Pridruživanje - refleksivno

Page 25: Oblikovanje i implementacija IS-a

jedna klasa sadrži druge klase (agregirana je u drugoj klasi)

oblik odnosa nadskup-podskup (cjelina-dio) Nadskup agregat Simbol agregacije uvijek dodiruje razred

nadskup, a prazna linija podskup Veza agregacije usmjerena od nadskupa

prema podskupu Automobil - motor

Agregacija

Page 26: Oblikovanje i implementacija IS-a

Primjer: U nekom poduzeću postoje odjeli nabave, prodaje, financija.. Zaposlenici su zaposleni u tim odjelima.

Agregacija

Page 27: Oblikovanje i implementacija IS-a

slična agregaciji uništavanjem (gašenjem, zatvaranjem)

agregata (cjeline) gase se i njegovi dijelovi. jaki tip agregacije promatrana klasa ne može egzistirati bez

druge klase

Kompozicija

Page 28: Oblikovanje i implementacija IS-a

Primjer: Poduzeće osim svog sjedišta može imati i nekoliko poslovnica

Zatvaranjem poduzeća, zatvaraju se i sve poslovnice. Veza 0..*??

Kompozicija

Page 29: Oblikovanje i implementacija IS-a

svojstva klasa navode se u pravokutniku ispod naziva

klase imaju svoja svojstva:

◦ NAZIV – prva riječ malim slovom, početno slovo ostalih riječi velikim (brojIndeksa)

◦ VIDLJIVOST javno + (public) – dostupan svim klasama i paketima privatno – (private) – dostupan unutar iste klase zaštićeno # (protected) – unutar iste i izvedenih

klasa paket ~ (package) – dostupan svim klasama istog

paketa

ATRIBUTI

Page 30: Oblikovanje i implementacija IS-a

◦ TIP UML tipovi (boolean, integer, string,

unlimitedInteger) Java tipovi (byte, char, double, float, int)

◦ POČETNA VRIJEDNOST – inicijalna vrijednost dodana atributima (klasa automobil atribut brojVrata vrijednost 4)

Pravilo pisanja atributa:[vidljivost] imeAtributa : tipAtributa

ATRIBUTI

Page 31: Oblikovanje i implementacija IS-a

Tipovi atributa navode se pokraj imena, nakon znaka „ : „◦ STRING – tekstualni tip, za prikaz znakova

imeStudenta : String = „Marko”◦ INTEGER – za prikaz cijelih brojeva

brojIndeksa : Integer = 34952◦ DOUBLE – za prikaz decimalnih brojeva

prosjekOcjena : Double = 3,7◦ BOOLEAN – sadržava 2 vrijednosti: true ili false

prosaoIspit : Boolean = true

ATRIBUTI

Page 32: Oblikovanje i implementacija IS-a

Primjer: U bazi podataka fakulteta nalaze se podaci

o studentima. Svaki student ima broj indeksa, ime,

prezime, OIB te odabrani smjer Broj indeksa je privatni podatak, ime,

prezime i smjer su javni, OIB je zaštićeni

ATRIBUTI

Page 33: Oblikovanje i implementacija IS-a
Page 34: Oblikovanje i implementacija IS-a

procesi koje klasa može izvršiti navode se u pravokutniku ispod atributa svojstva operacija:

◦ vidljivost (isto kao i kod atributa)◦ ulazni i izlazni parametri – svojstveni samo za

operacije.

Pravilo pisanja operacija:[vidljivost] imeOperacije (parametri)

OPERACIJE

Page 35: Oblikovanje i implementacija IS-a

Primjer: Prikazati klasu Blagajnik koja sadrži atribute

Šifra, Ime, Prezime, OIB. Blagajnik priprema robu i izrađuje račun

OPERACIJE

Page 36: Oblikovanje i implementacija IS-a

Primjer: Promatraju se dobavljači nekog poduzeća. Dobavljači sadržavaju sljedeće podatke:

◦ OIB (zaštićeni podatak)◦ Naziv (javni podatak)◦ Ukupan iznos nabave (javni podatak)◦ Kontakt osobu (javni podatak)◦ Telefon (privatni podatak)

Dobavljači obavljaju sljedeće operacije:◦ Dobavljaju robu◦ Ispostavljaju račune

Primjer: atributi i operacije

Page 37: Oblikovanje i implementacija IS-a

temeljni koncept OO programiranja između različitih klasa često postoje

sličnosti◦ mogu dijeliti iste atribute i/ili iste metode

Nepotrebno ponavljanje programskog koda NASLJEĐIVANJE

NASLJEĐIVANJE

Page 38: Oblikovanje i implementacija IS-a

klasa A nasljeđuje od B◦ A podklasa klase B◦ B nadklasa klase A

„Čisto nasljeđivanje” klasa A nasljeđuje SVE atribute i metode od klase B

Jedna klasa je „roditelj” jednoj ili više drugih klasa.

Veza od podklase prema nadklasi

NASLJEĐIVANJE

Page 39: Oblikovanje i implementacija IS-a

primjer: Postoji mnogo sličnosti između klasa

Student i Profesor Imaju iste atribute i obavljaju iste metode Zajednički atributi su ime, prezime i OIB Zajednička metoda je kupi pokaz za tramvaj

Kreira se nova klasa Osoba od koje nasljeđuju klase Student i Profesor

NASLJEĐIVANJE

Page 40: Oblikovanje i implementacija IS-a

NASLJEĐIVANJE

Page 41: Oblikovanje i implementacija IS-a

Klasa Osoba glavna klasa. Apstraktna je jer postoji samo zbog drugih klasa koje nasljeđuju od nje (kosim slovima)

Student i Profesor imaju iste atribute i metode koji se pišu u klasi Osoba

Nasljeđivanjem se smanjila količina potrebnog posla

Atributi i metode se implementiraju samo jednom, u klasi Osoba

Page 42: Oblikovanje i implementacija IS-a

jedna klasa ovisi o drugoj klasi promjena u jednom entitetu utječe na drugi neovisni entitet isporučitelj ovisni entitet klijent jednosmjerna veza

Ovisnost

Page 43: Oblikovanje i implementacija IS-a

Primjer: U poduzeću manager ima najvišu funkciju Direktor prodaje nadređen je zaposlenicima

u prodaji Komercijalist obavlja poslove prodaje Svi su oni zaposlenici poduzeća Manager smije promicati i davati povišice

svim zaposlenicima

Ovisnost

Page 44: Oblikovanje i implementacija IS-a

Ovisnost

Page 45: Oblikovanje i implementacija IS-a

Neki fakultet sastoji se od jednog ili više zavoda, a svaki zavod od jedne ili više zavodskih grupa.

Zavodsku grupu čine zaposlenici. Zaposlenici mogu raditi i u nekoliko zavodskih grupa Postoje dva konkretna tipa zaposlenika: predavači i asistenti. Svaki predavač ima barem jedan kolegij koji predaje, a svaki

asistent drži vježbe iz barem jednog kolegija. Svaki kolegij može imati jednog ili više predavača i asistenata. Asistent ima jednog predavača u funkciji mentora, a predavač

može imati više asistenata. Svaki kolegij se sastoji od više predavanja i više vježbi i ima svoj

naziv (String). Ukidanjem kolegija ukidaju se predavanja i vježbe Student je zasebna kategorija u organizaciji fakulteta i u ovom

modelu pretpostavite samo da sluša jedan ili više kolegija. I student i zaposlenik su osobe. Svaka osoba ima svoje ime i

prezime. Dodatno, svaki zaposlenik ima svoj matični broj zaposlenika (String), a svaki student svoj JMBAG (String). Fakultet ima svoj matični broj (String) i naziv (String). Zavod ima svoj naziv (String) i broj računa (String). Zavodske grupe imaju svoj naziv grupe te naziv glavnog laboratorija (String).

Page 46: Oblikovanje i implementacija IS-a

Prepostavite da neka vojna jedinica može biti brigada ili satnija. Svaka brigada sadrži jednu ili više satnija. Na čelu brigade nalazi se brigadir, a na čelu satnije satnik. Brigadir i

satnik su vojno osoblje, kao i vojnik. Brigadir smije odlikovati i promicati sve članove vojnog osoblja (osim

samog sebe). Svaki član vojnog osoblja ima svoje zadatke. Zadatak ima svoj redni

broj (int), naziv (String) i rok izvršenja (Date). Postoje dva tipa zadataka: edukacijski i akcijski. Edukacijske zadatke

smiju obavljati samo brigadir i satnik. Oni mogu imati najviše jedan edukacijski zadatak.

Svaki edukacijski zadatak drži samo jedan brigadir ili satnik, ali jedan edukacijski zadatak može istodobno imati brigadira i satnika.

Svaki član vojnog osoblja može imati jedan ili više akcijskih poslova, a jedan akcijski posao može obavljati više različitih članova vojnog osoblja.

Svaki član vojnog osoblja nosi po jedan komad oružja i vojnu odoru. Vojna odora je prilagođena svakom pojedinom članu vojnog osoblja i

ako iz bilo kojeg razloga član vojnog osoblja napusti vojnu jedinicu, vojna odora se uništava.

Oružje nosi svaki član vojnog osoblja, ali ono ostaje na raspolaganju čak i ako pojedinac napusti vojnu jedinicu.

Svaki član vojnog osoblja ima svoje ime i prezime (String) i broj vojne isprave (int). Svaka brigada ima svoju oznaku (String) i broj vojnog osoblja (int). Svaki komad oružja ima svoj broj (int) i naziv (String). Svaka odora ima svoj kontrolni broj (int).

Page 47: Oblikovanje i implementacija IS-a

Neko poduzeće sastoji se od jednog ili više odjela, a na čelu svakog odjela je direktor odjela.

Svaki odjel može imati više pododjela. Svaki pododjel ima svog direktora pododjela i radnike. Postoje dva tipa zaposlenika: direktori i radnici. Nadalje, direktori mogu biti direktori odjela ili direktori pododjela. Svaki zaposlenik može raditi na više poslova, a svaki posao može

raditi nijedan ili više zaposlenika. Konkretni posao može biti administrativni ili razvojni. Svaki posao ima svoj naziv (String) i rok dovršenja (Date). Ako je

posao razvojni, onda on sadrži i matični broj nekog drugog poduzeća (String) za koje se takav posao obavlja.

Direktor odjela može zaposliti ili otpuštati sve direktore pododjela i sve radnike u pododjelima (oni ovise o njemu). Direktor pododjela ne može otpuštati niti zapošljavati radnika, ali ima opciju da upita direktora odjela ako se ukaže potreba za otpuštanjem ili zapošljavanjem radnika.

Poduzeće ima svoj matični broj (String), broj računa (String) i ukupan broj zaposlenika (int). Svaki odjel ima svoj naziv i adresu, a svaki pododjel, osim naslijeđenog naziva i adrese odjela, ima i vlastiti naziv. Svaki zaposlenik ima svoj matični broj u poduzeću i ime i prezime.

Page 48: Oblikovanje i implementacija IS-a

Prikazuju ponašanje sustava na način vidljiv korisniku sustava, ne opisuju kako je funkcionalnost izvedena unutar sustava

Statički UML dijagram Kreira se u ranim fazama oblikovanje

(najčešće kao prvi dijagram) Prikaz veze između:

◦ 2 slučaja korištenja◦ Slučaja korištenja i sudionika

Dijagram slučajeva korištenja (Use-case)

Page 49: Oblikovanje i implementacija IS-a

Slučajevi korištenja predstavljaju vanjski pogled na sustav

Ne postoje korelacije između slučajeva korištenja i klasa unutar sustava

Pozornost – ne na dijagram i kompleksnost dijagrama nego na opise dijelova dijagrama

Grubi prikaz što sustav radi, a ne kako radi

Dijagram slučajeva korištenja (Use-case)

Page 50: Oblikovanje i implementacija IS-a

Scenarij – slijed koraka koji opisuju interakciju između korisnika i sustava

Primjer scenarija: Web trgovinaKupac pretražuje web katalog proizvoda i dodaje željene proizvode u košaricu. U trenutku kupnje, kupac odabire mjesto dostave te daje podatke o kreditnoj kartici i potvrđuje prodaju. Sustav provjerava autorizaciju kreditne kartice, potvrđuje prodaju i šalje e-mail potvrde.

Simboli

Page 51: Oblikovanje i implementacija IS-a

Jedina moguća situacija? Autorizacija kreditne kartice – neuspješna

poseban scenarij „obični kupac” koji ne mora dati adresu

dostave i informacije o kartici poseban scenarij

Svi scenariji su različiti, ali i slični. U čemu?KORISNIK IMA ISTI CILJ – KUPITI PROIZVOD Korisnik ne mora uvijek uspjeti, ali cilj ostaje Korisnikov cilj je ključ za use-case!

Page 52: Oblikovanje i implementacija IS-a

Slučaj korištenja apstraktni zadatak kojeg izvode sudionici◦ Skup scenarija povezanih zajedničkim ciljem

korisnika

Sudionik vanjski entitet direktno povezan sa sustavom, ali nije dio sustava◦ Inicijator svih akcija◦ Imaju imena koja ne bi smjela biti povezana s

organizacijom poduzeća◦ Živo biće ili neki drugi sustav (npr. računalo)

Simboli

Page 53: Oblikovanje i implementacija IS-a
Page 54: Oblikovanje i implementacija IS-a

1. Odabir jednog od mogućih scenarija kao glavnog (uspješnog) scenarija

2. Glavni (uspješni) scenarij je prikaz niza koraka

3. Uzimaju se ostali scenariji i navode se kao alternative, opisujućih ih kao varijacije glavnog uspješnog scenarija

4. Alternative mogu biti uspjesi ili neuspjesi

Postupak pisanja use-casea

Page 55: Oblikovanje i implementacija IS-a

Glavni scenarij:1. Kupac pregledava katalog i odabire proizvode2. Kupac potvrđuje proizvode3. Kupac upisuje informacije o dostavi (npr. idući

dan ili za 3 dana)4. Sustav prikazuje punu cijenu sa dostavom5. Kupac popunjava informacije o kred. kartici6. Sustav autorizira kupnju7. Sustav potvrđuje prodaju8. Sustav šalje e-mail potvrde kupcu

Kupovina proizvoda

Page 56: Oblikovanje i implementacija IS-a

Alternative:◦ 3a: Kupac je „običan” kupac

1. Sustav prikazuje uobičajeni način dostave, cijenu i informacije o kupnji

2. Kupac to može prihvatiti ili odbiti, kreće na korak 6

◦ 6a: Sustav nije uspio autorizirati kreditnu karticu1. Kupac može ponovno unijeti informacije o kreditnoj

kartici ili odustati od kupnje

Kupovina proizvoda

Page 57: Oblikovanje i implementacija IS-a

Glavni scenarij:1. Klijent ubacuje karticu u bankomat2. Sustav traži PIN 3. Klijent upisuje PIN4. Klijent potvrđuje unos tipkom Enter5. Sustav provjerava valjanost PIN-a6. Kartica autorizirana, sustav traži da klijent

unese željeni iznos7. Klijent unosi iznos i potvrđuje ga8. Sustav isplaćuje novac klijentu

Podizanje novca s bankomata

Page 58: Oblikovanje i implementacija IS-a

Alternative:◦ 2a: Klijent poništava transakciju klikom na Cancel

1. Sustav vraća karticu klijentu

◦ 5a: Klijent unosi pogrešan PIN1. Sustav javlja grešku i traži ponovni unos2. Ukoliko klijent 3x zaredom unese krivi PIN sustav

poništava cijelu transakciju

Podizanje novca s bankomata

Page 59: Oblikovanje i implementacija IS-a

Svaki use-case ima primarnog sudionika Primarni sudionik – sudionik s ciljem kojeg

slučaj korištenja pokušava provesti i obično je (ali ne uvijek) inicijator use-casea

Postoje i drugi sudionici s kojima sustav komunicira dok se izvodi use-case sekundarni sudionici

Page 60: Oblikovanje i implementacija IS-a

Svaki korak u slučaju korištenja je element interakcije između sudionika i sustava

Svaki korak bi trebao biti jednostavna izjava i jasno pokazati tko pokreće koji korak

Korak pokazuje namjeru sudionika

Page 61: Oblikovanje i implementacija IS-a

Veza između sudionika i slučaja korištenja prikazuje se ravnom linijom bez strelica

Može biti:◦ Između sudionika i slučaja korištenja◦ Dva ili više slučaja korištenja◦ Dva ili više sudionika

Veze

Page 62: Oblikovanje i implementacija IS-a

Pridruživanje (asocijacija)

Generalizacija

Uključivanje

Proširenje

Tipovi veza

Page 63: Oblikovanje i implementacija IS-a

Sudionici se povezuju sa slučajevima korištenja Moguće koristiti i višestrukosti

Klijent može izraditi najviše 1 narudžbu, dok se u istom trenutku može odvijati 0 ili više narudžbi različitih klijenata

Asocijacija

Page 64: Oblikovanje i implementacija IS-a

Povezuju se: ◦ 2 sudionika – specifičniji sudionik preuzima sve

uloge apstraktnijeg◦ 2 SK – specifičniji proširuje funkcionalnosti

apstraktnijeg

Generalizacija

Page 65: Oblikovanje i implementacija IS-a

Povezuju se 2 SK na način da 1 slučaj u tijeku svog izvođenja u potpunosti izvede uključeni SK

Uključivanje (include)

Page 66: Oblikovanje i implementacija IS-a

Kaže se da prvi use-case uključuje (includes) drugog

Uključeni slučajevi korištenja koriste se:◦ za kompleksne korake radi preglednosti glavnog

scenarija◦ za korake koji se ponavljaju u nekoliko slučajeva

korištenja Npr. „Otprema robe” uključuje „ažuriranje stanja

na skladištu”

Uključivanje (include)

Page 67: Oblikovanje i implementacija IS-a

Povezuju se 2 SK pri čemu jedan proširuje funkcionalnost drugog ako je zadovoljen određen uvjet u točki proširenja

„detaljniji” use-case Jedan use-case dodaje funkcionalnosti

drugom use-caseu pod određenim okolnostima

Npr. Login use-case tipične Web stranice uključuje Registraciju novog korisnika – ali samo ako korisnik već nema račun

Proširenje (extend)

Page 68: Oblikovanje i implementacija IS-a

Proširenje (extend) Jedan slučaj korištenja je osnovni, drugi je

proširujući Veza uvijek ide od proširujućeg prema

osnovnom

Page 69: Oblikovanje i implementacija IS-a

Proširenje (extend)

Page 70: Oblikovanje i implementacija IS-a

Kod veze uključivanja osnovni slučaj korištenja ne može postojati bez uključenog

Kod veze proširenja moguće je ukloniti prošireni slučaj korištenja, odnosno osnovni slučaj korištenja može se izvoditi bez proširenog

Page 71: Oblikovanje i implementacija IS-a
Page 72: Oblikovanje i implementacija IS-a

Funkcionalnost blagajne u trgovačkom centru

Primjer:

Page 73: Oblikovanje i implementacija IS-a

Klijent može zatražiti otvaranje jednog računa, podići novac s računa te zatražiti zatvaranje računa

Osobni bankar mu ove akcije mora omogućiti ako su osobni dokumenti u redu (klijent ih daje na provjeru)

Osobni bankar također može podnijeti upravitelju zahtjev za povećanje svoje plaće

Pretpostavka je da postoje i drugi zaposlenici osim osobnih bankara koji mogu zatražiti povećanje plaće

Dvojica upravitelja razmatraju povišenja plaća i eventualno podižu plaću

Zadatak 1:

Page 74: Oblikovanje i implementacija IS-a
Page 75: Oblikovanje i implementacija IS-a

Administrator sustava može konfigurirati sustav (upis svih raspoloživih soba, parkirnih mjesta i cjenika)

Korisnici preko interneta mogu pretražiti hotelsku ponudu i napraviti rezervaciju sobe. Prilikom rezervacije mogu opcionalno rezervirati parkirno mjesto, dokupiti doručak, polupansion ili puni pansion

Recepcioner hotela može izdati sobu i napraviti naplatu. Kod izdavanja sobe provjerava rezervaciju i programira karticu za otvaranje sobe. Prilikom naplate izdaje račun i naznačuje da soba postaje slobodna

Zadatak 2 – Upravljanje hotelom

Page 76: Oblikovanje i implementacija IS-a
Page 77: Oblikovanje i implementacija IS-a

Korisnici mogu preko interneta napraviti i otkazati rezervaciju vozila. Kod stvaranja rezervacije moraju unijeti broj kred kartice

Kod stvaranja rezervacije mogu prema želji i raspoloživim resursima napraviti i rezervaciju za GPS, dječju sjedalicu, krovne nosače

Kad korisnici dođu u poslovnicu po auto, zaposlenik provjerava rezervaciju

Zaposlenik ispisuje obrazac o preuzimanju koji se skenira i unosi u računalo. Nakon toga odvodi klijenta do auta i predaje mu ključeve i prometnu dozvolu

Kod povratka automobila korisnik dolazi u poslovnicu, predaje obrazac o preuzimanju, prometnu dozvolu i ključeve

Zaposlenik odlazi s korisnikom do auta, provjerava stanje auta i količinu goriva. Zatim generira račun i odobrava terećenje kreditne kartice

Zadatak 3 – rent-a-car

Page 78: Oblikovanje i implementacija IS-a
Page 79: Oblikovanje i implementacija IS-a

Potrebno je izraditi use-case dijagram za prodaju karata na autobusnom kolodvoru

Sustav koriste blagajnici i putnici Blagajnik prodaje kartu putniku Prodaja karte uključuje odabir relacije i naplatu Naplata se može izvršiti u gotovini ili putem kartice U slučaju da se naplata vrši putem kartice u naplati sudjeluje

putnik utipkavanjem PIN-a Opcionalno kod prodaje karte blagajnik može izdati R1 račun Uz prodaju karata blagajnik može napraviti i rezervaciju karte Rezervaciju karte može napraviti i putnik samostalno preko

telefonskog automata

Zadatak 4:

Page 80: Oblikovanje i implementacija IS-a