| | 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' методот од сервисниот слој, при што резервацијата се брише од базата на податоци. |