Changes between Initial Version and Version 1 of usecaseimplementationsfinal


Ignore:
Timestamp:
01/10/23 19:45:28 (23 months ago)
Author:
201166
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • usecaseimplementationsfinal

    v1 v1  
     1= Имплементација на кориснички сценарија =
     2=== Клиент
     3||= ID =||= Use case =||
     4|| 1    || Прави резервација ||
     5|| 2    || Прави нарачка ||
     6|| 3    || Прави преглед на резервации ||
     7|| 4    || Прави преглед на нарачки ||
     8|| 5    || Откажува резервација ||
     9|| 6    || Откажува нарачка ||
     10
     11=== Администратор
     12||= ID =||= Use case =||
     13|| 1    || Прави резервација ||
     14|| 2    || Прави нарачка ||
     15|| 3    || Прави преглед на резервации ||
     16|| 4    || Прави преглед на нарачки ||
     17|| 5    || Откажува резервација ||
     18|| 6    || Откажува нарачка ||
     19|| 7    || Блокира термин ||
     20|| 8    || Менува статус на нарачка ||
     21
     22== Корисничко сценарио "Клиент прави резервација"
     23[[Image("scenario1.png",80%,align=center)]]
     24\\
     25\\
     26Корисникот оди на страната за резервации и најпрво избира датум и тип на резервација. Системот ги покажува слободните термини за соодвената услуга и корисникот избира од понудените
     27\\
     28\\
     29[[Image("reservation1.PNG",80%,align=center)]]
     30\\
     31\\
     32[[Image("reservation2.PNG",80%,align=center)]]
     33\\
     34\\
     35Најпрво се повикува методот 'getFreeReservations' од контролерот за резервации, при што тој прима параметри за датум и тип на услуга. Системот преку методот 'getFreeReservations' кој се наоѓа во сервисниот слој(service layer) ги наоѓа слободните термини за соодвениот датум и тип на услуга и му ги враќа назад на клиентот преку моделот. Откако клиентот ќе избере соодветен термин и ја направи резервацијата, се повикува методот 'make-reservation' од контролерот за резервации, при што тука се примаат сите параметри за резервацијата. Системот преку методот 'makeReservation' кој се наоѓа во сервисниот слој(service layer), прави објект од 'Reservation Entity' и го зачувува во базата. Во самиот објект, ги имаме сите информации за резервацијата(датум,тип,време,од кој корисник е направена резервацијата итн.)
     36\\
     37\\
     38== Корисничко сценарио "Клиент прави нарачка"
     39[[Image("scenario3-1.png",80%,align=center)]]
     40\\
     41\\
     42[[Image("scenario3-2.png",80%,align=center)]]
     43\\
     44\\
     45Корисникот оди на страната за нарачки, ги избира посакуваните продукти и во ShoppingCart ја избира количината на продуктите и прави нарачка
     46\\
     47\\
     48[[Image("order1.PNG",80%,align=center)]]
     49\\
     50\\
     51[[Image("order2.PNG",80%,align=center)]]
     52\\
     53\\
     54[[Image("order3.PNG",80%,align=center)]]
     55\\
     56\\
     57[[Image("order4.PNG",80%,align=center)]]
     58\\
     59\\
     60[[Image("order5.PNG",80%,align=center)]]
     61\\
     62\\
     63За секој избран продукт од страна на корисникот се повикува методот 'add-to-cart' од контролерот за кошничката , при што се испраќа ИД на продуктот што го избрал корисникот и тој се зачувува во сесијата. При нарачка се повикува методот 'order' од контролерот за нарачки, при што прво се валидираат квантитетите за секој продукт и потоа се повикува методот 'saveOrder' од сервисниот слој, при што се креира објект од тип 'Order Entity' и се зачувува во базата на податоци. Во самиот објект имаме информации за нарачката(од кој е направена, кога е направена, вкупната цена на нарачката, статусот на нарачката итн.). Исто така, во базата се зачувуваат и деталите на нарачките, кој производ е нарачан и квантитетот за тој производ.На крајот, се бришат сите информации за нарачката од сесијата на самиот корисник
     64\\
     65\\
     66== Корисничко сценарио "Администратор прави преглед на резервации"
     67[[Image("scenario5.png",80%,align=center)]]
     68\\
     69\\
     70Администраторот прави преглед на резервации за соодветен тип на услуга и датум
     71\\
     72\\
     73[[Image("admin-reservation-1.PNG",80%,align=center)]]
     74\\
     75\\
     76[[Image("admin-reservation-2.PNG",80%,align=center)]]
     77\\
     78\\
     79[[Image("admin-reservation-3.PNG",80%,align=center)]]
     80\\
     81\\
     82Администраторот најпрво избира соодветен датум и тип на услуга и потоа се повикува методот 'admin-get-scheduled-reservations' од контролерот за резервации. Од тука, се повикува методот 'getScheduledReservations' од сервисниот слој, при што се прави пребарување во базата на податоци според датум и тип на услуга. Резултатот се сместува во моделот и се враќа назад на администраторот. Администраторот исто така може да откаже резервација преку копчето 'Cancel Reservation' при што се повикува методот 'admin-cancel-reservation' од контролерот за резервации, при што се испраќа ИД на резервацијата,датумот и типот на резервацијата. Потоа се повикува 'cancelReservationAdmin' методот од сервисниот слој, при што резервацијата се брише од базата на податоци.