= Архитектура = ''' Архитектура на стариот систем ''' * Дефинирање на контекстот на системот Во овој дел даваме преглед на системот и неговата околина. Главните актери во нашиот систем се Презентер и Администратор(кој е претставник на компанијата која го имплементирала системот). Презентерот и Администраторот користат заеднички интерфејс за најава на системот. По извршената најава, според улогите кои ги имаат секој добива пристап на соодветниот интерфејс. [[Image(Context(initial).png)]] [[Image(Context(finalVerzija2).png)]] * Анализа на Архитектурата Системот PresentOrganizer е наменет за користење во рамките на една организација(intra organization), која ќе има потреба од ваков вид на услуга. Во зависност од големината на организацијата која ќе го користи системот, зависи и бројот на корисници на системот. Затоа овој систем треба да овозможиме да биде скалабилен, односно да овозможиме лесно додавање на потребните нови ресурси. Од наведените причини а,и многу други, најсоодветната архитектура за овој систем би била ''' Клиент-Сервер трослојна архитектура '''. Целата функционалност на системот ќе биде сместена на серверот и ќе комуницира со базата на податоци. Клиентите ќе може да го користат системот од сите web- прелистувачи поради тоа што апликацијата не подржува некоја активна web содржината како Flash или слично. [[Image(Arc.png)]] Објектно ориентирана декомпозиција на подсистемите во нашиот проект. [[Image(OODekompozicijaStar.png)]] * Анализа на Кориснички случаи Во овој дел е прикажано однесувањето за секој кориснички случај. За приказ на однесувањето користевме секвенцен дијаграм. 1. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case1 Додавање презентер ] 2. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case2 Додавање на презентација ] 3. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case3 Креирање распоред на презентации ] 4. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case4 Промена на пријавена презентација ] 5. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case5 Бришење на презентација ] * Operation Analysis Operation Analysis на системот: ||||||||||||= System Use-Case <Додавање на презентација> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога админ ги пополнува полинњата на формата за додавање || BBS1: По секој внесен податок се валидира влезот. Дали е во согласност со барањата. || / || RequredFiled Validator на страната AdminPocetna.aspx || Во почетен Интерфејс на Администраторот се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 2 =|| АА2: оваа акција почнува кога админ во истата форма додава корисничко име и email за презентерот || BBS2: Системот прави проверка дали се валидни влезовите и дали веќе постои внсеното корисничко име или mail || / || MembershipCreateStatus го креира статусот на корисничкото име и password дали се валидни, дали не е внесено ништо... || Во почетен Интерфејс на Администраторот се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 3 =|| АА3: оваа акција почнува кога админ клика на копчето Додади од формата за додавање. || BBS3: Системот додава нов презентер во табелата Prezenteri во базата DBPrezentacii || / || Системска операција: bProfil_Click(object sender, EventArgs e) го додава корисникот во улога Презентер и со повик на ServiceReferencePrezentacii новиот презентер се внесува во табелата Prezenteri || Во почетен инетрфејс на Администраторот. || ||= 4 =|| АА4: акцијата почнува кога презентерот се најавува на системот || BBS4: системот валидира дали презентерот може да пристапи на системот(дали е тој) || / || User.IsInRole(“prezenter”) ако навистина е во оваа улога тогаш може да пристапи до неговиот профил. Односно се повикува Response.Redirect(PrezenterPocetna.aspx) || Во Интерфејс за Најава || ||= 5 =|| АА5: оваа акција почнува кога презентерот ги пополнува полињата од формата за внесување || BBS5: системот ги валидира внесените податоци || / || MaskedEditValidator Валидатор за tbvreme, за дали времетраењето е внесено во соодветен формат || Во Презентерски почетен интерфејс. || ||= 6 =|| АА6: презентерот клика на копчето Пријави || BBS6: Системот додава презентација во табелата Prijaveni од базата DBPrezentacii || / || bprijavi_Click(object sender, EventArgs e) методата ги внесува податоците во табела Prijaveni во базата DBPrezentacii. Пристапува до текстото од сите textbox-ови и ги додава овие податоци во табелата || Во Презентерски почетен интерфејс. || ||= 7 =|| АА7: оваа акција почнува кога презентерот клика на копчето Промени || BBS7: Системот отвара нова страна каде ги прикажува старите податоци на презентацијата што сака да ја промени || / || GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) метода која во сесија ги пренесува податоците на презентацијата која сакеме да ја смениме во друга страна каде што ќе се врши промената. || Во Презентерски интерфејс наменет за Преглед на презентации || ||= 8 =|| АА8: Презентерот во формите за промена ги менува потребните податоци || BBS8: Системот ги валидира новите податоци || / || MaskedEditValidator Валидатор за tbvreme, за дали времетраењето е внесено во соодветен формат || Во Презентерски интерфејс за Прoмена на презентација || ||= 9 =|| АА9: оваа акција почнува кога презентерот клика на копчето Промени || BBS9: Системот ги запишува промените за презентацијата во табелата Prijaveni || Промените да се зачувуваат за не повеќе од 5 сек. || Системска операција:protected void bpromena_Click(object sender, EventArgs e) ги земува сите промени од textbox-овите на формата и ги запишува во табелата Prijaveni || Во Презентерски интерфејс за Прoмена на презентација. || ||= 10 =|| АА10 оваа акција почнува кога презентерот клика на копчето Бриши || BBS710 Системот праќа порака на излез за да се потврди акцијата бришење || / || GridView1_RowDataBound(object sender,GridViewRowEventArgs e) метода која праќа порака за потврда на бришењето || Во Презентерски интерфејс наменет за Преглед на презентации || ||= 11 =|| АА11: Презентерот клика на копчето за потврда OK || BBS11: Системот ја брише презентацијата од табелата Prijaveni || / || GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) метода која го изведува бришењето || Во Презентерски интерфејс за Преглед на презентации || = = ||||||||||||= System Use-Case <Креирање Распоред на Презентации> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога админ избира од DropDownList датум за кој сака да креира распоред || BBS1: системот ги прикажува сите пријавени презентации на тој датум. || / || Popolni(), метода која го полни GridView-то со сите презентации во тој ден || Во Администраторски поглед за креирање Распоред се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 2 =|| АА2: администраторот клика на копчето Креирај || BBS2: Системот генерира распоред, притоа за секоја презентација го користи времетраењето на презентацијата || Креирањето распоред да не биде подолго од 10 сек. || bkreiraj_Click(object sender, EventArgs e) метода која го креира распоредот и го додава до секоја презентација во labela во Gridview-то || Во Администраторски поглед за креирање Распоред || = = ''' Архитектура на новиот систем ''' * Дефиниција на новите функционалности Во овој дел е прикажано однесувањето за секој кориснички случај. За приказ на однесувањето користевме секвенцен дијаграм. 1. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case1_Nov Додавање на презентација ] 2. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case2_Nov Креирање распоред на презентации ] 3. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case3_Nov Промена на пријавена презентација ] 4. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case4_Nov Бришење на презентација ] 5. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case5_Nov Логирање на презентерот на системот ] 6. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case6_Nov Креирање и објавава на претстоен настан ] 7. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case7_Nov Покана на презентери ] 8. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case8 Презентер одобрува покана ] 9. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case9 Презентер се пријавува на настан ] 10. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case10 Администратор одобрува пријава на презентери ] 11. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case11 Преглед на закажаните презентации и распоред ] 12. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case12 Презентер оценува и коментира презентации ] 13. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case13 Стручно оценување на презентации ] 14. [http://develop.finki.ukim.mk/projects/PresentOrganizer/wiki/Use_Case14 Администраторот ги додава оценувачите ] * Дефинирање на контекстот на системот Контекстен дијаграм за новиот систем [[Image(ContextNovSistem.2.png​)]] Класен дијаграм за новиот систем [[Image(KlasenDijagram_Nov.png​)]] * Анализа на Архитектурата * Анализа на Кориснички случаи * Оперативна анализа Оперативна анализа за новиот систем ||||||||||||= System Use-Case <Пријава презентација кога настан е испратен до сите> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога админ ги пополнува полинњата на формата за креирање настан || BBS1: По секој внесен податок се валидира влезот. Дали е во согласност со барањата. || / || RequredFiled Validator на страната AdminPocetna.aspx || Во почетен Интерфејс на Администраторот се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 2 =|| АА2: оваа акција почнува кога админ клика на копчето Креирај од формата за креирање. || BBS2: Системот го додава нов иот настан во базата DBPrezentacii || / || Системска операција: bProfil_Click(object sender, EventArgs e) повикува ServiceReferencePrezentacii за внесување на новиот настан во базата || Во почетен интерфејс на Администраторот. || ||= 3 =|| АА3: акцијата почнува кога админ клика на копче Објави || BBS3: системот го прикажува настанот до сите пријавени презентери || / || Се повикува метода на копчето Објава, каде се насочува настанот во форма за Прифаќање до секој презентер || Во Интерфејс на Админ || ||= 4 =|| АА4: оваа акција почнува кога презентерот клика на копче Да или Не за да одговори на Поканата || BBS5: системот го зачувува одговорот од презентерот, за да знае админот за каков е одговорот. || / || Се повикува метода при клик на копче која го зачувува одговорот воз база преку ServiceReferencePrezentacii || Во Презентерски почетен интерфејс. || ||= 5 =|| АА5: оваа акција почнува кога презентерот ги пополнува полињата од формата за внесување || BBS5: системот ги валидира внесените податоци || / || MaskedEditValidator Валидатор за tbvreme, за дали времетраењето е внесено во соодветен формат || Во Презентерски почетен интерфејс. || ||= 6 =|| АА6: презентерот клика на копчето Пријави || BBS6: Системот додава презентација во табелата Prijaveni од базата DBPrezentacii || / || bprijavi_Click(object sender, EventArgs e) методата ги внесува податоците во табела Prijaveni во базата DBPrezentacii. Пристапува до текстото од сите textbox-ови и ги додава овие податоци во табелата || Во Презентерски почетен интерфејс. || ||= 7 =|| АА7: Админ има преглед на сите пријавени презентации, одобрува презентација со чекирање на соодветен checkbox || BBS7: Системот ги зачувува одговорите || / || При секое чекирање се повикува метода преку ServiceReferencePrezentacii и се зачувува која презентација е одобрена. || Во Администраторски интерфејс || = = ||||||||||||= System Use-Case <Пријава презентација кога презентер праќа покани> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога админ ги пополнува полинњата на формата за креирање настан || BBS1: По секој внесен податок се валидира влезот. Дали е во согласност со барањата. || / || RequredFiled Validator на страната AdminPocetna.aspx || Во почетен Интерфејс на Администраторот се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 2 =|| АА2: оваа акција почнува кога админ клика на копчето Креирај од формата за креирање. || BBS2: Системот го додава новиот настан во базата DBPrezentacii || / || Системска операција: bProfil_Click(object sender, EventArgs e) повикува ServiceReferencePrezentacii за внесување на новиот настан во базата || Во почетен инетрфејс на Администраторот. || ||= 3 =|| АА3: акцијата почнува кога админ чекира пријавени кандидати за да ги покани за соодветен настан || BBS3: системот ги зачувува поканатиот кандидат и настанот за кој се повикува. И чека одговор од кандидатот || / || По секоие чекирање преку ServicerefefencePrezentacii се повикува метода која ги зачувува податоците во базата || Во Интерфејс на Админ за покани. || ||= 4 =|| АА4: оваа акција почнува кога презентерот клика на копче Да или Не за да одговори на Поканата || BBS4: системот го зачувува одговорот од презентерот, за да знае админот каков е одговорот. || / || Се повикува метода при клик на копче која го зачувува одговорот воз база преку ServiceReferencePrezentacii || Во Презентерски почетен интерфејс. || ||= 5 =|| АА5: оваа акција почнува кога презентерот ги пополнува полињата од формата за внесување || BBS5: системот ги валидира внесените податоци || / || MaskedEditValidator Валидатор за tbvreme, за дали времетраењето е внесено во соодветен формат || Во Презентерски почетен интерфејс. || ||= 6 =|| АА6: презентерот клика на копчето Пријави || BBS6: Системот додава презентација во табелата Prijaveni од базата DBPrezentacii || / || bprijavi_Click(object sender, EventArgs e) методата ги внесува податоците во табела Prijaveni во базата DBPrezentacii. Пристапува до текстото од сите textbox-ови и ги додава овие податоци во табелата || Во Презентерски почетен интерфејс. || = = ||||||||||||= System Use-Case <Креирање Распоред на Презентации> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога админ избира од DropDownList настан за кој сака да креира распоред || BBS1: системот ги прикажува сите пријавени презентации на тој настан. || / || Popolni(), метода која го полни GridView-то со сите презентации во тој настан || Во Администраторски поглед за креирање Распоред се валидира секој влез и се праќа порака на излез(формата) за дали е точен влезот. || ||= 2 =|| АА2: администраторот клика на копчето Креирај || BBS2: Системот генерира распоред, притоа за секоја презентација го користи времетраењето на презентацијата || Креирањето распоред да не биде подолго од 10 сек. || bkreiraj_Click(object sender, EventArgs e) метода која го креира распоредот и го додава до секоја презентација во labela во Gridview-то || Во Администраторски поглед за креирање Распоред || = = ||||||||||||= System Use-Case <Оценување презентации> =|| ||= Step =||= Actor Action =||= Black-Box Step Description =||= Black-Box Budget Requirements =||= System Operation =||= Subsystem White-Box Step Description =|| ||= 1 =|| АА1: оваа акција почнува кога презентерот до секоја презентација внесува оцена или коментар || BBS1: системот ги зачувува внесените податоци || / || Се повикува метода која од GridView ги земува оцената, коментарот, Презентацијата и соодветниот презентер и ги запишува во база || Во Презентерски интерфејс за поглед на сите презентации за настанот. || ||= 2 =|| АА2: оваа акција почнува кога Оценувачот одбира настан за кој ќе ги оценува пријавените презентации || BBS2: Системот дава листа на сите презентации за тој настан || / || Метода која преку ServiceReferencePrezentacii прикажува Презентации за настан || Во Интерфејс на Оценувач || ||= 3 =|| AA3: Оваа акција почнува кога Оценувачот до секоја презентација во соодветни полиња внесува оцена и коментар || BBS3: Системот ги зачувува внесените податоци || / || Се повикува метода која преку ServiceReferencePrezentacii ги зачувува оцената и коментарот за соодветната презентација || Во интерфејс за Оценувач || ||= 4 =|| AA4: Оваа акција почнува кога оценувачот сака да испрати некое известување до одреден презентер || BBS4: Системот го испрќа известувањето до соодветниот презентер || / || Се прави ResponseRedirect до соодветнито презентер || Во интерфејс на Оценувач ||