Змест[Схаваць][Паказаць]
Калі вы хочаце далей развівацца ў сваёй прафесіі інжынера-праграміста, вы павінны зразумець дызайн сістэмы. Гэта добрая ідэя, каб пачаць вывучэнне дызайну сістэмы, нават калі вы толькі пачынаеце кадзіраваць.
Вашы здольнасці да кадавання будуць у асноўным правярацца на пачатку вашай кар'еры. У гэтай публікацыі мы разгледзім канцэпцыі праектавання сістэмы, чаму вы павінны яе вывучаць, асноўныя абавязкі, якія выконваюцца на працягу ўсяго працэсу праектавання сістэмы, што такое стратэгія праектавання сістэмы і многае іншае.
Давайце пачнем.
Што такое дызайн сістэмы?
Працэс вызначэння аспектаў сістэмы, такіх як яе архітэктура, модулі і кампаненты, а таксама іх розныя інтэрфейсы і дадзеныя, якія праходзяць праз яе, вядомы як праектаванне сістэмы.
Ён прызначаны для задавальнення канкрэтных мэтаў і патрабаванняў кампаніі або арганізацыі шляхам стварэння лагічнай і эфектыўнай сістэмы. Правільныя дызайнерскія ідэі і падыходы забяспечваюць дарожную карту для барацьбы са складанасцю праграм і маштабаванасцю.
Стратэгам па сістэмным дызайне і вопытным інжынерам-праграмістам было даручана стварыць гэты планn з адпаведным кіраўніцтвам.
Гаворка ідзе больш аб сістэмным аналізе, архітэктурных шаблонах, API, шаблонах праектавання і аб'яднанні ўсяго гэтага, чым аб кадаванні. Паколькі ваша прыкладанне можа вытрымаць архітэктурную нагрузку, распрацоўка вашай сістэмы ў адпаведнасці з патрабаваннямі вашага прыкладання можа ліквідаваць непатрэбныя выдаткі і намаганні па тэхнічным абслугоўванні, а таксама забяспечыць лепшы вопыт для канчатковых карыстальнікаў.
Якія дзве асноўныя стратэгіі праектавання сістэмы?
Найлепшая стратэгія праектавання сістэмы заўсёды вызначаецца патрабаваннямі сістэмы. Добрая сістэмная тактыка мяняецца ў залежнасці ад таго, працуеце вы з існуючымі сістэмамі або пачынаеце з нуля.
Акрамя гібрыднага метаду, які ў асноўным уключае дзве тактыкі, ёсць дзве асноўныя стратэгіі для праектавання сістэмы. Давайце паглядзім на гэтыя два падыходы да праектавання сістэмы.
1. Стратэгія «знізу ўверх».
Падсістэмы і кампаненты самага нізкага ўзроўню (нават субкампаненты) распрацоўваюцца першымі ў гэтай методыцы праектавання сістэмы. Падсістэмы больш высокага ўзроўню і больш буйныя кампаненты могуць быць распрацаваны больш лёгка і эфектыўна, калі гэтыя кампаненты будуць распрацаваны загадзя. Гэта эканоміць час на разведку і ліквідацыю непаладак.
Працэс аб'яднання кампанентаў ніжэйшага ўзроўню ў большыя наборы паўтараецца, пакуль уся сістэма не будзе складзена з аднаго кампанента. Такі падыход таксама робіць агульныя рашэнні і нізкаўзроўневыя рэалізацыі больш прыдатнымі для шматразовага выкарыстання. Калі чакаецца, што ўзровень абстракцыі будзе высокім, гэты метад ідэальны.
Аднак з-за таго, што гэты метад не інтэграваны ў структуру пытанняў, з яго дапамогай складана распрацаваць высакаякасныя рашэнні. З-за высокай ступені абстракцыі таксама можна выкарыстоўваць дадатковыя функцыі, якія з'яўляюцца найбольш эфектыўнымі.
2. Стратэгія «зверху ўніз».
Гэты стыль дызайну аддае перавагу разбіўцы сістэмы на падсістэмы і кампаненты. Замест канструявання знізу ўверх, як у тэхніцы «знізу ўверх», стратэгія «зверху ўніз» спачатку асэнсоўвае ўсю сістэму, перш чым разбіваць яе на падсістэмы.
Затым гэтыя падсістэмы ствараюцца і падзяляюцца на меншыя падсістэмы і наборы кампанентаў, якія задавальняюць патрэбы большай сістэмы. Замест таго, каб разглядаць гэтыя падсістэмы як асобныя рэчы, гэты метад разглядае ўсю сістэму як адзіны аб'ект.
Падсістэмы разглядаюцца як незалежныя адзінкі, калі сістэма ў канчатковым рахунку задумана і падзелена ў адпаведнасці са сваімі асаблівасцямі. Затым кампаненты арганізуюцца ў іерархічнай структуры, пакуль не будзе распрацаваны самы нізкі ўзровень сістэмы. Гэты метад дакладна вызначаны і не заахвочвае да абстракцыі.
Тэхніка «зверху ўніз» з'яўляецца тыповай для вельмі высокай якасці, паколькі працэс праектавання працягвае вызначаць падсістэмы і кампаненты па меры іх адпавядання сістэме, што прыводзіць да высокаэфектыўнай, спагаднай і дзейснай сістэмы.
Рашэнні, з іншага боку, не з'яўляюцца агульнымі і не могуць быць выкарыстаны шырока. Гэтыя сістэмы таксама маюць больш складаную канструкцыю і іх складаней абслугоўваць.
З іншага боку, метады гібрыднага праектавання спалучаюць у сабе высакаякасныя характарыстыкі метаду «зверху ўніз» з магчымасцю паўторнага выкарыстання і добра арганізаванай структурай метаду «знізу ўверх». У выніку большасць сістэм з'яўляюцца найбольш паспяховай тэхнікай праектавання сістэмы.
Якія розныя падгрупы праектавання сістэмы?
Падгрупы дызайну сістэмы наступныя:
1. Лагічнае праектаванне
Гэта абстракцыя сістэмнага патоку даных, уваходаў і вывадаў. Ён апісвае крыніцы, пункты прызначэння, сховішчы даных і патокі даных такім чынам, каб адпавядаць патрабаванням карыстальніка. Лагічная канструкцыя сістэмы ствараецца са ступенню дэталізацыі, якая практычна тлумачыць, як інфармацыя паступае ў сістэму і з яе. Выкарыстоўваюцца дыяграмы ER і патокаў даных.
2. Фізічны дызайн
Фізічны дызайн звязаны з рэальнымі працэсамі ўводу і вываду сістэмы. Асноўныя мэты фізічнага дызайну - кантраляваць, як даныя правяраюцца, апрацоўваюцца і паказваюцца ў выніку. У першую чаргу ён сканцэнтраваны на дызайне карыстальніцкага інтэрфейсу, працэсе і даных.
3. Архітэктурны дызайн
Ён таксама вядомы як высокі ўзровень дызайну, паколькі ён падкрэслівае дызайн сістэмнай архітэктуры. У ім абмяркоўваюцца прырода і паходжанне сістэмы.
4. Дэталёвы праект
Ён заснаваны на архітэктурным дызайне і падкрэслівае рост кожнага прадмета.
Якія асноўныя задачы выконваюцца ў працэсе праектавання сістэмы?
1. Стварыце вызначэнне дызайну
- Сплануйце і вызначце тэхналогіі, якія будуць выкарыстоўвацца для стварэння і ўкаранення кампанентаў сістэмы і фізічных інтэрфейсаў.
- Вызначце, якія тэхналогіі і кампаненты сістэмы знаходзяцца пад пагрозай састарэння або эвалюцыі на працягу ўсяго этапу працы сістэмы. Падрыхтуйцеся да іх магчымай замены.
- Задакументуйце падыход да вызначэння дызайну, уключаючы любыя спрыяльныя сістэмы, тавары ці паслугі, неабходныя для завяршэння дызайну.
2. Вызначце атрыбуты афармлення
- Вызначце крытэрыі праектавання, якія адносяцца да архітэктурных асаблівасцей, і пераканайцеся, што яны могуць быць рэалізаваны.
- Вызначце любыя інтэрфейсы, якія не былі створаны на этапе архітэктуры сістэмы або якія неабходна вызначыць па меры таго, як дэталі дызайну стануць больш дэталёвымі.
- Вызначце і запішыце атрыбуты дызайну кожнага элемента сістэмы.
3. Разгледзьце варыянты атрымання кампанентаў
- Вывучыце варыянты дызайну.
- Выбірайце лепшыя варыянты.
- Калі будзе вырашана распрацаваць элемент сістэмы, будуць задзейнічаны астатнія працэсы распрацоўкі і рэалізацыі. Калі элемент сістэмы трэба набыць або выкарыстоўваць паўторна, для яго атрымання можна выкарыстоўваць метад набыцця.
4. Арганізаваць афармленне
- Захавайце і адсочвайце аргументацыю кожнага дызайнерскага і архітэктурнага рашэння.
- Ацэньвайце і падтрымлівайце кантроль над развіццём атрыбутаў дызайну.
Чаму вы павінны навучыцца дызайну сістэмы?
Адбылося некалькі прарываў у маштабе вэб-прыкладання на працягу двух папярэдніх дзесяцігоддзяў. Гэтыя новаўвядзенні змянілі наш погляд на распрацоўку праграмнага забеспячэння.
Facebook, Instagram і Twitter, сярод іншых прыкладанняў і сэрвісаў, якімі мы карыстаемся штодня, з'яўляюцца маштабуемымі сістэмамі. Паколькі гэтыя сістэмы адначасова выкарыстоўваюцца мільярдамі людзей па ўсім свеце, яны павінны быць створаны для кіравання велізарнымі аб'ёмамі трафіку і даных. Тут у гульню ўступае дызайн сістэмы.
Вы павінны будзеце разумець ідэі дызайну сістэмы і як іх прымяняць як інжынер-праграміст. Вывучэнне дызайну сістэмы на ранніх этапах вашай кар'еры можа дапамагчы вам больш упэўнена сутыкацца з цяжкасцямі распрацоўкі праграмнага забеспячэння і прымяняць ідэі дызайну ў сваёй штодзённай працы.
Дызайн сістэмы стане больш важным элементам вашага працэсу інтэрв'ю, калі вы будзеце прасоўвацца па кар'еры і пачнеце інтэрв'ю на пасады больш высокага ўзроўню. Такім чынам, незалежна ад вашага ўзроўню кваліфікацыі, дызайн сістэмы важны.
Перавагі праектавання сістэмы
- Гэта паскарае працэдуру.
- Гэта зніжае кошт дызайну.
- Неадпаведнасці ліквідаваны.
- Ён мае некалькі рэсурсаў.
- Гэта палягчае і спрашчае жыццё кліента.
заключэнне
Перавагай гэтага з'яўляецца паляпшэнне якасці кампаніі, а таксама павелічэнне прыбытковасці.
Функцыянальная сістэма забяспечвае аптымальны кантроль якасці, а таксама зніжэнне вытворчых выдаткаў за кошт прадукту і апрацоўкі дадзеных. Гэта патрабаванне ў любой галіны або вобласці.
Пакінуць каментар