ИЕП/К1 2024 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Исправљена поставка у складу са поставком са САБ из 2019. из оног зипа)
 
(Једна међуизмена истог корисника није приказана)
Ред 4: Ред 4:


== Поставка ==
== Поставка ==
Компанија својим софтвером помаже у продаји карата за догађајаје који се организују у неким објектима. За догађај се евидентира датум, а догађај може бити отказан из неког разлога. Догађаја има основу цену. Објекат се састоји од сектора који су подељени у редове. За сваки ред задаје се број места у том реду. Систем функционише тако што се за сваки догађај генеришу улазнице аутоматски за сваки сектор, сваки ред и унутар реда за онолико места колико има у њему и те карте постају важеће за догађај. Куповина карата је могућа на дан догађаја, којом приликом се не евидентира ко је купио карту. Регистровани корисници могу купити карту и раније, при чему они могу добити попуст у односу на раније купљени број карата. Један корисник може купити највише 3 карте по (везаном) догађају. Догађају могу бити везани у ланцу, при чему се улазнице могу купити само пре почетка првог догађаја, а кориснику се том приликом нуди куповина за све догађаје у ланцу. Званична цена улазница се рачуна тако што се основа цена помножи са факторима сектора и реда.
Компанија за продају улазница пружа подршку организацији догађаја у различитим објектима. Догађај се планира за
одређени датум, али касније из неког разлога може бити отказан. Објекти у којима се догађаји одржавају су конфигурисани
тако да имају секторе, а у оквиру сектора редове. Пре него се отпочне са продајом, улазнице се креирају у систему ткао што се за сваки ред у сваком сектору креира онолико карата колико има седишта у реду и карте се том приликом проглашавају важеће. На
дан догађаја, улазнице су у слободној продаји, док је пре датума догађаја могућа претпродаја и тада улазнице могу  
куповати само регистровани купци и то максимално по три улазнице за један догађај. За регистроване купце постоји попуст,  
тако да након одређеног укупног броја купљених улазница остварују право на одређени попуст на званичну цену
улазница. Догађаји могу бити повезани тако да чине ланац догађаја. Куповина је могућа само пре првог догађаја у ланцу и том приликом се нуди куповина карата за сваки од догађаја. Званична цена улазнице се формира тако што се основна цена (која се дефинише на нивоу догађаја) помножи  
фактором сектора и фактором реда.


  OBJEKAT(SifO,Naziv,…)
  OBJEKAT(<u>SifO</u>,Naziv)
  SEKTOR(SifS,Oznaka,BrojRedova,FaktorS)
  SEKTOR(<u>SifS</u>,Oznaka,BrojRedova,FaktorS, SifO)
  RED(SifR,BrojReda,BrojSedista,FaktorR,SifS)
  RED(<u>SifR</u>,Broj,BrojSedista,FaktorR,SifS)
  DOGADJAJ(SifD,Naziv,OsnovnaCena,…)
  DOGADJAJ(<u>SifD</u>,Naziv,Datum,Opis, OsnovnaCena)
  DOGADJAJ_OTKAZAN(SifD,Razlog)
  DOGADJAJ_OTKAZAN(<u>SifD</u>,Razlog)
  ULAZNICA(SifU,SedisteBr,BrojReda,ZvacnicnaCena)
  ULAZNICA(<u>SifU</u>,SedisteBr,SifR,ZvacnicnaCena)
  KUPAC(SifK,Ime)
  KUPAC(<u>SifK</u>,Ime)
  POVEZANI(SifDa,SifDb)
  POVEZANI(<u>SifDa</u>,SifDb)
  KUPIO(SifU,SifK,Cena)
  KUPIO(<u>SifU</u>,SifK,Cena)
  VAZI(SifU,SifD)
  VAZI(<u>SifU</u>,SifD)
  POPUST(BrojKarata,Popust)
  POPUST(<u>BrojKarata</u>,Popust)
   
   
  Razlog: I - otkazao izvođač, O - otkazao organizator
  Razlog: I - otkazao izvođač, O - otkazao organizator
Ред 22: Ред 29:
# Навести по један пример сваког документа уколико би се за потребе наведене евиденције користила база података заснована на документима (mongoDB), али тако да модел искористи све предности нерелационог модела података.
# Навести по један пример сваког документа уколико би се за потребе наведене евиденције користила база података заснована на документима (mongoDB), али тако да модел искористи све предности нерелационог модела података.
# Саставити скрипт који користећи функцију за агрегацију (aggregation framework) враћа шифре и називе оних догађаја које имају продатих преко 400 улазница са попустом.
# Саставити скрипт који користећи функцију за агрегацију (aggregation framework) враћа шифре и називе оних догађаја које имају продатих преко 400 улазница са попустом.
# Саставити Map/Reduce посао који за сваки датум за који се одражава бар један догађај враћа информацију о проценту отказаних догађаја.
# Саставити Map/Reduce посао који за сваки датум за који постоји бар један догађај враћа информацију о проценту отказаних догађаја.
</div>
</div>



Тренутна верзија на датум 24. март 2024. у 22:55

Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Први колоквијум 2024. године одржан је 18. марта 2024 и трајао је 90 минута.

Поставка

Компанија за продају улазница пружа подршку организацији догађаја у различитим објектима. Догађај се планира за одређени датум, али касније из неког разлога може бити отказан. Објекти у којима се догађаји одржавају су конфигурисани тако да имају секторе, а у оквиру сектора редове. Пре него се отпочне са продајом, улазнице се креирају у систему ткао што се за сваки ред у сваком сектору креира онолико карата колико има седишта у реду и карте се том приликом проглашавају важеће. На дан догађаја, улазнице су у слободној продаји, док је пре датума догађаја могућа претпродаја и тада улазнице могу куповати само регистровани купци и то максимално по три улазнице за један догађај. За регистроване купце постоји попуст, тако да након одређеног укупног броја купљених улазница остварују право на одређени попуст на званичну цену улазница. Догађаји могу бити повезани тако да чине ланац догађаја. Куповина је могућа само пре првог догађаја у ланцу и том приликом се нуди куповина карата за сваки од догађаја. Званична цена улазнице се формира тако што се основна цена (која се дефинише на нивоу догађаја) помножи фактором сектора и фактором реда.

OBJEKAT(SifO,Naziv)
SEKTOR(SifS,Oznaka,BrojRedova,FaktorS, SifO)
RED(SifR,Broj,BrojSedista,FaktorR,SifS)
DOGADJAJ(SifD,Naziv,Datum,Opis, OsnovnaCena)
DOGADJAJ_OTKAZAN(SifD,Razlog)
ULAZNICA(SifU,SedisteBr,SifR,ZvacnicnaCena)
KUPAC(SifK,Ime)
POVEZANI(SifDa,SifDb)
KUPIO(SifU,SifK,Cena)
VAZI(SifU,SifD)
POPUST(BrojKarata,Popust)

Razlog: I - otkazao izvođač, O - otkazao organizator
  1. Навести по један пример сваког документа уколико би се за потребе наведене евиденције користила база података заснована на документима (mongoDB), али тако да модел искористи све предности нерелационог модела података.
  2. Саставити скрипт који користећи функцију за агрегацију (aggregation framework) враћа шифре и називе оних догађаја које имају продатих преко 400 улазница са попустом.
  3. Саставити Map/Reduce посао који за сваки датум за који постоји бар један догађај враћа информацију о проценту отказаних догађаја.

1. задатак

2. задатак

3. задатак

Тестирање