Пројектовање софтвера/Јануар 2020
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. задатак
Написати особину која се користи да се означи класа која нема потомке, тј. из које се не може изводити. Искористити правилну синтаксу за навођење особине.
Одговор: {леаф}
2. задатак
Одабрати исправне дијаграме активности који генеришу генеришу случајан број и све док генерисана вредност не буде једнака 0.
Објашњење: На првом дијаграму активност креће од почетног чвора и не може да уђе у акцију генерисања док не пристигне жетон по другој улазној грани, што се никада неће десити. У трећем дијаграму два улазна жетона ће се у првој итерацији спојити у акцији генерисања и изаћи као један жетон, а затим ће блокирати активност на следећем покушају да уђу у акцију због тога што се на другој грани никада неће појавити жетон. На четвртом дијаграму активност се блокира већ код конкурентног спајања јер по тим гранама неће доћи жетони.
3. задатак
Означити елементе стања по УМЛ2:
- Подстање
- Само-транзиције
- Одложени догађаји
- Унутрашње транзиције
- Транзиције у друга стања
4. задатак
Моделира се систем у ком се на Паркингу налазе Аутомобили. Потребно је користећи квалификатор селектовати аутомобиле по њиховој боји. Мултипликативност која одговара описаном случају је:
- На страни Аутомобил *
- На страни квалификатора 0..1
- На страни Аутомобил 1
- На страни квалификатора *
- На страни Аутомобил 0..1
5. задатак
Означити тачне тврдње за пакете на језику УМЛ:
- Пакет може груписати артефакте.
- Спољашни пакет имплицитно увози имена садржаног пакета.
- Пакет је власник садржаних елемената.
- Неквалификована имена морају бити јединствена у читавом систему.
- Пакет може садржати друге пакете.
6. задатак
Повезати дата задужења са улогама пројектног узорка Фасада.
Задужења | Улоге |
---|---|
|
|
7. задатак
Упарити узорке са њиховим алтернативним називима.
Узорци | Алтернативни називи |
---|---|
|
|
8. задатак
Означити тачна тврђена за пројектни узорак Адаптер:
- Адаптер може садржати додатне јавне методе које Клијент не користи с обзиром да Адаптер види преко интерфејса Циљ.
- Адаптер се користи како би интерфејс једне класе прилагодио интерфејсу који клијент очекује.
- Двосмерни адаптер се може користити и као Циљ и као Адаптирани.
- Приликом коришћења пројектног узорка Адаптер није потребно мењати код интерфејса Циљ, као и класа Клијент и Адаптирани.
9. задатак
У систему постоји 10 објеката Корисник који међусобно комуницирају сваки са сваким. Уколико се у систем уведе пројектни узорак Посредник преко ког би објекти комуницирали, колико ће бити мање веза потребно у систему? Сматрати да су везе бидирекционе и да је потребан један објекат Посредника.
Одговор: 35
Објашњење: Уколико 10 корисника комуницирају сваки са сваким то је укупно 45 веза у систему, а ако комуницирају преко посредника то је 10.
10. задатак
Означити тачна тврђена за пројектни узорак Декоратер:
- Конструкција пројектног узорка не дозвољава да објекат класе Допуна декорише друге објекте класе Допуна.
- Коришћење Декоратера отежава тестирање.
- Препоручљиво је да Компонента нема атрибуте.
- Приликом декорисања објеката, није битан редослед конкретних допуна, већ само њихов број.
- Допуна мења интерфејс Компоненте како би проширила функционалности.