wiki:UseCasePrototypeImplementation

Version 20 (modified by 163067, 3 years ago) ( diff )

--

Имплементација на прототип на случаите на употреба

Линк до целиот изворен код на проектот: https://develop.finki.ukim.mk/projects/PlanMyTripToMacedonia/browser

  • Прототип верзијата е поставена со log message: "initial commit"
  • Pre final верзијата е поставена со log message: "pre final presentation"
  • Финалната верзија ќе биде поставена со log message: "final presentation"

Реализација на случаите на употреба

Корисници

Турист

*Прототип верзијата е правена со Thymeleaf

ID 1
Случај на употреба Креира initial планер со име и опис
Креирано од Ема
Последно ажурирано од Ема
Датум 04.05.2021
Актери Турист
Опис Корисникот - турист креира initial планер со име и опис
Тригер Корисникот - турист сака да зачува локација во одрреден планер
Предуслов Корисникот - турист да ја избере опцијата "Create initial planner"
Постуслов Корисникот – турист да ја кликне опцијата “Save”
Нормален тек 1. Корисникот – турист се најавува во системот
2. Системот го пренасочува корисникот на страницата каде се излистани сите планери на најавениот корисник ( доколку ги има ) каде се наоѓа и копчето "Create initial planner"
3. Корисникот - турист ја одбира опцијата "Create initial planner" за да креира нов планер
4. Системот појавува dynamic dialog кој е составен од две input полиња: име и опис на планер и копче "Save"
5.Корисникот - турист внесува име и опис на планерот кој го креира и кликнува на копчето "Save"
6. Системот го зачувува креираниот планер и го прикажува во поглед со сите претходно креирани планери (доколку ги има)
Исклучоци Да не е кликнато копчето “Save”
Вклучува /
Приоритет /
Фреквенција на користење Според потребите на корисникот
Бизнис правила /
Специјални побарувања /
Претпоставки /
Забелешки /

Листа со сите креирани планери

Форма за креирање на планер


  1. На адреса http://localhost:8080/create/planner се наоѓаат сите креирани планери (таа листа од планери е поставена како атрибут во модел). На оваа страница има и линк "Create initial planner" кој е дефиниран во create-homepagе.html документот и кој е href линк кој пренасочува на друга страница: http://localhost:8080/create . Во Create Planner Controller-от, кој не е RestController туку Controller, е креиран GET методот за земање и прикажување на формата за креирање нов планер кој враќа create-planner html документ. Во овој темплејт има поле за внес на име и опис, и копче "Submit". По клик на копчето "Submit", кое е вметнато во POST форма во create-planner.html, се прави action="create/planner" на метод дефиниран во контролерот. Ова е POST метод кој како RequestParam ги прима опис и име. Се повикува методот за креирање на планер од plannerService и се враќа redirect:/create/planner.


ID 2
Случај на употреба Разгледува и дефинира план за патување
Креирано од Ема
Последно ажурирано од Ема
Датум 28.04.2021
Актери Турист
Опис Корисникот - турист го дополнува/менува планерот кој го креирал
Тригер Корисникот - турист сака да промени име, опис и/или да додаде локации во избраниот планер
Предуслов Да е креиран initial планер
Постуслов Внесува и селектира податоци и добива предлог локации
Нормален тек 1. Корисникот – турист се најавува во системот
2. Корисникот – турист се наоѓа на страницата каде се излистани сите планери (доколку ги има)
3. Корисникот - турист го одбира планерот во кој сака да направи промени и кликнува на копчето "Edit"
4. Системот го пренасочува корисникот на друга адреса каде на корисникот му го прикажува планерот со податоци за име, опис, опција за додавање локации и поле за прикажува на сите додадени локации со опција за бришење до секоја локација (ако има додадено локации)
4.а Корисникот - турист менува само име и опис на планерот и кликнува на копчето "Save"
4.б Корисникот - турист сака да додаде локации во планерот и ја одбира опцијата "Add locations"
4.в Корисникот - турист сака да избрише додадена локација од својот планер
4.а.1 Системот ги зачувува промените и го пренасочува корисникот на страницата каде се излистани сите планери
4.б.1 Системот го пренасочува корисникот на страница каде се наоѓа форма за внесување и селектирање податоци според кои ќе му се генерираат локации
4.б.2 Корисникот – турист внесува и селектира податоци (регион или град, придружба - дали ќе патува сам/со група/партнер/семејство, колку денови планира да престојува, што му е приоритетно да посети – природа, монументи, sightseeing, шопинг, музеи, цркви, рурален туризам, водопади, реки итн)
4.б.3 Корсиникот - турист кликнува на копчето “Create my planner”
4.б.4 Системот ги обработува податоците и врз основа на барањата генерира предлог локации и го пренасочува корисникот на адреса каде се излистани сите предложени локации со копчиња: "Add to my planner", "See details" и "Back to my Planners"
4.б.5 Корисникот - турист разгледува локации
4.б.5.а Корисникот – турист кликнува на локацијата за која сака да погледне детали "See details"
4.б.5.а.1 Системот го пренасочува корисникот- турист на страницата за преглед на детали за избраната локација и му прикажува детали (адреса, име, опис, carousel од слики)
4.б.5.б Корисникот- турист кликнува на копчето "Add to my planner" за избраната локација
4.б.5.б.1 Системот му овозможува на корисникот pop-up прозорец во кој се излистани сите претходно креирани планери заедно со копче "Save"
4.б.5.б.2 Корисникот - турист одбира во кој од планерите ќе ја додаде избраната локација и кликнува на копчето "Save"
4.б.5.б.3 Системот проверува дали планерот е празен, доколку е само ја додава локацијата, ако не е празен планерот проверува дали избраната локација веќе постои во планерот и соодветно дава порака до корисникот
4.в.1 Корисникот - турист ја од листата на додадени локации кликнува на копчето "x" од редот на избраната локација
4.в.2 Системот ја отстранува локацијата од база и прави refresh на листа
Исклучоци Да не е креиран ниту еден initial планер во кој ќе може да се внесат локации
Вклучува /
Приоритет /
Фреквенција на користење Според потребите на корисникот
Бизнис правила /
Специјални побарувања /
Претпоставки /
Забелешки /

Форма за ажурирање планер

  1. Корисникот - турист ажурира планер

На адреса http://localhost:8080/create/planner се наоѓаат сите креирани планери (таа листа од планери е поставена како атрибут во модел). Кај секој card од планери има копче "Edit" кое е линк кој го зема id-то на планерот и пренасочува на друга страница th:href="@{/create/planner/{id}(id=${plan.getId()})}". На оваа адреса /create/planner/{id} , се прави GetMapping на методот editShow, каде како аргументи се земени id-то на планерот и Model класата. Во овој метод во Create Planner Controller-от се креира инстанца од Planner моделот, се повикува plannerService со методот findById за да може да се земе соодветниот планер. Оваа инстанца се става како атрибут на моделот и се враќа edit-return.html. Во овој html се наоѓаат и двете полиња за име и опис како, копчето за зачувување на формата и линк за додавање нови локации кои ги гледа корисникот. Во полињата е прикажана земената вредност за име/опис од планерот со th:text="*{detailsAboutPlanner.get().getDescription()} и th:value="${detailsAboutPlanner.get().getName()}" . Корисникот може да направи промена во описот и името и/или да одбере да ја посети формата за генерирање предлог локации со кликнување на линкот "Add location". Доколку внесе нови податоци за име и опис или воопшто не ги промени, а кликне на копчето "Edit save", тогаш се прави POST request кој ја ажурира промената и се пренасочува корисникот "redirect:/create/planner". Доколку корисникот кликне на линкот "Add location", тогаш се пренасочува на адреса http://localhost:8080/create/locations каде се наоѓа формата за пополнување и селектирање податоци. Со клик на копчето "Create my planner" се прави GET request кој како параметри ги прима вредностите на полињата од формата (категории, придружба, број на денови и дестинација). Во методот allLocations() се прави проверка и дали е избран регион или град и преку plannerService се повикува соодветен метод за извлекување локации. Потоа, кориникот се пренасочува на адреса http://localhost:8080/create/trip/locations каде се излистани локациите и опција за преглед на детали. Корисникот може да погледне детали за локацијата, така што тогаш се повикува методот seeDetailsAboutLocation од Create Planner Controller-от, е кој е GET метод и во модел се става објект од Location id и се враќа location.html.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.