zadaci sa resenjima - use case diagrams
DESCRIPTION
USE CASE DIAGRAMSTRANSCRIPT
USE CASE DIAGRAMS
1. Ispod su dati neki scenariji vezani za sistem u biblioteci. Za svaki scenario naći use case i učesnika i na kraju nacrtati use case dijagram za ceo sistem u biblioteci. A.
Član biblioteke izabere tri knjige i odnese ih bibliotekaru na sto za pozajmljivanje knjiga
Bibliotekar proverava koliko knjiga član ima već pozajmljeno
Član nema pozajmljene knjige
Bibliotekar registruje pozajmicu u sistemu i izdaje knjige članu Use case: Izdaj knjigu; Actor:Bibliotekar
B.
Član izabere šest knjiga i odnese ih bibliotekaru na sto za pozajmljivanje knjiga
Bibliotekar proverava koliko knjiga član ima već pozajmljeno
Član ima pozajmljenih 3 knjiga
Bibliotekar kaže članu da može ukupno da pozajmi šest knjiga
Član vraća tri knjige
Bibliotekar registruje pozajmicu u sistemu i izdaje knjige članu Use case: Izdaj knjigu Actor: Bibliotekar
C.
Član izabere četiri knjige i odnese ih bibliotekaru na sto za pozajmljivanje knjiga
Bibliotekar proverava koliko knjiga član ima već pozajmljeno
Član ima pozajmljenih 6 knjiga
Bibliotekar kaže članu da može ukupno da pozajmi šest knjiga
Bibliotekar kaže članu da ne može da pozajmi ni jednu knjigu dok ne vrati neku Use case: Izdaj knjigu Actor: Bibliotekar
D.
Član vraća tri knjige u biblioteku
Član odlazi na šalter za vraćanje knjiga
Bibliotekar registruje vraćanje knjiga u sistemu Use case: Vraćanje knjiga Actor: Bibliotekar
E.
Član pretražuje onlajn katalog da bi našao knjigu. On nađe knjigu koju želi.
Član proverava da li je knjiga na raspolaganju i pronalazi da postoji primerak u biblioteci
Član upisuje broj reference u knjigu Use case: Pretraživanje kataloga Actor: Član
F.
Član pretražuje onlajn katalog da bi našao knjigu. On nađe knjigu koju želi.
Član proverava da li je knjiga na raspolaganju i pronalazi da su svi primerci izdati
Član rezerviše onlajn knjigu Use case: Rezerviši knjigu Actor: Član
G.
Nove knjige dolaze u biblioteku
Bibliotekar dodeljije svakoj knjizo referentni broj
Bibliotekar ažurira katalog knjiga sa novim naslovima Use case: Dodaj knjigu Actor: Bibliotekar
2. U prethodnim scenarijima vidimo da slučajevi korišćenja “Pretraži katalog” i “Rezerviši knjigu” dele
istu funkcionalnost. Koristeći <<include>> promeniti dijagram tako da “Rezerviši knjigu” ne duplira funkcionalnost od use case-a “Rezerviši knjigu” .
3. Na slici je dat dijagram slučajeva korišćenja za frizersku firmu Cool Cuts.
Dalji razgovori sa klijentima su otkrili dodatne informacije o sistemu. Kada klijent dođe da plati tretman, on ponekad kupi i proizvode za negu kose (šampon, conditionar, itd.). Stažisista koji radi naplatu prvo unese kod proizvoda i sistem mu vrati cenu proizvoda. To znači da use case “Handle customer payment” ponekad uključuje i pretragu sistema da bi se našao proizvod i njegova cena. Takođe use case “Maintain product list“ uvek uključuje pretragu. Dodavanjem <<include>> i <<extends>> veza izmeniti dijagram na slici.
4. Dalji razgovorima se došlo do zaključka da ponekad klijenti uđu kod frizera samo da kupe proizvode. Dijagram na prethodnoj slici podrazumeva da se proizvod plaća zajedno sa uslugom kod frizera. Klijenti koji samo kupuju proizvod žele da to odvojeno urade. Kako bi promenili ovaj dijagam?
Objekti i klase 1. Predložiti klase koje bi očekivali da se nađu u sledećim sistemima:
a. Bankarski sistem b. Paket za crtanje c. Biblioteka d. Kadrovsko odeljenje na univerzitetu
a. Bankarski sistem: Klijent, Račun, Tekući račun, Štedni račun, Onlajn račun, Savetnik za fizička lica,
Savetnik za pravna lica b. Paket za crtanje: Oblik, Trougao, Pravougaonik, Kvadrat, Linija c. Biblioteka: Knjiga, Član, Pozajmica, Rezervacija d. Kadrovsko odeljenje na univerzitetu: Zaposleni, AdministrativnoOsoblje, AkademskoOsoblje,
TehničkoOsoblje, Ocene 2. U listi su navedeni objektno-orjentisani koncepti. Pored njih su kratke definicije. Povezati koncepte.
Koncept Definicija
a. agregacija 1.veza između dve klase gde je jedna specijalizovana verzija druge
b. asocijacija 2. mogućnost da jedna operacija bude implementirana od strane različitih metoda
c. atribut 3. apstrakcija zajedničkih osobina u superklasu
d.klasa 4.kod koji implementira
operaciju
e.sakrivanje podataka 5.prikrivanje internih detalja objekta
f.enkapsulacija 6.kreiranje objekta
g. generalizacija 7.podatak koji je definisan kao deo objekta
h.nasleđivanje 8.instanca klase
i.instanciranje 9.interfejs metoda
j.poruka 10.spakovani podaci i operacije
k.metod 11.veza između klasa
l.objekat 12.zehtev za izvršenje servisa
m.operacija 13.šablon za objekar
n.polimorfizam 14.veza celina-deo
a 14, b 11, c7, d 13, e5, f10, g3, h1, i6, j12, k4, m9,n2
3. Nacrtati dijagram koji povezuje sledeće klase koristeći asocijaciju, agregaciju, nasledjivanje i
multiplikativnost tamo gde je potrebno. a. hotelska soba, buking, gost
b. član kluba, mlađi član, stariji član
c. ispit, instrukcije, pitanja, rešenje
Klasni Dijagram
1. Predložite objekte koje biste očekivali da nađete u sledećim sistemima:
a. Sistem za zdravstvanu zaštitu
b. Sistem za rentiranje videa
c. Sistem koji dodeljuje opremu lokalnim školama
a. doktor, medicinska sestra, pacijent, zakazivanje, recept, lekovi
b. video, kopija videa, klijent, renta
c. škola, jedinica opreme, dobavljač
2. Galerija organizuje izložbe koje se sastoje od izložbenih eksponata. Izložbeni eksponat može da
bude ulje na platnu, akvarel, skulptura ili fotografija. Nacrtati klasni dijagram koji prikazuje
navedenu vezu.
3. Proučiti klasni dijagram na slici i odgovoriti na pitanja:
a. Da li klijent mora da da naruči nešto?
b. Od čega se sastoji narudžbina?
c. Može li payment da bude za više od jedne narudžbine?
d. Koliko proizvoda je u OrderLine?
e. Koja je veza između CD-a i proizvoda?
f. Može li proizvod da se pojavi na više od jedne Order Line
a. Da pošto je veza između Order i Customer jedan ili više
b. Order se sastoje iz bar jedne narudžbine
c. Ne, veza između Order i Payment je jedan
d. Samo jedan proizvod je u svakoj order line
e. Nasledjivanje, CD je vrsta proizvoda
f. Da, veza je nula ili više
4. Velika filmska organizacija ima nekoliko bioskopa a svaki ima do 10 sala za prikazivanje filmova.
Klijenti mogu da rezervišu sedišta lično, preko telefona ili preko Interneta. Organizacija čuva podatke
o imenima i adresama regularnih posetilaca za potrebe marketinga. Napisati klasni dijagram koji
predstavlja ove informacije.
5. a. Budite Zdravi, Medicinski Centar vode pet doktora sa tri medicinske sestre. Kada pacijent traži
termin, obično posećuje istog doktora ako ako su puno zauzeti oni mogu da budu zakazani i kod
nekog drugog doktora ili medicinske sestre. Kada pacijent poseti doktora ili med sestru, njegov
medicinski karton se ažurira i doktor može da prepiše neki lek. Nacrtati klasni dijagram koji
predstavlja ove informacije.
b. Ponekad doktor zaključi da je potrebno da pacijent obavi neke dodatne pretrage. Ovi testovi
mogu da budu standardni ili detaljni; oni se obavljaju u nekim od lokalnih bolnica. Proširiti dijagram
da uključi ove dodatne informacije.
a.
b.
6. Oscars film je prodavnica koja rentira filmove na video traci i dvd-u. Oskar ima veliki broj
mušterija i čuva informacije o svima koji rentiraju video ili dvd. Česti klijenti mogu postati članovi
prodavnice što im donosi dodatne privilegije, kao što su rentiranje više filmova odjednom. U
slučaju članova, Oscar čuva informacije o njihovom članskom broju, telefonu i vrsti filmova koje
vole da gledaju. On takođe čuva informacije o svim filmovima i njihovim kopijama. Nacrtati
klasni dijagram koji predstavlja ovu informaciju.
Dijagrami Interakcije
1. Na slici ispod se nalazi opis slučaja korišćenja “Print ready card” koji ima zadatak da odštampa
kartu na kojoj piše da je rezervisani video na raspolaganju. Koristeći klasni dijagram na slici
a. Nacrtati dijagram sekvenci za uspešan scenario
b. Nacrtati dijagram kolaboracije za isti scenario
a.
b.
2. Na slici ispod je dat opis slučaja korišćenja “Pozajmi video” u sistemu video rentals. Koristeći
klasni dijagram za sistem, nacrtati dijagram sekvence za uspešnu pozajmicu videa.
3. Na slici ispod je dat opis slučaja korišćenja “Vrativideo” u sistemu video rentals. Koristeći klasni
dijagram za sistem, nacrtati dijagram sekvence za uspešno vraćanje videa.
Dijagrami stanja
1. Protivprovalni alarm
a. Kada je postavljen, alarm je u stanju mirovanja (Resting) i kada je u ovom stanju, on
može biti setovan (Set stanje). Dok je u postavljenom stanju, alarm može biti isključen,
čime se vraća u stanje mirovanja. Nacrtati dijagram stanja za klasu Protivprovalmi Alarm.
b. Dok je u postavljenom stanju (Set), alarm može biti uključen čime on prelazi u stanje
Zvonjenja (Ringing). On može da se isljuči i iz ovog stanja on može da pređe u stanje
mirovanja. Promeniti dijagram sa slike da bi prikazao ove promene.
c. Alarm može i da se pokvari. Uneti ovu promenu u dijagram stanja.
2. Kada je nova, mikrotalasna je inicijalno isključena. Iz ovog stanja, vreme kuvanja kože da se
podesi i mikrotalasna uključi. Dok je mikrotalasna uključena, vreme kuvanja može da se
promeni. Kada je vreme isteklo, mikrotalasna se isključuje i oglasi sa tri kratka zvuka pištanja.
Nacrtati klasni dijagram koji opisuje ponašanje mikrotalasne.
3. Agenti novina imaju klijente koji naručuju da im se novine donesu i koji plaćaju mesečno.
Ukoliko klijent ne plati račun unutar četiri nedelje, agent šalje podsetnik. Ukoliko je račun i posle
naredne dve nedelje neplaćen, agent prestaje sa dostavljanjem. Klijent može da otkaže ili
promeni naručeno, ali samo ako su do tada platili sve račune. Nacrtati dijagram stanja koji
predstavlja Klijenta u sistemu.
Dijagrami aktivnosti
1. Slika ispod prikazuje jednostavan dijagram aktivnosti za naručivanje karata telefonom. Modifikovati
dijagram tako da se aktivnosti “Izračunati ukupne troškove” i “Sačuvaj detalje klijenta” izvrše bilo
kojim redosledom.
Resenje:
2. Vlasnici male maloprodajne radnje redovno naručuju od dobavljača. Prvo provere svoje trenutno
stanje u magacinu i obrade narudžbinu. Kada dobiju robu, oni provere narudžbenicu i ažuriraju nivo
zaliha. Onda plate dobavljaču. Nacrtati dijagram aktivnosti kojim se ilustruje proces naručivanja.
Dijagram treba da uključi i primer paralelne obrade.
3. Figura na slici prikazuje jednostavan sekvencijalni dijagram aktivnosti koji ilustruje auto koji ulazi na
parking. Dodati plivačke staze da bi prikazali koje aktivnosti obavlja vozač auta a koje mašina koja
kontroliše ulaz u park.
4. Kada vozač želi da napusti parking, on se doveze do rampe, ubaci kartu u mašinu, i mašina izračuna
iznos koji treba da se plati. Vozač ubaci novac i ako je iznos veći od traženog, mašina vraća kusur.
Mašina zatim diže rampu, vozač izveze auto sa parkinga i mašina spušta barijeru.
a. Nacrtati dijagram aktivnosti bez plivačkih staza da bi ilustrovali šta se dešava kada vozač izlazi sa
parkinga. Dijagram treba da prikaže alternativno ponašanje
b. Dodati plivačke staze u dijagram da bi prikazali ko ili šta je odgovoran za različite aktivnosti.
a.
b.
5. Dodati plivačke staze za dijagram aktivnosti za use case “Izdaj bicikl” da bi prikazali koje aktivnosti
obavljaju klijent, koje kompjuter a koje recepcionista u radnji.