Obsah[Skryť][Šou]
Ak sa chcete ďalej rozvíjať vo svojej profesii softvérového inžiniera, musíte pochopiť návrh systému. Je dobré začať študovať dizajn systému, aj keď s kódovaním ešte len začínate.
Na začiatku svojej kariéry budete z veľkej časti testovaní na svoje schopnosti kódovania. V tomto príspevku sa pozrieme na koncepty návrhu systému, prečo by ste ho mali študovať, hlavné povinnosti vykonávané počas procesu návrhu systému, čo je stratégia návrhu systému a oveľa viac.
Poďme začať.
Čo je návrh systému?
Proces definovania aspektov systému, ako je jeho architektúra, moduly a komponenty, ako aj ich rôzne rozhrania a údaje, ktoré ním pretekajú, sa nazýva návrh systému.
Je navrhnutý tak, aby spĺňal konkrétne ciele a požiadavky spoločnosti alebo organizácie vytvorením logického a efektívneho systému. Správne dizajnové nápady a prístupy poskytujú plán na zvládnutie zložitosti a škálovateľnosti programu.
Úlohou vytvoriť túto pla bola poverená stratégia návrhu systému a skúsení softvéroví inžinierin s vhodným vedením.
Je to viac o systémovej analýze, architektonických vzoroch, API, dizajnových vzoroch a ich spájaní dohromady ako o kódovaní. Pretože vaša aplikácia znesie architektonickú záťaž, navrhnutie vášho systému adekvátne požiadavkám vašej aplikácie môže eliminovať zbytočné výdavky a úsilie o údržbu, ako aj poskytnúť vašim koncovým používateľom lepšiu skúsenosť.
Aké sú dve základné stratégie návrhu systému?
Najlepšia stratégia návrhu systému je vždy určená požiadavkami systému. Dobrá systémová taktika sa mení v závislosti od toho, či pracujete s existujúcimi systémami alebo začínate od nuly.
Okrem hybridnej metódy, ktorá v podstate zahŕňa tieto dve taktiky, existujú dve hlavné stratégie pre návrh systému. Pozrime sa na tieto dva prístupy k návrhu systému.
1. Stratégia zdola nahor
Pri tejto technike návrhu systému sa najskôr navrhujú podsystémy a komponenty najnižšej úrovne (dokonca aj podkomponenty). Subsystémy vyššej úrovne a väčšie komponenty môžu byť potom vyvinuté ľahšie a efektívnejšie, ak sú tieto komponenty navrhnuté vopred. To šetrí čas na rekonštrukciu a riešenie problémov.
Proces kombinovania komponentov nižšej úrovne do väčších súborov sa opakuje, až kým celý systém nebude tvorený jedným komponentom. Tento prístup tiež robí generické riešenia a implementácie na nízkej úrovni viac opakovane použiteľné. Ak sa očakáva vysoká úroveň abstrakcie, táto metóda je ideálna.
Keďže však táto metóda nie je integrovaná so štruktúrou problémov, je ťažké s ňou vyvinúť kvalitné riešenia. Vzhľadom na vysoký stupeň abstrakcie je možné použiť aj nadbytočné funkcie, ktoré sú najefektívnejšie.
2. Stratégia zhora nadol
Tento štýl dizajnu uprednostňuje rozdelenie systému na podsystémy a komponenty. Namiesto vytvárania zdola nahor, ako pri technike zdola nahor, stratégia zhora nadol najskôr konceptualizuje celý systém a až potom ho rozdelí na podsystémy.
Tieto subsystémy sú potom vytvorené a rozdelené do menších subsystémov a súborov komponentov, ktoré spĺňajú potreby väčšieho systému. Namiesto toho, aby sa tieto podsystémy považovali za samostatné veci, táto metóda zaobchádza s celým systémom ako s jedným objektom.
Subsystémy sa považujú za nezávislé entity, keď je systém v konečnom dôsledku koncipovaný a oddelený podľa svojich vlastností. Komponenty sú potom organizované v hierarchickom rámci, kým nie je navrhnutá najnižšia úroveň systému. Táto metóda je dobre definovaná a nepodporuje abstrakciu.
Technika zhora nadol je typická pre vysokú kvalitu, pretože proces návrhu neustále definuje podsystémy a komponenty tak, ako sa hodia do systému, výsledkom čoho je vysoko efektívny, citlivý a efektívny systém.
Riešenia na druhej strane nie sú všeobecné a nemôžu byť široko využívané. Tieto systémy majú tiež zložitejšie konštrukcie a sú náročnejšie na údržbu.
Techniky hybridného dizajnu na druhej strane kombinujú vysokokvalitné vlastnosti metódy zhora nadol s opätovnou použiteľnosťou metódy zdola nahor a dobre organizovanými štruktúrami. Výsledkom je, že väčšina systémov je najúspešnejšou technikou návrhu systému.
Aké sú rôzne podmnožiny návrhu systému?
Podmnožiny návrhu systému sú nasledovné:
1. Logický dizajn
Je to abstrakcia toku údajov, vstupov a výstupov systému. Opisuje zdroje, ciele, dátové úložiská a dátové toky spôsobom, ktorý spĺňa požiadavky užívateľa. Logický návrh systému je vytvorený s ohľadom na určitý stupeň detailov, ktorý virtuálne vysvetľuje, ako informácie prúdia do a zo systému. Používajú sa diagramy ER a dátových tokov.
2. Fyzický dizajn
Fyzický dizajn je prepojený so skutočnými vstupnými a výstupnými procesmi systému. Hlavným cieľom fyzického dizajnu je kontrolovať, ako sa údaje kontrolujú, spracúvajú a ako dôsledok zobrazujú. Primárne sa zameriava na návrh používateľského rozhrania, návrh procesov a návrh údajov.
3. Architektonický dizajn
Je tiež známy ako vysoká úroveň dizajnu, pretože kladie dôraz na dizajn architektúry systému. Rozoberá povahu a pôvod systému.
4. Detailný dizajn
Vychádza z architektonického dizajnu a kladie dôraz na rast každého predmetu.
Aké sú hlavné úlohy vykonávané počas procesu návrhu systému?
1. Vytvorte definíciu dizajnu
- Plánujte a identifikujte technológie, ktoré sa použijú na zostavenie a implementáciu komponentov systému a fyzických rozhraní.
- Zistite, ktorým technológiám a systémovým komponentom hrozí zastaranie alebo vývoj počas prevádzkovej fázy systému. Pripravte sa na ich prípadnú výmenu.
- Zdokumentujte prístup k definícii návrhu vrátane všetkých podporných systémov, tovaru alebo služieb, ktoré sú potrebné na dokončenie návrhu.
2. Určite atribúty dizajnu
- Definujte kritériá návrhu, ktoré sa týkajú architektonických prvkov, a uistite sa, že ich možno implementovať.
- Definujte všetky rozhrania, ktoré neboli vytvorené počas fázy architektúry systému, alebo ktoré je potrebné definovať, keď budú detaily návrhu podrobnejšie.
- Definujte a zaznamenajte atribúty dizajnu každého prvku systému.
3. Zvážte svoje možnosti získania komponentov
- Preskúmajte svoje alternatívy dizajnu.
- Vyberte si najlepšie možnosti.
- Ak sa rozhodne o vývoji prvku systému, použije sa zvyšok procesu definovania návrhu a implementácie. Ak sa má prvok systému zakúpiť alebo opätovne použiť, na jeho získanie možno použiť metódu akvizície.
4. Usporiadajte dizajn
- Zachyťte a sledujte dôvody každého návrhu a architektonického rozhodnutia.
- Vyhodnoťte a udržujte kontrolu nad vývojom atribútov dizajnu.
Prečo by ste sa mali učiť dizajn systému?
Vo veľkom meradle došlo k niekoľkým prelomom webové aplikácie počas predchádzajúcich dvoch desaťročí. Tieto inovácie zmenili náš pohľad na vývoj softvéru.
Facebook, Instagram a Twitter, okrem iných aplikácií a služieb, ktoré používame na dennej báze, sú všetky škálovateľné systémy. Pretože tieto systémy súčasne používajú miliardy ľudí na celom svete, musia byť postavené tak, aby spravovali obrovské objemy prevádzky a dát. Tu vstupuje do hry systémový dizajn.
Ako softvérový inžinier budete musieť pochopiť nápady na návrh systému a ako ich aplikovať. Učenie sa dizajnu systému na začiatku vašej kariéry vám môže pomôcť čeliť ťažkostiam s návrhom softvéru s väčšou istotou a uplatniť nápady na dizajn vo svojej každodennej práci.
Návrh systému sa stane dôležitejším prvkom vášho procesu pohovoru, keď napredujete vo svojej kariére a začínate robiť pohovory na pozície na vyššej úrovni. Takže bez ohľadu na úroveň vašich zručností je dôležitý návrh systému.
Výhody návrhu systému
- Urýchľuje to postup.
- Znižuje cenu dizajnu.
- Nezrovnalosti sú odstránené.
- Má viacero zdrojov.
- Zákazníkom to uľahčuje a zjednodušuje život.
záver
To má tú výhodu, že zlepšuje kvalitu spoločnosti a zároveň zvyšuje ziskovosť.
Funkčný systém poskytuje optimálnu kontrolu kvality, ako aj nižšie výrobné náklady vďaka spracovaniu produktov a dát. Je to požiadavka v akomkoľvek odvetví alebo oblasti.
Nechaj odpoveď