Пројектовање софтвера/К1 2023
К1 2023 године одржан је 01. новембра и трајао је 20 мин.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. задатак
Повезати појмове с одговарајућим дефиницијама принципа (елемената) ОО модела
- Особина система да се разлаже на скуп кохезивних и слабо спрегнутих елемената модуларност
- Процес сакривања оних елемената апстракције који дефинишу структуру и понашање капсулација
- Упрошћени опис или спецификација система која наглашава неке од детаља, док потискује друге апстракција
- Рангирање или уређивање апстракција хијерархија
2. задатак
Повезати дефиниције с одговарајућим појмовима
- Статички делови модела, представљају физичке или концептуалне елементе (именице) Ствари структуре
- Организациони делови модела, кутије у које модел може бити декомпонован Ствари груписања
- Објашњавајући делови модела, коментари који се примењују на било који елемент Ствари анотације
- Динамички делови модела, представљају понашање кроз простор и време Ствари понашања
- Апстракције које су "грађани првог реда" у моделу Ствари
3. задатак
При моделовању неког система за већи број библиотека, јавила се потреба за класама Библиотека и Књига. Изабрати УМЛ релацију која највише одговара односу датих класа.
Изаберите један одговор
- Асоцијација
- Реализација
- Агрегација
- Композиција
- Генерализација
Објашњење: Не може да буде композиција јер библиотека није одговорна за животни век књиге и може да постоји библиотека без иједне књиге.
4. задатак
Дат је следећи дијаграм пакета који садрже класе с операцијама чије су листе параметара суспендоване из приказа:
Ако су класе А, Б, C и D јавне у својим пакетима, које од следећих декларација операција с дијаграма су и исправне
- +оц(б:Б):А
- +об(а:П1::А):C
- +оа(ц:П2::C):Б
- +оа(б:Б):П3::C
- +оа(д:П3::D):П4::D
Објашњење: Када је класа јавна у пакету 1 њеном имену се може приступити преко Пакет1::Класа одакле год, а као Класа само у пакету 1. Када пакет 1 уради импорт из пакета 2, свим јавним класама пакета 2 се може приступити као да су јавне класе пакета 1. Значи преко Пакет1::Класа, Пакет2::Класа или само као Класа у пакетима 1 и 2. Када пакет 1 уради аццесс из пакета 2 онда јавни чланови пакета 2 постају приватни чланови пакета 1 па је могуће Пакет2::Класа или само као Класа у пакетима 1 и 2, али никако Пакет1::Класа; такође, уколико пакет 0 ради импорт или аццесс из пакета 1, он неће увести ништа увезено из пакета 2
5. задатак
Које од наведених тврдњи су тачне за дијаграме објеката?
- Објекат може да мења своје стање на истом дијаграму
- Име објекта је неопходно навести
- Елемент низа објеката може да се прикаже као посебан објекат
- Активан објекат се исто приказује као било који други (пасиван) објекат
- Назив објекта се пише подебљаним (болд) словима
6. задатак
Означити тврдње које су тачне за пројектни узорак Уникат (енг. Синглетон):
- Конструктор класе с улогом Уникат не сме да буде с јавним правом приступа
- Коришћење пројектног узорка Уникат је боље од коришћења глобалне променљиве, јер омогућава глобалну тачку приступа
- Уникат пружа бољу флексибилност у односу на услужне класе, јер не користи статичке атрибуте
- Примерак (објекат) класе униката увек постоји од почетка извршавања програма
- У системима с више нити без додатне синхронизације могуће је појава утркивања (енг. раце хазард) при позивању метода за дохватање примерка
Објашњење: е. је тачно јер до утркивања може да дође уколико две нити позову метод за дохватање приступа пре него што је он креиран, па прва изгуби процесор након што испита (пирмерак == нулл) а пре него што позове конструктор, чиме се стварају два објекта
7. задатак
Које од наведених тврдњи су тачне за пројектни узорак Шаблонски метод (енг. Темплате Метход):
- Прости кораци алгоритма у Апстрактној класи морају да буду апстрактни
- Узорак користи идеју инвертоване конторлне структуре
- Представља објектни узорак понашања
- Апстрактна класа увек дефинише редослед корака у алгоритму
- Методи изведене класе увек позивају методе из основне
8. задатак
Означити тврдње које су тачне за пројектни узорак Прототип (енг. Прототyпе):
- Сарадња фунцкионише тако пто се у оквиру надјачаног метода копија() у класи Конкретног прототипа копирани објекат региструје у регистру копија, одакле га затим Клијент може дохватити
- Мана узорка је што клијент мора да буде упознат са свим конкретним прототипима
- Добра страна узорка је што нове врсте производа могу да се додају у време извршења
- Уз пројектни узорак Састав се често комбинује и Прототип
- Узорак представља класни узорак стварања
9. задатак
Означити тврдње које су тачне за пројектни узорак Састав (енг. Цомпосите):
- Класа Лист мора да дефинише метод додавања елемента
- Класа Склоп мора да дефинише метод додавања елемента
- Објекат класе Склоп не сме да буде део другог објекта класе Склоп
- Класе Склоп и Елемент су у релацији агрегације (агрегат је Склоп)
- Узорак компонује објекте у структуру бинарног стабла
Објашњење: е. је нетачно јер је стабло м-арно, не бинарно
10. задатак
Које од наведених тврдњи су тачне за пројектни узорак Декоратер (енг. Децоратор): [1]
- Декоратер динамички мења интерфејс декорисаног елемента
- Декоратер је објектни узорак понашања
- Одговорности класи субјекта се могу динамички додавати
- Конкретна допуна може да се користи без субјекта
- Декоратер прописује редослед извршавања операција
Напомене
- ↑ Понуђени одговри нису били сачувани егзактно већ су реконструисани из сећања