Операциона анализа ID 1: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Се регистрира'' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Се регистрира|||| 1 |||| Корисникот пристапува на сајтот |||| Ја внесува URL адресата во својот пребарувач и пристапува до веб сајтот |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 0.5 сек. |||| Се испраќа request до серверот, по што му се испраќа повратна содржина |||| || || Се регистрира|||| 2 |||| Корисникот внесува лични податоци |||| Корисникот внесува име и презиме, корисничко име, лозинка, телефонски број и е-маили клика "следно"- next |||| Да се овозможи валидација на email адреса и телефонски број |||| Внесува податоци во формата, при што податоците се зачувуваат во променливи |||| || || Се регистрира |||| 3 |||| Корисникот внесува податоци за трансакциска сметка |||| Корисникот внесува број на картичка, код и датум на истекување |||| Да се овозможи валидација на картичата |||| Откако се внесени сите информации, се оформува Query со внсените податоци, кои предходно се филтирираат од SQL инјекции |||| || || Се регистрира|||| 4 |||| Корисникот избира начин на потврда |||| Корисникот може да одбере две опции за валидација, SMS или e-mail (radio-button) и клика копче за потврда |||| |||| Во зависнот од избраната опција, на корисникот автоматски му се праќа e-mail или код на телефон.(внесени во формата преходно) |||| Ова треба да се случи брзо, највеќе за 20 секунди || || Се регистрира|||| 5 |||| Корисникот ја потврдува валидацијата |||| Се појавува форма за внесување код, каде корисникот го внесува кодот, или клика линк од добиениот e-mail, за да ја потврди регистрацијата |||| |||| Се проверува дали внесениот код е идентичен со пратениот и доколку е, се појавува порака за успешна регистрација. Доколу кориникот кликнал на линк за потврда од e-mail, се пренасочува корисникот кон страна каде се појавува порака за успешна најава. |||| Ова треба брзо да се случи за 3-5 секунди. || ID 2: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Се најавува'' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Се најавува|||| 1 |||| Корисникот внесува податоци за најава |||| Корисникот внесува корисничко име и лозинка и клика копче за најава |||| |||| Се испраќа request до серверот, по што му се испраќаат внесените продатоци и се проверуваат во базата. Доколку се точни се испраќа код за најава, доколку не, се појавува порака за грешка |||| Ова треба да се случи за максимум 0.9 секунди || || Се најавува|||| 2 |||| Корисникот внесува код за најава |||| Корисникот го внесува кодот што веќе му е пратен на телефон |||| |||| Се проверува внесениот код, дали е ист со пратениот, доколу е ист, се појавува порака за успешна најава и кориникот се пренасочува на почетна страна и му се доделуваат привилегии на најавен корисник |||| Ова треба да се случи за максимум 0.5 секунди || ID 3: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Прегледува листа од настани'' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Прегледува листа од настани|||| 1 |||| Корисникот пристапува на сајтот |||| Ја внесува URL адресата во својот пребарувач и пристапува до веб сајтот(homepage) |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 0.5 сек. |||| Се испраќа request до серверот, по што му се испраќа повратна содржина |||| || || Прегледува листа од настани|||| 2 |||| Корисникот прегледува листа настани |||| Корисникот избира некој настан од листата на homepage или избира категорија на настани од паѓачко мени(drop-down list) (со клик на копче за детали на настанот) |||| На homepage се наоѓаат најпопуланите настани. Во категории спаѓаат: музички, спортски, културни, забавни, хуманитарни. Во сите категории настаните се подредени во листи. Се избира од главното горно мени или од десно мени. |||| Преку избраното ID на настанот, се праќа request до базата, да се земат сите детали за настанот, или се праќа ID од избраната категорија, доколку избрал категорија |||| Важно е брзо извршување, до 0.4 секунди || || Прегледува листа од настани|||| 3 |||| Корисникот избира настан од категорија |||| Корисникот клика копче за детали на настан од листата од избраната категорија |||| |||| Од базата се земаат сите детали за избраниот настан и се прикажуваат на корисникот |||| Важно е извршување до 0.4 секунди || ID 4: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Пребарува за настан''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Пребарува за настан |||| 1 |||| Корисникот пристапува на сајтот |||| Ја внесува URL адресата во својот пребарувач и пристапува до веб сајтот |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 0.5 сек. |||| Се испраќа request до серверот, по што му се испраќа повратна содржина |||| || || Пребарува за настан |||| 2 |||| Корисникот пишува во search барот |||| Корисникот внесува некакви клучни зборови во полето за пребарување и клика ентер или пак на Search копчето |||| |||| Внесува податоци во форма, откако ке ги внесе се оформува Query со внсените податоци, кои предходно се филтирираат од SQL инјекции, ... |||| || || Пребарува за настан |||| 3 |||| Корисникот внесува клучни зборови за настанот/име на настанот/датум на случување/место на случување |||| По кликање на копчето за пребарување му се прикажуваат некакви резултати на корисникот, доколку не е задоволен врши дополнителни филтрирања со датуми,места на случување... |||| Да се овозможат неколку филтри( мин. 3) |||| Откако му се листаат податоците коишто се добиени од базата со Query-то, му се прикажуваат сите резултати коишто се добиени и ги содржат клучните збовои коишто ги внел, дополнително при клик на некој од филтрите се оформува ново Query и се добиваат нови информации, при што со помош на Ajax се филтрираат веќе излистаните настани, и му се прикажуваат нови(филтрирани) |||| || || Пребарува за настан |||| 4 |||| Корисникот добива резултати од пребарувањето и може да избере настан или ново пребаување |||| Откако ги филтрира му се прикажува сите настани коишто се добиени со филтрите коишто ги избрал, доколку сака може да прави ново пребарување, со што би се вратиле на чекор 2 |||| |||| Страна со податоците коишто се добиени со филтрите коишто ги избрал корисникот, му е прикажана соодветно. Доколку не е задоволен со резултатите, или пак сака да направи ново пребарување корисникот се враќа на чекор 2 |||| || Конверзациска форма: ||= '''Aктер: Kрајни корисници ''' =||||= '''Систем: Апликација ''' =|| || Корисникот пристапува на сајтот |||| Серверот го одобрува requestot и ја враќа почетната страница || || Корисникот пишува во search барот |||| Се валидираат податоците(клучните зборови) коишто се внесени и се пребарува во базата на податоци за истите, по што му се прикажуваат податоците || || Корисникот внесува клучни зборови за настанот/име на настанот/датум на случување/место на случување |||| Се праќаат нови Query со дополнителни филтри кои ги избрал корисникот до базата || || |||| Корисникот добива резултати од пребарувањето || || Корисникот може да избере настан или ново пребаување |||| Му се враќаат информации за новото пребарување на корисникот || ID 5: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Прегледува детали за настан''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Прегледува детали за настан |||| 1 |||| Корисникот клика копче за преглед на настан |||| По наогање на некој настан за којшто сака да прегледа дополнителни информации, корисникот клика на копче за Детали |||| |||| При клик на копчето се наоѓа ID за соответниот настан и се оформува Query за земање на сите податоци за истиот настан, што се испраќа до базата |||| || || Приказ на детали за настан |||| 2 |||| Се отвара страна за детали за настан- име, датум, место, цена на карта, слика, опис, организатор, учесници и сл. |||| Корисникот се пренасочува на друга страница, на којашто му се прикажани сите податоци за настанот што го избрал |||| |||| Се испраќа предходно формираното Query до база и новодобиените информации му се прикажуваат на корисникот на новата страница на којашто е пренасочен |||| || ID 6: ||||||||||||||||||||||||||= '''Kрајни корисници кориснички случај - Купува билет''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Купува билет |||| 1 |||| Корисникот со клик на копче го "става" билетот во "купувачка кошничка" |||| По наоѓање на настанот за којшто сака да купи билет, корисникот со клик на копче го додава во својата корисничка кошничка, којашто тој може да ја провери во било кое време |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 0.5 сек. |||| Откако корисникот ќе кликне на копчето за додавање на билет за одреден настан во кошничка, се зачувува за кој настан се работи и му трае се до крајот на сесијата, или пак додека да го избрише билетот, или купи |||| || || Купува билет |||| 2 |||| Корисникот ја отвара кошничката и клика копче за плаќање |||| Откако корисникот ќе виде задоволен со сите билети коишто сака да ги купи и ги додал во кошничка, ја отвара кошничката во којашто му се листаат сите билети коишто ги избрал и клика копче "Купи" за да ги купи соодветните билети |||| Да се овозможи да може да тргне некој од билетите од кошничката доколку сака |||| Му се листаат сите досега зачувани настани коишто ги избрал во кошничката, и доколку избрише некој го бришеме од зачуваните и му се обновува страницата со помош на Ajax, со останатите билети |||| || || Купува билет |||| 3 |||| Корисникот гледа екран со сумирана сума за избраното плаќање |||| По кликање на копчето за купување му се отвара форма во којашто му е прикажана вкупната сума којашто треба да ја плати, доколку има зачувано на својот уред автоматски се пополнуваат формите за информациите за платежното средство, во спротивно корисникот ги внесува |||| Да се контролираат податоците коишто се внесени да не бидат невалидни |||| Откако ке ги внесе податоците, за платежната картичка се верифицираат со банката, или пак ако е друг начин на плаќање се верификува дека се е валидно |||| || || Купува билет |||| 4 |||| Корисникот ја одобрува трансакцијата |||| Откако се е внесено, корисникот се прашува уште еднаш да ја одобри трансакцијата, при што доколку ја одобри се извршува |||| Мора да се извршува брзо( помалку од 1 сек) |||| Му се отвара страница за уште еднаш да ја потврди трансакцијата, доколку истото го стори, се извршува и се одземаат средствата од платежната картичка |||| || || Купува билет |||| 5 |||| Корисникот добива код во замена на билет, кој може да го прикаже на влезот на настанот (откако банка ќе ја одобри трансакцијата) |||| Доколку трансакцијата е успешна, се избира рандом билет од понудените во базата за дадениот настан и му се дава кодот од истиот на корисникот |||| Мора да се извршува брзо( 1 сек) |||| По успешната трансакција, се оформува Query за рандом добивање на некој од билетите коишто се во базата за соодветниот настан, и му се прикажува на корисникот |||| || ID 7: ||||||||||||||||||||||||||= '''Aдминистратор кориснички случај - Одржува база на податоци''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Одржува база на податоци |||| 1 |||| Администраторот се најавува во едиторот на базата за податоци |||| Внесува корисничко име и лозинка.При успешна најава системот ја прикажува почетната страница на админ страницата |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 1 сек. |||| Податоците којшто ги внел администраторот за најавување се проверуваат во база, дали се конзистентни со корисничко име и лозинка и притоа доколку се му се покажува порака за успешна најава и се пренасочува администраторот |||| || || Одржува база на податоци |||| 2 |||| Администраторот ги наоѓа податоците кадешто се потребни промени |||| Администраторот ги лоцира податоците(со помош на менито, или пак алармите за новости на почетната страница) |||| Да се овозможи да направи неограничен број на пребарувања и филтрирања една по друга, се додека не е задоволен, и да се извршува брзо( 0.5 сек.) |||| При пребарување со помош на Query коишто се испраќаат до базата се добиваат повратни информации, а при користење на филтри повторно се користат дополнителни Query-ја |||| || || Одржува база на податоци |||| 3 |||| Администраторот ги прави промените врз податоците |||| Ги врши соодветните промени со внесување на нови податоци во дадени полиња или менување во веќе постоечките |||| Да се контролираат податоците коишто се внесени да не бидат невалидни |||| Откако ќе ги внесе новите податоци администраторот, потребно е да се зачуваат во одредено место, или пак директно со нив да се оформи новото Query |||| || || Одржува база на податоци |||| 4 |||| Ја зачувува новата состојба на базата на податоци |||| По направените потребни промени, администраторот клика на копче Save при што се врши промената врз податоците коишто ги внел |||| Мора да се извршува брзо( помалку од 1 сек) |||| При кликање на копчето за зачувување се праќа Query до базата со што се зачувува нова состојба на базата и на корисникот му се враќа повратна информација дали е успешно/неуспешно. |||| || ID 8: ||||||||||||||||||||||||||= '''Aдминистратор кориснички случај - Менаџира корисници''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Менаџира корисници |||| 1 |||| Администраторот се најавува во едиторот на базата за податоци |||| Внесува корисничко име и лозинка.При успешна најава системот ја прикажува почетната страница на админ страницата |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 1 сек. |||| Податоците којшто ги внел администраторот за најавување се проверуваат во база, дали се конзистентни со корисничко име и лозинка и притоа доколку се му се покажува порака за успешна најава и се пренасочува администраторот |||| || || Менаџира корисници |||| 2 |||| Администраторот ги филтрира податоците за корисникот/ците за коишто е потребно |||| Администраторот ги лоцира податоците(со помош на менито, или пак алармите за новости на почетната страница) |||| Да се овозможи да направи неограничен број на пребарувања и филтрирања една по друга, се додека не е задоволен, и да се извршува брзо( 0.5 сек.) |||| При пребарување со помош на Query коишто се испраќаат до базата се добиваат повратни информации, а при користење на филтри повторно се користат дополнителни Query-ја |||| || || Менаџира корисници |||| 3 |||| Ги извршува потребните промени врз селектираните податоци |||| Ги врши соодветните промени со внесување на нови податоци во дадени полиња или менување во веќе постоечките |||| Да се контролираат податоците коишто се внесени да не бидат невалидни |||| Откако ќе ги внесе новите податоци администраторот, потребно е да се зачуваат во одредено место, или пак директно со нив да се оформи новото Query |||| || || Менаџира корисници |||| 4 |||| Ја зачувува новата состојба на базата на податоци |||| По направените потребни промени, администраторот клика на копче Save при што се врши промената врз податоците коишто ги внел |||| Мора да се извршува брзо( помалку од 1 сек) |||| При кликање на копчето за зачувување се праќа Query до базата со што се зачувува нова состојба на базата и на корисникот му се враќа повратна информација дали е успешно/неуспешно. |||| || ID 9: ||||||||||||||||||||||||||= '''Aдминистратор кориснички случај - Одржува сервер''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Одржува сервер |||| 1 |||| Администраторот е известен за проблем со серверот |||| Администраторот е известен од некој од вработените, или пак од некој од корисниците дека има некаков дефект и веб сајтот не функционира |||| Администраторот мора да е достапен во секое време и да реагира на нотификациите и известувањата во врска со проблемот веднаш |||| Во зависност од тоа што е проблемот со серверот дали "паднал" или пак нешто друго, што би предизвикало недостапност или проблем со веб сајтот, администраторот добива известување или нотификација преку емаил од страна на некој од вработените, којшто пак може самиот да увидел дека не е во ред, или од страна на корисник во вид на репорт |||| || || Одржува сервер |||| 2 |||| Администраторот го лоцира проблемот |||| По нотификацијата за проблемот со серверот администраторот се лоцира преку remote control или пак доаѓа на лице место и го лоцира проблемот со серверот |||| |||| Администраторот има своја лозинка и корисничко име за најава на серверот, доколку е далечен, а доколу е во сопственост на фирмата, може да оди директно на лице место и да го лоцира проблемот, во зависност од тоа што е проблемот |||| || || Одржува сервер |||| 3 |||| Администраторот го решава проблемот |||| По извршените тестови и лоцирање на проблемот, администраторот го решава проблемот, по што сајтот си функционира нормално |||| Да се заврши во што е можно побрзо време |||| Администраторот го решава проблемот во зависност од тоа што е(дали хардверски или софтверски), по потреба повикува и постручно лице. По извршената поправка, системот повторно се пушта во употреба |||| || ID 10: ||||||||||||||||||||||||||= '''Организатор кориснички случај - Регистрира настан''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Регистрира настан |||| 1 |||| Организаторот се најавува на системот |||| Внесува корисничко име и лозинка. При успешна најава системот ја прикажува почетната страница за организаторот |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 1 сек. |||| Податоците којшто ги внел организаторот за најавување се проверуваат во база, дали се конзистентни со корисничко име и лозинка и притоа доколку се му се покажува порака за успешна најава и се пренасочува организаторот |||| || || Регистрира настан |||| 2 |||| Организаторот избира категорија на настан |||| Организаторот ја одбира категоријата за настанот (спортски, музички, културни, забавни настани) |||| Да се внимава која категорија ќе биде избрана |||| При селектирање на одреден настан во одредена категорија истиот се додава во базата и се чека да се додадат останатите информации за тој настан |||| || || Регистрира настан |||| 3 |||| Организаторот регистрира настан |||| Организаторот додава информации за време и местото за настанот и со копчето Add Event регистрира нов настан во базата под одредена категорија |||| Да се контролираат податоците коишто треба да бидат внесени да не бидат невалидни |||| При кликање на копчето за додавање нов настан се праќа Query до базата со што се зачувува нова состојба на базата и на организаторот му се враќа повратна информација дали е успешно/неуспешно додавањето |||| || ID 12: ||||||||||||||||||||||||||= '''Организатор кориснички случај - Откажува настан''' =|| ||= System Operation =||||= Step =||||= Actor Action =||||= Black-Box Step Description =||||= Black-box Step Budget Requirements =||||= Subsystem White-Box Step Description =||||= White-Box Step Budget Requirements =|| || Откажува настан |||| 1 |||| Организаторот се најавува на системот|||| Внесува корисничко име и лозинка. При успешна најава системот ја прикажува почетната страница за организаторот |||| Оваа операција треба да се изврши брзо, т.е. не повеќе од 1 сек. |||| Податоците којшто ги внел организаторот за најавување се проверуваат во база, дали се конзистентни со корисничко име и лозинка и притоа доколку се му се покажува порака за успешна најава и се пренасочува организаторот |||| || || Откажува настан |||| 2 |||| Организаторот го избира настанот кој треба да биде откажан |||| Организаторот го селектира настанот што треба да биде отстранет од листата на настани |||| Да се заврши во што е можно побрзо време |||| При кликање на копчето Remove event за бришење на настан се праќа Query до базата со што се ажурира и зачувува нова состојба на базата и на организаторот му се враќа повратна информација дали бришењето е успешно/неуспешно |||| ||