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


Ignore:
Timestamp:
12/21/21 23:04:05 (2 years ago)
Author:
vangel.ajanovski
Comment:

--

Legend:

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

    v47 v48  
    99
    1010
    11 {{{#!box type=todo
    12 Треба да имате објаснето и зошто ги користите овие рамки, а не други.
    13 }}}
    14 {{{#!box type=comment
    15 Корегирано
    16 }}}
    17 
    18 === Laravel ===
     11==== Laravel ====
     12
    1913Laravel е PHP рамка со отворен код, која е робусна и лесна за разбирање. Следи шема на model-view контролер. Laravel со повторување ги користи постојните компоненти на различните рамки што помага во креирање веб -апликација. На тој начин дизајнираната веб -апликација е повеќе структуирана и прагматична.
    2014Laravel нуди богат сет на функционалности што ги вклучува основните карактеристики на PHP, рамките како CodeIgniter, Yii и други програмски јазици како Ruby on Rails. Има многу богат сет на карактеристики што ќе ја зголемат брзината на веб -развој. За база на податоци се користи MySQL 5.7 [5].
     
    2822•       Вклучува интерфејси, со што помага да се организираат и управуваат ресурсите
    2923
    30 === Blade ===
     24==== Blade ====
    3125Blade е едноставен, но моќен engine за шаблони што е вклучен во Laravel. За разлика од некои PHP engines за шаблони, Blade не не ограничува да користиме обичен PHP код во нашите шаблони. Всушност, сите Blade шаблони се компајлираат во обичен PHP код и се чуваат во кеш додека не се изменат, што значи дека Blade во суштина додава нула трошоци на вашата апликација. Датотеките со шаблоните на Blade ја користат наставката на датотеката .blade.php и вообичаено се складираат во директориумот за ресурси. [7].
    3226
    3327
    34 === Bootstrap ===
     28==== Bootstrap ====
    3529Bootstrap е бесплатна рамка со отворен код за создавање веб-страници и веб-апликации. Рамката Bootstrap е изградена на HTML, CSS и JavaScript (JS) за да го олесни развојот на веб-страници и апликации за мобилни телефони.
    3630
     
    3933Кај компјутерите, зборот bootstrap значи да се подигне: да се вчита програма во компјутер користејќи многу помала почетна програма за да се вчита во саканата програма (која обично е оперативниот систем) [8].
    4034
    41 === Зошто Laravel? ===
     35==== Зошто Laravel? ====
    4236
    4337Одбрав да ја развијам апликацијата во Laravel затоа што е PHP рамка која обезбедува пред се лесен и едноставен начин на дефинирање на кодот со помошни класи и методи интегрирани во рамката. Исто така обезбедува Artisan CLI за едноставни и брзи команди т.е. доаѓа со сопствен интерфејс за командна линија (CLI). Ова го прави развојот на веб-апликациите многу по едноставен. Исто така убавината е во тоа што PHP е бесплатен за користење, има нај широка подршска од заедницата во споредба со другите програмски јазици. Поврзувањето со разни видови датабази, безбедноста и брзината на процесирање датотеки во Laravel сее исто така круцијални. Исто така темплејтите кои може да се креираат преку Blade прават поврзување со моделот, го обработува кодот во изворните шаблони и нуди излез во текстуална датотека. Laravel обезбедува Blade Template Engine. Blade нуди прикажување податоци и проширување на распоредот без да се наруши брзината и перформансите на апликацијата.  Згора на тоа, познато е дека Blade доаѓа со своја структура и формација за креирање и прегледување датотека.
     
    4539
    4640=== 2. Архитектура ===
    47 
    48 {{{#!box type=todo
    49 Тука имате премногу опишување на клиент-сервер архитектура. Доволно е кратко да се каже што е, да се даде референца, и да се објасни зошто сте избрале ваква архитектура.
    50 }}}
    51 
    52 {{{#!box type=comment
    53 Корегирано, текстот е скратен и наведени се причини зошто клиент-сервер наместо p2p
    54 }}}
    5541
    5642Мрежната инфраструктура функционира базирано на моделот клиент-сервер. Клиент-сервер архитектурата е компјутерски модел во кој серверот е домаќин (host). Тој испорачува и управува со повеќето ресурси и услуги што треба да ги потроши клиентот. Овој тип архитектура има еден или повеќе клиентски компјутери поврзани со централен сервер преку мрежа или интернет конекција. Системот прави поделба на компјутерски ресурси. Архитектурата клиент/сервер е исто така позната како компјутерски модел за вмрежување или мрежа на клиент/сервер бидејќи сите барања и услуги се испорачуваат преку мрежа. Централниот сервер е поврзан со базата на податоци, додека серверскиот оперативен систем е Linux. Клиентот треба да поседува стабилна интернет врска за да може да оствари комуникација со серверот [9].
     
    6955{{{#!box type=todo
    7056Недостасува дијаграм за внатрешната архитектура на вашата апликација. Овој дијаграм е повторување на претходниот.
    71 }}}
    7257{{{#!box type=comment
    7358Корегирано
     59{{{#!box type=question
     60Ако намерно го избришавте client-server дијаграмот, тогаш во ред, тргнете ги овие коментари.
     61Ако не е намерно, вратете го.
    7462}}}
    75 
    76 {{{#!box type=todo
    77 Пред описот на вашата конкретна архитектура, треба да ги имате наведено користените технологии, бидејќи треба да е видливо каде во дизајнот на вашата архитектура влегуваат овие технологии.
    7863}}}
    79 {{{#!box type=comment
    80 Корегирано
    8164}}}
    8265
     
    8568UML Class дијаграмот  е графичка нотација што се користи за конструирање и визуелизација на објективно-ориентирани системи. Класен дијаграм во Унифицираниот јазик за моделирање (UML) е тип на дијаграм за статичка структура што ја опишува структурата на системот со прикажување на системот и неговите атрибути,операции (или методи) како и односите меѓу нив. [10]
    8669
    87 {{{#!rbox type=todo
    88 Ако е класен дијаграм за објектно-релациско мапирање на базата, тогаш треба да ги прикажете само класите од Models, а гледам тука има и други, има и методи кои во класите во Models ги нема или некои методи недостасуваат. Ако не е тоа, тогаш објаснете попрецизно што прикажува дијаграмот.
    89 }}}
    90 {{{#!rbox type=comment
    91 Методите од тип класа се методи кои ги имам дефинирано како релации помеѓу моделите (за секој модел посебен метод во зависност од типот на релација) и затоа ги имам додадено за секој модел кој што е во релација.
    92 }}}
    93 
    9470На сликата подолу е прикажан класен дијаграм на базата на податоци која се користи за системот за архивско работење SaveSpace. Може да се забележи дека клучна класа е класата Folders со која се поврзани поголем дел од останатите класи. Од оваа класа се креираат повеќе видови на објекти, односно сите видови на архивски датотеки кои ќе бидат додадени на сервер. Може да се забележи дека се чуваат пoдатoци за корисникот, оддели (физичка локација), архивски број и слично што во нашиот случај се вадат како регистри и подоцна се  користат за формирањее на гoлемата слика т.е. архивските документи.
    9571
    9672Во архивското работење многу битен податок е да има увид кој корисник (референт) ги има внесено датотеките (документите) и дали се внесени во правилен формат. На сликaта подолу може да се види дека во класата Folders се чуваат податоци за корисникот кој ја додал и времето кога биле додадени датотеките. Преку класата Files се внесуваат датотеките во одреден фолдер кои подоцна ќе бидат зачувани во базата на податоци. Една датотека од класата Folder може да има неколку прилози со различни имиња. Во класата Permissions се зачувани имињата на пермисиите кои ќе се зачувуваат во класата Roles_permissions која е во релација со класата Roles каде се зачувани имињата на ролјите со цел за секоја ролја да може да се додели одредена пермисија. Класата Roles е во релација со класата User преку која се доделува ролја на корисникот. Во класата Password_resets се зачувува секој обид за промена на лозинка со цел да token-от да не важи повеќе од даденото време. Во класата File_types се зачувуваат валидациските правила за прикачувани на датотеки.
    97 
    98 {{{#!box type=todo
    99 Корегирајте го класниот дијаграм. Рамките обично означуваат пакување на класите во пакет, па треба да стои името на пакетот - а тоа сигурно не е SaveSpace UML. Ако ставате име на пакет треба да е во обичен правоаголник. Кардиналноста на асоцијациите не се означува со N туку со *. Ако имате асоцијација со референца од една класа кон друга, не треба да имате и атрибут и линија, туку само линија со навигациска стрелка во насока на референцата и име на референцата на линијата.
    100 }}}
    101 {{{#!box type=comment
    102 Корегирано. Пакувањето на класите или namespace како се нарекува во laravel за апликацијата е savespace.
    103 }}}
    10473
    10574[[Image(umlClassDiagram.png)]]\\
     
    256225Надворешен клуч: **user_id** - референцира кон **id** во табелата "users"
    257226
    258 {{{#!box type=todo
    259 Ако ставате секценцијален дијаграм воопшто, наведете го прецизно онака како што е реализирано. Значи да бидат наведени конкретните класи кои влегуваат во интеракцијата од почеток до крај, од комуникација со корисник до запишување во база и фајл систем. Означете од кои пакети се класите, бидејќи се сите од различни пакети.
    260 Пораките мора да бидат конкретните методи кои ги има во класите, кај вас не се. На пример во Folder класата немате Upload files. Ни во User немате Verify login.
    261 }}}
    262 
    263 {{{#!box type=comment
    264 Избришано
    265 }}}
    266 
    267 
    268 
    269 
    270 
    271 
    272 
     227