Преглед садржаја[Сакрити][Прикажи]
Ако желите да се даље развијате у својој професији као софтверски инжењер, морате схватити системски дизајн. Добра је идеја да почнете да проучавате дизајн система чак и ако тек почињете са кодирањем.
Бићете у великој мери тестирани на своје способности кодирања на почетку каријере. Погледаћемо концепте дизајна система, зашто бисте га требали проучавати, примарне дужности које се обављају током процеса дизајна система, шта је стратегија дизајна система и још много тога у овом посту.
Почнимо.
Шта је дизајн система?
Процес дефинисања аспеката система, као што су његова архитектура, модули и компоненте, као и њихови различити интерфејси и подаци који пролазе кроз њега, познат је као дизајн система.
Дизајниран је да испуни посебне циљеве и захтеве компаније или организације стварањем логичног и ефикасног система. Праве дизајнерске идеје и приступи обезбеђују мапу пута за суочавање са сложеношћу и скалабилности програма.
Стратези за дизајн система и искусни софтверски инжењери добили су задатак да креирају ову платформун са одговарајућим упутством.
Више се ради о анализи система, архитектонским обрасцима, АПИ-јима, обрасцима дизајна и лепљењу свега тога него о кодирању. Пошто ваша апликација може да поднесе архитектонско оптерећење, дизајнирање вашег система адекватно за захтеве ваше апликације може елиминисати непотребне трошкове и напоре одржавања, као и пружити боље искуство вашим крајњим корисницима.
Које су две основне стратегије дизајна система?
Најбоља стратегија пројектовања система је увек одређена захтевима система. Добре системске тактике се мењају у зависности од тога да ли радите са постојећим системима или почињете од нуле.
Осим хибридне методе, која у основи укључује ове две тактике, постоје две главне стратегије за дизајн система. Хајде да погледамо ова два приступа дизајну система.
1. Стратегија одоздо према горе
Подсистеми и компоненте најнижег нивоа (чак и подкомпоненте) се прво пројектују у овој техници пројектовања система. Подсистеми вишег нивоа и веће компоненте могу се онда лакше и ефикасније развијати ако су ове компоненте пројектоване унапред. Ово штеди време на извиђању и решавању проблема.
Процес комбиновања компоненти нижег нивоа у веће скупове се понавља све док се цео систем не састоји од једне компоненте. Овај приступ такође чини генеричка решења и имплементације ниског нивоа више употребљивим. Када се очекује да ће ниво апстракције бити висок, овај метод је идеалан.
Међутим, пошто ова метода није интегрисана у структуру питања, тешко је развити висококвалитетна решења са њом. Због високог степена апстракције, могуће је користити и сувишне функције које су најефикасније.
2. Стратегија одозго надоле
Овај стил дизајна даје приоритет разбијању система на подсистеме и компоненте. Уместо да конструише одоздо према горе, као у техници одоздо према горе, стратегија одозго надоле прво концептуализује цео систем пре него што га разбије на подсистеме.
Ови подсистеми се затим креирају и раздвајају на мање подсистеме и скупове компоненти које испуњавају потребе већег система. Уместо да ове подсистеме третира као засебне ствари, овај метод третира цео систем као један објекат.
Подсистеми се сматрају независним ентитетима када је систем на крају конципиран и одвојен према својим карактеристикама. Компоненте се затим организују у хијерархијски оквир док се не дизајнира најнижи ниво система. Овај метод је добро дефинисан и не подстиче апстракцију.
Техника одозго надоле је типична за висококвалитетан јер процес пројектовања наставља да дефинише подсистеме и компоненте како се уклапају у систем, што резултира високо ефикасним, брзим и ефективним системом.
Решења, с друге стране, нису генеричка и не могу се широко користити. Ови системи такође имају сложенији дизајн и теже их је одржавати.
Технике хибридног дизајна, с друге стране, комбинују карактеристике високог квалитета методе одозго надоле са поновном употребом и добро организованим структурама методе одоздо према горе. Као резултат тога, већина система је најуспешнија техника пројектовања система.
Који су различити подскупови дизајна система?
Подскупови дизајна система су следећи:
1. Логички дизајн
То је апстракција системског тока података, улаза и излаза. Он описује изворе, одредишта, спремишта података и токове података на начин који испуњава захтеве корисника. Логички дизајн система креиран је са одређеним степеном детаља на уму који виртуелно објашњава како информације улазе и излазе из система. Користе се ЕР и дијаграми тока података.
2. Физички дизајн
Физички дизајн је повезан са стварним улазним и излазним процесима система. Кључни циљеви физичког дизајна су контрола како се подаци проверавају, обрађују и приказују као последица. Првенствено се фокусира на дизајн корисничког интерфејса, дизајн процеса и дизајн података.
3. Архитектонски дизајн
Такође је познат као висок ниво дизајна јер наглашава дизајн архитектуре система. У њему се говори о природи и пореклу система.
4. Главни пројекат
Заснован је на архитектонском дизајну и наглашава развој сваког предмета.
Који су главни задаци који се обављају током процеса пројектовања система?
1. Креирајте дефиницију дизајна
- Планирајте и идентификујте технологије које ће се користити за изградњу и имплементацију компоненти система и физичких интерфејса.
- Одредите које технологије и компоненте система су у опасности да постану застареле или да се развијају током оперативне фазе система. Припремите се за њихову евентуалну замену.
- Документујте приступ дефиницији дизајна, укључујући све системе који омогућавају, робу или услуге који су потребни за завршетак дизајна.
2. Одредите атрибуте дизајна
- Дефинишите критеријуме дизајна који се односе на архитектонске карактеристике и уверите се да се могу применити.
- Дефинишите све интерфејсе који нису успостављени током фазе архитектуре система или које треба дефинисати како детаљи дизајна постану детаљнији.
- Дефинишите и забележите дизајнерске атрибуте сваког елемента система.
3. Размотрите своје могућности за добијање компоненти
- Испитајте своје алтернативе дизајна.
- Изаберите најбоље опције.
- Ако се одлучи да се развије системски елемент, користиће се остатак процеса дефинисања дизајна и имплементације. Ако системски елемент треба да се купи или поново употреби, може се користити метода набавке да би се он добио.
4. Организујте дизајн
- Ухватите и пратите разлоге који стоје иза сваке дизајнерске и архитектонске одлуке.
- Процените и одржавајте контролу над напредовањем атрибута дизајна.
Зашто би требало да научите дизајн система?
Било је неколико великих открића веб апликације током претходне две деценије. Ове иновације су промениле наш поглед на развој софтвера.
Фацебоок, Инстаграм и Твиттер, између осталих апликација и услуга које свакодневно користимо, су скалабилни системи. Пошто ове системе користе милијарде људи широм света у исто време, они морају бити изграђени да управљају огромним количинама саобраћаја и података. Дизајн система овде долази у обзир.
Од вас ће се тражити да разумете идеје за дизајн система и како да их примените као софтверски инжењер. Учење дизајна система у раној фази каријере може вам помоћи да се суочите са потешкоћама у дизајну софтвера са више самопоуздања и примените дизајнерске идеје на свој свакодневни посао.
Дизајн система ће постати већи елемент вашег процеса интервјуа како напредујете у каријери и почнете да интервјуишете за улоге вишег нивоа. Дакле, без обзира на ниво ваше вештине, дизајн система је важан.
Предности дизајна система
- То убрзава процедуру.
- Смањује цену дизајна.
- Недоследности се елиминишу.
- Има неколико ресурса.
- То чини живот купца лакшим и једноставнијим.
Zakljucak
Ово има предност у побољшању квалитета компаније уз истовремено повећање профитабилности.
Функционални систем обезбеђује оптималну контролу квалитета као и ниже трошкове производње захваљујући обради производа и података. То је услов у било којој индустрији или пољу.
Ostavite komentar