Projektovanje softvera/Oktobar-2 2025

Izvor: SI Wiki
< Пројектовање софтвера
Datum izmene: 19. decembar 2025. u 23:13; autor: Aleksa (razgovor | doprinosi) (→‎8. задатак: објашњење решења)
Pređi na navigaciju Pređi na pretragu

Ispit u roku oktobar-2 2025. godine održan je 27. oktobra 2025. godine, na papiru, bez dokumentacije. Vreme dostupno za izradu je 90 minuta. Svaki zadatak vredi 3 poena.

1. zadatak

U softverskom projektu postoji potreba da se stanje objekta može perzistentno čuvati zapisan u fajlu i odatle učitavati samo po potrebi, tek kada se pozove neka operacija objekta koja pristupa tom stanju. Primenićete sledeći projektni zadatak:

  1. Adapter
  2. Strategy
  3. Bridge
  4. Ni jedan od navedenih već Proxy

2. zadatak

U sistemu za kontrolu prometa "pametne kuće" postoje senzori i alarmi koji se mogu proizvoljno i nezavisno dodavati u sistem i izbacivati iz sistema. Senzori mogu biti dve različite vrste: prekidači (aktiviraju se na jasno definisanu granicu, kao prekidač) ili histerezisni (aktiviraju se i deaktiviraju po principu histerezisa). Alarmi takođe mogu biti različitih vrsta, kao što su sirene, svetlosni alarmi, tihi alarmi, dojave preko komunikacionih kanala (npr. telefonom). Primenom projektnog obrasca Mediator koncipirati opisani deo sistema i implemetirati osnovni mehanizam aktiviranja alarma kada neki senzor signalizira svoju aktivaciju.

3. zadatak

Negativna pojava koja nastaje zbog neadekvatne primene razvoja softvera pomoću modela, a koja se ispoljava kao osećaj nelagode tokom ranih faza razvoja i preovlađuje stav programera da su dokumenti sa zahtevima i projektni modeli samo dokumentacija i uverenje da "pravi posao" nije počeo dok se nije počeko sa pisanjem programskog koda, naziva se sindrom žurbe ka kodovanju (engl. rush to code syndrom)

4. zadatak

Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Folder može sadržati fajlove i druge foldere. Fajl ne može sadržati fajlove ni foldere. Fajl ili folder može biti sadržan u najviše jednom folderu. Fajl ili folder se može kopirati u neki drugi folder. Folder se kopira tako što se rekurzivno kopiraju svi njegovi elementi, dok se fajl kopira tako što se kopira ceo njegov binarni sadržaj. Kada se brtišesip fajlsip, brišu se i svi njegovi elementi, rekurzivno.

5. zadatak

Prikazati deo šeme relacione baze (tabele, njihove kolone, primarne i strane ključeve) za sledeći deo konceptualnog modela.

Slika uz postavku petog zadatka

6. zadatak

Ako imate potrebu da neki skup entiteta, koji je modelovan klasom, specijalizujete u različite hijerarhije prema različitim aspektima tj. kriterijumima specijalizacije, koristićete koncept jezika UML koji se naziva skupovima generalizacije.

7. zadatak

Prikazani simbol označava:

  1. struktuirani klasu
  2. kolaboraciju
  3. slučaj upotrebe
  4. ništa od navedenog
Slika uz zadataka 7

8. zadatak

Za dati dijagram interakcije i događaje koje on specifikuje, a koji su označeni "balončićima" (nisu deo dijagrama), napisati sve dozvoljene sekvence tih događaja koje ovaj model dozvoljava (ali najviše tri takve sekvence, ako ih ima više).

Slika uz postavku osmog zadatka

Za potrebe rešenja na wiki, balončiće odvojiti zarezom i jednim znakom razamaka, a sekvence simbolom tačka zarez.

Rešenje: x1, x2, y1, y2, z1, z2, y3, y4, y5, y6, z3, z4, y7, y8, x3, x4

Objašnjenje: Pogledati slajdove sa predavanja koji se odnose na interakciju. Za prezentaciju iz 2025/2026, to je sladj 244.

9. zadatak

Da li port u vlasništvu enkapsulirane klase mora biti deo njenog interfejsa? Obrazložiti.

10. zadatak

Koncept koji specifikuje skup akcija koje obavlja subjekat, uz moguće varijacije, koje vode ka vidljivom rezultatu od vrednosti za aktera i druge zainteresovane strane, naziva se slučaj upotrebe (engl. use case) i koristi se za modelovanje interne strukture/spolja vidljivo ponašanje sistema (precrtati nepotrebno). Treba precrtati interne strukture.