Lekcija 4 Flashcards
4.1 Šta su modeli ponašanja u UML? Opišite modele koji su vođeni podacima (dijagram aktivnosti, sekvencijalni dijagram…). Šta je modelovanje vođeno događajima? Opišite UML dijagrame stanja. Dajte primer. Koji su problemi kod modelovanja stanja?
Modeli ponašanja ili interakcija su modeli koji modeluju dinamičko ponašanje sistema kada radi. Oni opisuju interakcije objekata sa okruženjem i sa objektima unutar sistema.
Dijagram aktivnosti prikazuje tok upravljanja od aktivnosti do aktivnosti. Upotrebljava se za modeliranje dinamičkog aspekta sistema. Modelira se redosled koraka u procesu računanja (modeliranje operacije). Dijagramom
aktivnosti se modelira tok menjanja stanja nekog objekta u različitim trenucima toka upravljanja.
Sekvencijalni dijagram opisuje interakciju fokusirajući se na redosled poruka koje se razmenjuju, zajedno sa njihovim odgovarajućim specifikacijama pojavljivanja na linijama života.
Modelovanje vođeno događajima pokazuje kako sistem odgovara na eksterne i unutrašnje događaje. Polazi se od pretpostavke da sistem ima konačan broj stanja i da događaji (kao podsticaji) prouzrokuju prelazak
sistema iz jednog stanja u drugo.
UML podržava modeliranje podržano događajima sa dijagramom stanja.
Problem kod modelovanja stanja sistema je u tome što se broj mogućih stanja brzo povećava sa složenošću sistema. Kod velikih sistema, dijagram stanja, zbog toga, ne može da prikaže sve detalje, već samo pokazuje samo najvažnije informacije.
4.2 Šta je modelima vođeno inženjerstvo? Šta je modelima vođena arhitektura sistema? Zašto se koristi modelima vođeno inženjerstvo? Koji su argumenti protiv primene modelima vođenog inženjerstva? Navedite tri različita apstraktna modela i definišite ih. Prikažite dijagrame transformacije u slučaju modelom vođenim transformacijama. Šta je to izvršni UML? Šta je OCL?
Inženjerstvo sa modelima je pristup razvoju softvera u kome su modeli, a ne program, glavni rezultat procesa razvoja. Programski kod se automatski generiše iz modela.
Arhitektura sa modelima je pristup u projektovanju i implementaciji softvera u kome je fokus na modelu, koji koristi UML za opis sistema. Kreiraju se modeli sa različitim nivoima apstrakcije.
Argumenti za:
1. Inženjerstvo sa modelima omogućava inženjerima da razmišljaju o sistemu na najvišem nivou apstrakcije, ne vodeći računa o detaljima njihove implementacije
2. Smanjuje verovatnoću javljanja grešaka, ubrzava projektovanje i implementaciju
3. Omogućava razvoj višestruko upotrebljivih aplikacionih modela, koji su nezavisni od platformi na kojima
rade.
Argumenti protiv:
1. Apstrakcija sistema koja je dobra za diskusiju, ne mora da
bude dobra i za implementaciju sistema. Vrednost argumenta o važnosti nezavisnosti od platformi je validan samo kod velikih i dugoživećih sistema, u kojima platforma nije bitna, jer se ona sa godinama, menja.
Tri tipa apstraktnih modela:
1. Računarski nezavisan model (CIM) - domenski - koji modeluje važne apstrakcije modela sistema i odražavaju različite poglede na sistem.
2. Platformski nezavisan model (PIM) koji modeluje rad sistema bez uzimanja u obzir njegove implementacije. To je obično UML model koji pokazuje statičku strukturu sistema.
3. Platformski specifični modeli (PSM) koji vrše transformaciju PIM u apalikaciju na određenoj
platformi.
Modelima vođeno inženjerstvo polazi od pretpostavke da je potpuno automatsko prevođenje modela u izvršni kod moguće. Ovo zahteva vrlo semantički bogate grafičke modele, jer mora da sadrže i informaciju kako bi trebalo da se primeni projektovani sistem. UML 2.0 to omogućava primenom dela koji se naziva Izvršni UML ili xUML.
Dinamičko ponašanje sistema se može deklarativno opisati upotrebom jezika ograničenih objekata (engl. Object Constraint Language – OCL) ili se može koristiti jezik akcija UML-a. To je jezik sličan programski jezicima pomoću kog se mogu koristiti objekti i njihovi atributi, i mogu se specificirati akcije koje se treba izvršiti.
4.3 Nacrtajte sledeće UML dijagrame:
a) Slučajevi upotrebe,
b) Sekvencijalni
c)Dijagrama klasa
d) Dijagram stanja za slučaj razvoja softverskog sistema koji
treba da omogući naručivanje pice (ima ih 4 vrste) preko odgovarajućeg veb sajta, sa isporukom kući.
Brainscape ne omogućava ubacivanje slika kao odgovor. Za objašnjenje kako nacrtati odgovor vidi lekciju 4 na LAMS-u.
4.4 Isključivo primenom detaljnog sekvencijalnog dijagrama, odredite atribute i metode neophodnih klasa za sledeći slučaj korišćenja sistema za rezervaciju hotelskog smeštaja:
Korisnik želi da vidi u izabranom hotelu sve vrste hotelskih soba, njihovu cenu prenoćišta sa doručkom i raspoloživot u određenom terminu.
Brainscape ne omogućava ubacivanje slika kao odgovor. Za objašnjenje kako nacrtati odgovor vidi lekciju 4 na LAMS-u.