Obsah[Skrýt][Ukázat]
Pokud se chcete dále rozvíjet ve své profesi softwarového inženýra, musíte pochopit návrh systému. Je dobré začít studovat návrh systému, i když s kódováním teprve začínáte.
Na začátku své kariéry budete z velké části testováni na své kódovací schopnosti. V tomto příspěvku se podíváme na koncepty návrhu systému, proč byste jej měli studovat, na primární povinnosti vykonávané během procesu návrhu systému, co je strategie návrhu systému a mnohem více.
Pojďme začít.
Co je návrh systému?
Proces definování aspektů systému, jako je jeho architektura, moduly a komponenty, stejně jako jejich různá rozhraní a data, která jím protékají, se nazývá návrh systému.
Je navržen tak, aby splnil konkrétní cíle a požadavky společnosti nebo organizace vytvořením logického a efektivního systému. Správné designové nápady a přístupy poskytují cestovní mapu pro zvládnutí složitosti a škálovatelnosti programu.
Stratégové návrhu systému a ostřílení softwaroví inženýři byli pověřeni úkolem vytvořit tento plánn s vhodným vedením.
Je to více o analýze systémů, architektonických vzorech, API, návrhových vzorech a jejich slepení dohromady než o kódování. Vzhledem k tomu, že vaše aplikace může nést architektonickou zátěž, navržení vašeho systému adekvátně pro požadavky vaší aplikace může eliminovat zbytečné náklady a úsilí o údržbu a také poskytnout lepší zkušenosti vašim koncovým uživatelům.
Jaké jsou dvě základní strategie návrhu systému?
Nejlepší strategie návrhu systému je vždy určena požadavky systému. Dobrá systémová taktika se mění v závislosti na tom, zda pracujete se stávajícími systémy nebo začínáte od nuly.
Kromě hybridní metody, která v zásadě zahrnuje obě taktiky, existují dvě hlavní strategie návrhu systému. Podívejme se na tyto dva přístupy k návrhu systému.
1. Strategie zdola nahoru
Subsystémy a komponenty nejnižší úrovně (dokonce i dílčí komponenty) jsou navrženy jako první v této technice návrhu systému. Subsystémy vyšší úrovně a větší komponenty pak mohou být vyvíjeny snadněji a efektivněji, pokud jsou tyto komponenty navrženy předem. To šetří čas na průzkum a odstraňování problémů.
Proces spojování komponent nižší úrovně do větších sad se opakuje, dokud není celý systém tvořen jedinou komponentou. Tento přístup také činí generická řešení a nízkoúrovňové implementace více znovupoužitelnými. Pokud se očekává vysoká úroveň abstrakce, je tato metoda ideální.
Protože však tato metoda není integrována se strukturou problematiky, je obtížné s ní vyvinout vysoce kvalitní řešení. Vzhledem k vysokému stupni abstrakce je také možné použít nadbytečné funkce, které jsou nejúčinnější.
2. Strategie shora dolů
Tento designový styl upřednostňuje rozdělení systému na subsystémy a komponenty. Spíše než konstruování zdola nahoru, jako je tomu u techniky zdola nahoru, strategie shora dolů nejprve konceptualizuje celý systém, než jej rozloží na subsystémy.
Tyto subsystémy jsou pak vytvořeny a rozděleny do menších subsystémů a sad komponent, které splňují potřeby většího systému. Namísto toho, aby se s těmito subsystémy zacházelo jako s oddělenými věcmi, tato metoda zachází s celým systémem jako s jediným objektem.
Subsystémy jsou považovány za nezávislé entity, když je systém nakonec koncipován a oddělen podle svých vlastností. Komponenty jsou pak organizovány v hierarchickém rámci, dokud není navržena nejnižší úroveň systému. Tato metoda je dobře definovaná a nepodporuje abstrakci.
Technika shora dolů je typická pro vysokou kvalitu, protože proces návrhu neustále definuje subsystémy a komponenty tak, jak se hodí k systému, což vede k vysoce efektivnímu, citlivému a efektivnímu systému.
Řešení na druhou stranu nejsou generická a nelze je široce využívat. Tyto systémy mají také složitější design a je náročnější na údržbu.
Techniky hybridního návrhu na druhé straně kombinují vysoce kvalitní vlastnosti metody shora dolů s opětovnou použitelností metody zdola nahoru a dobře organizovanými strukturami. V důsledku toho je většina systémů nejúspěšnější technikou návrhu systému.
Jaké jsou různé podmnožiny návrhu systému?
Podmnožiny návrhu systému jsou následující:
1. Logický návrh
Je to abstrakce datového toku, vstupů a výstupů systému. Popisuje zdroje, cíle, datová úložiště a datové toky způsobem, který splňuje požadavky uživatele. Logický návrh systému je vytvořen s ohledem na určitý stupeň detailů, který virtuálně vysvětluje, jak informace proudí dovnitř a ven ze systému. Používají se diagramy ER a datových toků.
2. Fyzický design
Fyzický návrh je propojen se skutečnými vstupními a výstupními procesy systému. Hlavním cílem fyzického návrhu je řídit, jak jsou data kontrolována, zpracovávána a jako důsledek zobrazena. Primárně se zaměřuje na návrh uživatelského rozhraní, procesní návrh a návrh dat.
3. Architektonický návrh
Je také známý jako vysoká úroveň designu, protože klade důraz na návrh systémové architektury. Pojednává o povaze a původu systému.
4. Detailní design
Je založen na architektonickém designu a klade důraz na růst každého předmětu.
Jaké jsou hlavní úkoly prováděné během procesu návrhu systému?
1. Vytvořte definici návrhu
- Naplánujte a identifikujte technologie, které budou použity k vybudování a implementaci systémových komponent a fyzických rozhraní.
- Určete, kterým technologiím a systémovým komponentům hrozí, že zastarají nebo se vyvinou v průběhu provozní fáze systému. Připravte se na jejich případnou výměnu.
- Zdokumentujte přístup k definici návrhu, včetně všech aktivačních systémů, zboží nebo služeb, které jsou nutné k dokončení návrhu.
2. Určete atributy návrhu
- Definujte kritéria návrhu, která se týkají architektonických prvků, a ujistěte se, že je lze implementovat.
- Definujte všechna rozhraní, která nebyla vytvořena během fáze systémové architektury nebo která je třeba definovat, když se detaily návrhu stanou podrobnějšími.
- Definujte a zaznamenejte atributy návrhu každého prvku systému.
3. Zvažte své možnosti získání komponent
- Prozkoumejte své alternativy designu.
- Vyberte nejlepší možnosti.
- Pokud se rozhodne vyvinout prvek systému, použije se zbytek procesu definice návrhu a implementace. Pokud má být prvek systému zakoupen nebo znovu použit, lze k jeho získání použít metodu akvizice.
4. Uspořádejte design
- Zachyťte a sledujte důvody každého návrhu a architektonického rozhodnutí.
- Vyhodnoťte a udržujte kontrolu nad vývojem atributů návrhu.
Proč byste se měli učit navrhování systému?
Došlo k několika průlomům ve velkém měřítku webové aplikace během předchozích dvou desetiletí. Tyto inovace změnily náš pohled na vývoj softwaru.
Facebook, Instagram a Twitter, kromě jiných aplikací a služeb, které denně používáme, jsou všechny škálovatelné systémy. Protože tyto systémy současně používají miliardy lidí po celém světě, musí být postaveny tak, aby zvládaly obrovské objemy provozu a dat. Zde vstupuje do hry systémový design.
Jako softwarový inženýr budete muset porozumět myšlenkám návrhu systému a tomu, jak je aplikovat. Naučit se navrhovat systém na začátku své kariéry vám může pomoci čelit problémům s návrhem softwaru s větší jistotou a aplikovat nápady na design ve vaší každodenní práci.
Návrh systému se stane větším prvkem vašeho procesu pohovoru, když pokročíte ve své kariéře a začnete pohovory na vyšší úrovně. Takže bez ohledu na úroveň vašich dovedností je důležitý návrh systému.
Výhody návrhu systému
- Urychluje to postup.
- Snižuje cenu designu.
- Nesrovnalosti jsou odstraněny.
- Má několik zdrojů.
- Zákazníkovi to usnadňuje a zjednodušuje život.
Proč investovat do čističky vzduchu?
To má tu výhodu, že zlepšuje kvalitu společnosti a zároveň zvyšuje ziskovost.
Funkční systém poskytuje optimální kontrolu kvality a také nižší výrobní náklady díky zpracování produktů a dat. Je to požadavek v každém odvětví nebo oboru.
Napsat komentář