Пројектовање софтвера/Октобар-2 2025
Испит у року октобар-2 2025. године одржан је 27. октобра 2025. године, на папиру, без документације. Време доступно за израду је 90 минута. Сваки задатак вреди 3 поена.
1. задатак
У софтверском пројекту постоји потреба да се стање објекта може перзистентно чувати записан у фајлу и одатле учитавати само по потреби, тек када се позове нека операција објекта која приступа том стању. Применићете следећи пројектни задатак:
- Adapter
- Strategy
- Bridge
- Ни један од наведених већ Proxy
2. задатак
У систему за контролу промета "паметне куће" постоје сензори и аларми који се могу произвољно и независно додавати у систем и избацивати из система. Сензори могу бити две различите врсте: прекидачи (активирају се на јасно дефинисану границу, као прекидач) или хистерезисни (активирају се и деактивирају по принципу хистерезиса). Аларми такође могу бити различитих врста, као што су сирене, светлосни аларми, тихи аларми, дојаве преко комуникационих канала (нпр. телефоном). Применом пројектног обрасца Mediator конципирати описани део система и имплеметирати основни механизам активирања аларма када неки сензор сигнализира своју активацију.
Решење
3. задатак
Негативна појава која настаје због неадекватне примене развоја софтвера помоћу модела, а која се испољава као осећај нелагоде током раних фаза развоја и преовлађује став програмера да су документи са захтевима и пројектни модели само документација и уверење да "прави посао" није почео док се није почеко са писањем програмског кода, назива се синдром журбе ка кодовању (енгл. rush to code syndrom)
4. задатак
Приказати УМЛ дијаграм класа за следећи опис дела концептуалног модела. Фолдер може садржати фајлове и друге фолдере. Фајл не може садржати фајлове ни фолдере. Фајл или фолдер може бити садржан у највише једном фолдеру. Фајл или фолдер се може копирати у неки други фолдер. Фолдер се копира тако што се рекурзивно копирају сви његови елементи, док се фајл копира тако што се копира цео његов бинарни садржај. Када се бртишеsip фајлsip, бришу се и сви његови елементи, рекурзивно.
Решење
5. задатак
Приказати део шеме релационе базе (табеле, њихове колоне, примарне и стране кључеве) за следећи део концептуалног модела.
Решење
6. задатак
Ако имате потребу да неки скуп ентитета, који је моделован класом, специјализујете у различите хијерархије према различитим аспектима тј. критеријумима специјализације, користићете концепт језика УМЛ који се назива скуповима генерализације.
7. задатак
Приказани симбол означава:
- структуирани класу
- колаборацију
- случај употребе
- ништа од наведеног
8. задатак
За дати дијаграм интеракције и догађаје које он спецификује, а који су означени "балончићима" (нису део дијаграма), написати све дозвољене секвенце тих догађаја које овај модел дозвољава (али највише три такве секвенце, ако их има више).
За потребе решења на wiki, балончиће одвојити зарезом и једним знаком разамака, а секвенце симболом тачка-зарез. Након последње секвенце не треба стављати тачка-зарез.
Решење: x1, x2, y1, y2, z1, z2, y3, y4, y5, y6, z3, z4, y7, y8, x3, x4
Објашњење: Погледати слајдове са предавања који се односе на интеракцију. За презентацију из 2025/2026, то је сладј 244.
9. задатак
Да ли порт у власништву енкапсулиране класе мора бити део њеног интерфејса? Образложити.
Решење
ROOM форисра да порт буде део интерфејса, јер је то једини дозвољени начин комуникације актера са окружењем. (Презентација, слајдови са називом Portovi, 2025/26 - слајдови 316 и 317)
Са друге стране, стандардни UML ово не форсира, јер порт може да буде интерни, који служи само за комуникацију понашања са компонентама/улогама те класе. (Презентација, слајдови са називом Strukturirane klase, 2025/26 - слајд 327)
10. задатак
Концепт који спецификује скуп акција које обавља субјекат, уз могуће варијације, које воде ка видљивом резултату од вредности за актера и друге заинтересоване стране, назива се случај употребе (енгл. use case) и користи се за моделовање интерне структуре/споља видљиво понашање система (прецртати непотребно). Треба прецртати интерне структуре.


