Changes between Version 35 and Version 36 of Дизајн на системот


Ignore:
Timestamp:
12/19/21 18:02:33 (3 years ago)
Author:
vangel.ajanovski
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Дизајн на системот

    v35 v36  
     1= Дизајн на системот =
     2
     3
    14== Иницијална архитектура ==
    2 //
     5
     6
     7
     8
     9
    310=== 1. Архитектура ===
     11
     12{{{#!box type=todo
     13Тука имате премногу опишување на клиент-сервер архитектура. Доволно е кратко да се каже што е, да се даде референца, и да се објасни зошто сте избрале ваква архитектура.
     14}}}
    415
    516Мрежната инфраструктура функционира базирано на моделот клиент-сервер. Клиент-сервер архитектурата е компјутерски модел во кој серверот е домаќин (host). Тој испорачува и управува со повеќето ресурси и услуги што треба да ги потроши клиентот. Овој тип архитектура има еден или повеќе клиентски компјутери поврзани со централен сервер преку мрежа или интернет конекција. Системот прави поделба на компјутерски ресурси. Архитектурата клиент/сервер е исто така позната како компјутерски модел за вмрежување или мрежа на клиент/сервер бидејќи сите барања и услуги се испорачуваат преку мрежа. Централниот сервер е поврзан со базата на податоци, додека серверскиот оперативен систем е Linux. Клиентот треба да поседува стабилна интернет врска за да може да оствари комуникација со серверот [7].
     
    1829* Безбедност - серверите овозможуваат квалитетна контрола врз пристапот и ресурсите со што се гарантира дека само овластените клиенти можат да пристапат или манипулираат со податоците, и ажурирањата на серверот се администрираат ефикасно.
    1930
    20 \\
    2131[[Image(architecture.svg)]]\\
    22 ''Слика 2 - Клиент-сервер архитектура''\\
     32''Слика 2 - Клиент-сервер архитектура''
     33
     34{{{#!box type=todo
     35Недостасува дијаграм за внатрешната архитектура на вашата апликација. Овој дијаграм е повторување на претходниот.
     36}}}
     37
     38{{{#!box type=todo
     39Пред описот на вашата конкретна архитектура, треба да ги имате наведено користените технологии, бидејќи треба да е видливо каде во дизајнот на вашата архитектура влегуваат овие технологии.
     40}}}
     41
    2342[[Image(architecture_saveSpace.png)]]\\
    24 ''Слика 3 - Клиент-сервер архитектура на системот''\\
    25 На Слика 3 е прикажана архитектурата на системот.\\
     43''Слика 3 - Клиент-сервер архитектура на системот''
     44
     45На Слика 3 е прикажана архитектурата на системот.
     46
     47 
    2648
    2749Својства на клиентот:
     
    3658- софтверска алатка која овозможува конекција меѓу клиентот и серверот, така што ќе може да се разменуваат барања и одговори меѓу нив.
    3759
     60
     61
     62
     63
    3864=== 2. Класен дијаграм ===
    39 UML Class дијаграмот  е графичка нотација што се користи за конструирање и визуелизација на објективно-ориентирани системи. Класен дијаграм во Унифицираниот јазик за моделирање (UML) е тип на дијаграм за статичка структура што ја опишува структурата на системот со прикажување на системот и неговите атрибути,операции (или методи) како и односите меѓу нив. [8][[br]] [[br]]
    40 На сликата подолу е прикажан класен дијаграм на базата на податоци која се користи за системот за архивско рабптење SaveSpace. Може да се забележи дека клучна класа е класата Folders со која се поврзани поголем дел од останатите класи. Од оваа класа се креираат повеќе видови на објекти, односно сите видови на архивски датотеки кои ќе бидат додадени на сервер. Може да се забележи дека се чуваат пoдатoци за корисникот, оддели (физичка локација), архивски број и слично што во нашиот случај се вадат како регистри и подоцна се  користат за формирањее на гoлемата слика т.е. архивските документи. [[br]]
     65
     66UML Class дијаграмот  е графичка нотација што се користи за конструирање и визуелизација на објективно-ориентирани системи. Класен дијаграм во Унифицираниот јазик за моделирање (UML) е тип на дијаграм за статичка структура што ја опишува структурата на системот со прикажување на системот и неговите атрибути,операции (или методи) како и односите меѓу нив. [8]
     67
     68{{{#!rbox type=todo
     69Ако е класен дијаграм за објектно-релациско мапирање на базата, тогаш треба да ги прикажете само класите од Models, а гледам тука има и други, има и методи кои во класите во Models ги нема или некои методи недостасуваат. Ако не е тоа, тогаш објаснете попрецизно што прикажува дијаграмот.
     70}}}
     71На сликата подолу е прикажан класен дијаграм на базата на податоци која се користи за системот за архивско работење SaveSpace. Може да се забележи дека клучна класа е класата Folders со која се поврзани поголем дел од останатите класи. Од оваа класа се креираат повеќе видови на објекти, односно сите видови на архивски датотеки кои ќе бидат додадени на сервер. Може да се забележи дека се чуваат пoдатoци за корисникот, оддели (физичка локација), архивски број и слично што во нашиот случај се вадат како регистри и подоцна се  користат за формирањее на гoлемата слика т.е. архивските документи.
     72
    4173Во архивското работење многу битен податок е да има увид кој корисник (референт) ги има внесено датотеките (документите) и дали се внесени во правилен формат. На сликaта подолу може да се види дека во класата Folders се чуваат податоци за корисникот кој ја додал и времето кога биле додадени датотеките. Преку класата Files се внесуваат датотеките во одреден фолдер кои подоцна ќе бидат зачувани во базата на податоци. Една датотека од класата Folder може да има неколку прилози со различни имиња. Во класата Permissions се зачувани имињата на пермисиите кои ќе се зачувуваат во класата Roles_permissions која е во релација со класата Roles каде се зачувани имињата на ролјите со цел за секоја ролја да може да се додели одредена пермисија. Класата Roles е во релација со класата User преку која се доделува ролја на корисникот. Во класата Password_resets се зачувува секој обид за промена на лозинка со цел да token-от да не важи повеќе од даденото време. Во класата File_types се зачувуваат валидациските правила за прикачувани на датотеки.
     74
     75{{{#!box type=todo
     76Корегирајте го класниот дијаграм. Рамките обично означуваат пакување на класите во пакет, па треба да стои името на пакетот - а тоа сигурно не е SaveSpace UML. Ако ставате име на пакет треба да е во обичен правоаголник. Кардиналноста на асоцијациите не се означува со N туку со *. Ако имате асоцијација со референца од една класа кон друга, не треба да имате и атрибут и линија, туку само линија со навигациска стрелка во насока на референцата и име на референцата на линијата.
     77}}}
    4278
    4379[[Image(umlClassDiag.png)]]\\
    4480''Слика 4 - UML класен дијаграм на апликацијата''
    45 
    46 === 3. Секвенцијален дијаграм ===
    47 [[br]]
    48 Секвенцијалните дијаграми се динамично решение за моделирање во UML бидејќи тие конкретно се фокусираат на процесите и објектите што живеат истовремено, и пораките што се разменуваат меѓу нив за да извршат функција пред да заврши животната линијата. [[br]]
    49 Секвенцијалниот дијаграм е тип на дијаграм за интеракција, бидејќи опишува како - и по кој редослед - група објекти работат заедно. Овие дијаграми се користат од развивачи на софтвер и деловни професионалци за да ги разберат барањата за нов систем или да документираат постоечки процес. Секвенцијалните дијаграми понекогаш се познати како дијаграми на настани или сценарија за настани [9]. [[br]] [[br]]
    50 На сликата подолу е прикажан секвенцијален дијаграм за креирање на фолдер. Процесот за креирање на фолдер е следен: корисникот се најавува во системот со внесување на своето корисничко име и лозинка. Потоа ја верифицира најавата со внесување на OTP кодот кој го добива преку маил. По автентикација се обидува да креира фолдер. Прв чекор е изброр на оддел. Потоа ја пополнува формата и ги прикачува датотеките. Со клик на submit се праќа барање да серверот и доколку помине валидацијата се креира фолдерот со тоа што се запишува во базата на податоци.
    51 [[Image(umlSequence_folder.png)]]\\
    52 ''Слика 5 - Секвенцијален дијаграм за креирање на нов фолдер''
    53 
    54 === 4. Користени технологии ===
    55 [[br]]
    56 === Laravel ===
    57 Laravel е PHP рамка со отворен код, која е робусна и лесна за разбирање. Следи шема на model-view контролер. Laravel со повторување ги користи постојните компоненти на различните рамки што помага во креирање веб -апликација. Во тој начин дизајнираната веб -апликација е повеќе структуирана и прагматична.
    58 Laravel нуди богат сет на функционалности што ги вклучува основните карактеристики на PHP, рамките како CodeIgniter, Yii и други програмски јазици како Ruby on Rails. Laravel има многу богат сет на карактеристики што ќе ја зголемат брзината на веб -развој.\\
    59 
    60 Кога дизајнираме веб -апликација со Laravel,  тој ги нуди следниве предности [10]:\\
    61 
    62 •       Веб -апликацијата станува повеќе скалабилна\\
    63 
    64 •       Заштедено е значително време при дизајнирање на веб -апликација, бидејќи Laravel повторно ги користи компонентите од друга рамка при развивање веб -апликација.\\
    65 
    66 •       Вклучува интерфејси, со што помага да се организираат и управуваат ресурсите
    67 
    68 
    69 === Blade ===
    70 Blade е едноставен, но моќен engine за шаблони што е вклучен во Laravel. За разлика од некои PHP engines за шаблони, Blade не не ограничува да користиме обичен PHP код во нашите шаблони. Всушност, сите Blade шаблони се компајлираат во обичен PHP код и се чуваат во кеш додека не се изменат, што значи дека Blade во суштина додава нула трошоци на вашата апликација. Датотеките со шаблоните на Blade ја користат наставката на датотеката .blade.php и вообичаено се складираат во директориумот за ресурси. [11].\\
    71 
    72 
    73 === Bootstrap ===
    74 Bootstrap е бесплатна рамка со отворен код за создавање веб-страници и веб-апликации. Рамката Bootstrap е изградена на HTML, CSS и JavaScript (JS) за да го олесни развојот на веб-страници и апликации за мобилни телефони.\\
    75 
    76 Реактивниот дизајн овозможува веб-страница или апликацијата да ја открие големината и ориентацијата на екранот на посетителот и автоматски да го прилагоди приказот соодветно. Bootstrap вклучува компоненти на кориснички интерфејс, распоред и JS алатки заедно со рамката за имплементација.\\
    77 
    78 Кај компјутерите, зборот bootstrap значи да се подигне: да се вчита програма во компјутер користејќи многу помала почетна програма за да се вчита во саканата програма (која обично е оперативниот систем) [12].\\
    7981
    8082
     
    8284
    8385
     86=== 3. Секвенцијален дијаграм ===
     87
     88Секвенцијалните дијаграми се динамично решение за моделирање во UML бидејќи тие конкретно се фокусираат на процесите и објектите што живеат истовремено, и пораките што се разменуваат меѓу нив за да извршат функција пред да заврши животната линијата.
     89
     90Секвенцијалниот дијаграм е тип на дијаграм за интеракција, бидејќи опишува како - и по кој редослед - група објекти работат заедно. Овие дијаграми се користат од развивачи на софтвер и деловни професионалци за да ги разберат барањата за нов систем или да документираат постоечки процес. Секвенцијалните дијаграми понекогаш се познати како дијаграми на настани или сценарија за настани [9].
     91
     92На сликата подолу е прикажан секвенцијален дијаграм за креирање на фолдер. Процесот за креирање на фолдер е следен: корисникот се најавува во системот со внесување на своето корисничко име и лозинка. Потоа ја верифицира најавата со внесување на OTP кодот кој го добива преку е-пошта. По автентикација се обидува да креира фолдер. Прв чекор е изброр на оддел. Потоа ја пополнува формата и ги прикачува датотеките. Со клик на submit се праќа барање да серверот и доколку помине валидацијата се креира фолдерот со тоа што се запишува во базата на податоци.
     93
     94 
     95{{{#!box type=todo
     96Ако ставате секценцијален дијаграм воопшто, наведете го прецизно онака како што е реализирано. Значи да бидат наведени конкретните класи кои влегуваат во интеракцијата од почеток до крај, од комуникација со корисник до запишување во база и фајл систем. Означете од кои пакети се класите, бидејќи се сите од различни пакети.
     97Пораките мора да бидат конкретните методи кои ги има во класите, кај вас не се. На пример во Folder класата немате Upload files. Ни во User немате Verify login.
     98}}}
     99
     100[[Image(umlSequence_folder.png)]]\\
     101''Слика 5 - Секвенцијален дијаграм за креирање на нов фолдер''
    84102
    85103
    86104
     105
     106
     107=== 4. Користени технологии ===
     108
     109
     110
     111
     112
     113{{{#!box type=todo
     114Треба да имате објаснето и зошто ги користите овие рамки, а не други.
     115}}}
     116
     117
     118
     119
     120=== Laravel ===
     121Laravel е PHP рамка со отворен код, која е робусна и лесна за разбирање. Следи шема на model-view контролер. Laravel со повторување ги користи постојните компоненти на различните рамки што помага во креирање веб -апликација. Во тој начин дизајнираната веб -апликација е повеќе структуирана и прагматична.
     122Laravel нуди богат сет на функционалности што ги вклучува основните карактеристики на PHP, рамките како CodeIgniter, Yii и други програмски јазици како Ruby on Rails. Laravel има многу богат сет на карактеристики што ќе ја зголемат брзината на веб -развој.
     123
     124Кога дизајнираме веб -апликација со Laravel,  тој ги нуди следниве предности [10]:
     125
     126•       Веб -апликацијата станува повеќе скалабилна
     127
     128•       Заштедено е значително време при дизајнирање на веб -апликација, бидејќи Laravel повторно ги користи компонентите од друга рамка при развивање веб -апликација.
     129
     130•       Вклучува интерфејси, со што помага да се организираат и управуваат ресурсите
     131
     132
     133
     134
     135
     136=== Blade ===
     137Blade е едноставен, но моќен engine за шаблони што е вклучен во Laravel. За разлика од некои PHP engines за шаблони, Blade не не ограничува да користиме обичен PHP код во нашите шаблони. Всушност, сите Blade шаблони се компајлираат во обичен PHP код и се чуваат во кеш додека не се изменат, што значи дека Blade во суштина додава нула трошоци на вашата апликација. Датотеките со шаблоните на Blade ја користат наставката на датотеката .blade.php и вообичаено се складираат во директориумот за ресурси. [11].
     138
     139
     140
     141
     142
     143=== Bootstrap ===
     144Bootstrap е бесплатна рамка со отворен код за создавање веб-страници и веб-апликации. Рамката Bootstrap е изградена на HTML, CSS и JavaScript (JS) за да го олесни развојот на веб-страници и апликации за мобилни телефони.
     145
     146Реактивниот дизајн овозможува веб-страница или апликацијата да ја открие големината и ориентацијата на екранот на посетителот и автоматски да го прилагоди приказот соодветно. Bootstrap вклучува компоненти на кориснички интерфејс, распоред и JS алатки заедно со рамката за имплементација.
     147
     148Кај компјутерите, зборот bootstrap значи да се подигне: да се вчита програма во компјутер користејќи многу помала почетна програма за да се вчита во саканата програма (која обично е оперативниот систем) [12].
     149
     150
     151
     152
     153