== Архитектура на системот == Основната стратегија која ќе се користи за да се структуира системот е складиште моделот.[[BR]] Податоците кои ќе се разменуваат ќе се чуваат во централна база на податоци која може да се пристапува и во која ќе може да се интегрираат податоците.[[BR]] Користењето на централизирана база на податоци се фокусира на самите податоци.[[BR]][[BR]][[BR]]Главниот извор на податоци е веќе создаден, чист, трансформиран, категоризиран и достапен за користење од страна на вработените на магацинот и администраторот на системот.[[BR]]Централизираната база на системот ќе биде поставена на сервер и на неа ќе може да пристапуваат магацинските работници преку претходно најавување на своите ПДА уреди,[[BR]] и би им се овозможило да извлекуваат, променуваат и внесуваат податоци во зависност од привилигиите кои ги имаат со цел да ги извршуваат своите работни обврски. [[BR]][[BR]][[BR]]Базата ќе биде релациона база на податоци т.е база која содржи колекција од табели од податочни предмети, кои претходно се формално опишани и организирани спрема релациониот модел.[[BR]] Комуникацијата помеѓу базата на податоци(серверот) и мобилните уреди е овозможена преку бежична мрежа(wireless).[[BR]]Секој уред со кој работи магацинскиот работник во магацинот поседува wireless.Во зависност од големина на просторот се поставуваат пропорционално рутери кои комуницираат меѓу себе.[[BR]]Мобилниот уред целата комуникација помеѓу рутерите ја гледа како една мрежа и секоја транакција/ажурирање на PDA уредот преку нив ја процесира до серверот.[[BR]]Покрај финансиската исплатливост, овој начин на решение е квалитетен, односно комуникацијата е стабилна и безбедна.[[BR]][[BR]][[BR]] Системот за магацинско управување ќе претставува десктоп апликација составена од неколку слоеви. [[BR]] За решение е избрана декстоп апликација пред веб апликација примарно заради тоа што со системот во интеракција ќе бидат само однапред дефиниран број на корисници - магацинските работници.[[BR]] Исто, во операциите во системот не е потребно постојано побарување на одредени ресурси и материјали(од Интернет). [[BR]]Системот за магацинско управување ќе биде составен од три слоеви(подсистеми) и тоа од: ниво за централна база на податоци каде се чуваат сите податоци и се прават сите ажурирања при магацинските операции, апликациско ниво каде што се прави целата бизнис логика и пресметки и ниво за прикажување на интерфејс кое го сочинува изгледот десктоп апликацијата. [[BR]][[BR]] == Глобална архитектура на системот == Во прилог е прикажана глобалната архитектура на системот [[BR]] Архитектурата беше успешно имплементирана [[BR]] Главната цел на ваквата архитектура беше бежично работење на работник на таблет компјутер и реализацијата ја презентиравме на час [[BR]] [[BR]] [[Image(global.jpg)]] [[BR]] == 1.0 ER Дијаграм на WMS: == [[Image(er.png)]] == 2.0 Класен дијаграм на WMS: == [[Image(classDiagram.png)]] [[BR]] == 3.0 Функционалности на системот: == '''3.1 Внесување нов производ со скенирање''': [[BR]] [[Image(NovProduktUseCase.png)]] ---- ''' 3.2 Внесување нов производ со скенирање:''' [[Image(isporakaUseCase.png)]] [[BR]] == Entity-Control-Boundary Design Pattern == Идејата на користење на овој шаблон е една единка во класниот дијаграм да ја раздвоиме на три делови кои што ќе бидат во меѓусебна интеракција.[[BR]] Со ваков шаблон има неколку придобивки кои ни се од корист :[[BR]] -Подобра организација и разбирливост на код[[BR]] -Реискористливост на код[[BR]] -Издвојување на независни компоненти и паралелно работење на истите[[BR]] -Многу добра одржливост на кодот (менуваме само во класата во која е најдена грешка, но не и во останатите[[BR]] Приказ на Entity-Control-Boundary Design Pattern [[BR]] [[Image(Entity.jpg)]] [[BR]] Имено, моделот е имплементиран во Microsoft Visual Stidio Entity и тоа на следниот начин :[[BR]] [[BR]] '''Boundary класа''' - Microsfot Windows Form [[BR]] Има интеракција со '''интерфејсот''' и е погоден да биде Boundary класа која што ќе повикува разни контроли каде ќе бидат прикажани(прочитани) и запишани(ажурирани) [[BR]]податоци кои ги барал/вкуцал клиентот.[[BR]] '''Контролна клас'''а[[BR]] Оваа класа се препишува на CRUD Интерфејс бидеќи секоја контролна класа во нашиот проект го има овој интерфејс.[[BR]] Исто така се додадени дополнителни контролни функции во зависност од класата, со чија помош пак Boundary Класата ќе го повикува она што корисникот го бара/[[BR]] '''Важно :''' Секоја контролна класа и сите контролни функции внатре побаруваат соодветно query од база, коешто може да се види во самата имплементација на контролната класа во програмскиот јазик[[BR]][[BR]] '''Еntity класа'''[[BR]] Оваа класа го опишува ентитетот заедно со неговите особини. [[BR]] Следниот дијаграм покажува практичен тек и реализација на овој модел во нашата апликација[[BR]] [[BR]] [[Image(ecb.jpg)]] == 4.0 Класен дијаграм според entity-control-boundary Design Pattern: == [[BR]] [[Image(classenDiagram.png)]][[BR]][[BR]] [[BR]][[BR]] == 5.0 Activity дијаграми: == [[BR]][[BR]] '''4.1 Испорака:''' [[BR]] [[Image(Isporaka.png)]][[BR]] ''' 5.2 Попис:''' [[BR]] [[Image(Popis.png)]][[BR]] '''5.3 Контрола на производ:''' [[BR]] [[Image(Kontrola.png)]][[BR]] '''5.4 Прием на роба:''' [[BR]] [[Image(priem.png)]][[BR]] '''5.5 Складирање на производ:''' [[BR]] [[Image(skladiranje.png)]][[BR]] [[BR]][[BR]] == 6.0 Секвенцијални дијаграми (Entity-Control-Boundary): == [[BR]][[BR]] '''6.1 Испорака:''' [[BR]] [[Image(isporakaSK.png)]][[BR]] '''6.2 Попис:''' [[BR]] [[Image(PopisSK.png)]][[BR]] '''6.3 Контрола на производ:''' [[BR]] [[Image(KontrolaSledlivost.png)]][[BR]] '''6.4 Прием на роба:''' [[BR]] [[Image(priemSK.png)]][[BR]] '''6.5 Складирање на производ:''' [[BR]] [[Image(skladirajSK.png)]][[BR]]