Kazalo[Skrij][Pokaži]
Če se želite še naprej razvijati v svojem poklicu programskega inženirja, morate razumeti sistemsko načrtovanje. Dobro je, da začnete preučevati sistemsko načrtovanje, tudi če šele začenjate s kodiranjem.
Na začetku vaše kariere boste v veliki meri preizkušeni glede vaših sposobnosti kodiranja. V tem prispevku si bomo ogledali koncepte načrtovanja sistema, zakaj bi ga morali preučiti, glavne naloge, ki se izvajajo v celotnem procesu načrtovanja sistema, kaj je strategija načrtovanja sistema in še veliko več.
Začnimo.
Kaj je načrtovanje sistema?
Postopek definiranja vidikov sistema, kot so njegova arhitektura, moduli in komponente, pa tudi njihovi različni vmesniki in podatki, ki tečejo skozenj, je znan kot načrtovanje sistema.
Zasnovan je za izpolnitev posebnih ciljev in zahtev podjetja ali organizacije z ustvarjanjem logičnega in učinkovitega sistema. Prave oblikovalske ideje in pristopi zagotavljajo načrt za spopadanje s kompleksnostjo in razširljivostjo programa.
Strategi za načrtovanje sistemov in izkušeni inženirji programske opreme so bili zadolženi za ustvarjanje tega programan z ustreznim vodstvom.
Gre bolj za analizo sistemov, arhitekturne vzorce, API-je, vzorce oblikovanja in lepljenje vsega skupaj kot za kodiranje. Ker lahko vaša aplikacija prenese arhitekturno obremenitev, lahko oblikovanje sistema, ki ustreza zahtevam vaše aplikacije, odpravi nepotrebne stroške in vzdrževalna prizadevanja ter zagotovi boljšo izkušnjo za vaše končne uporabnike.
Kateri sta dve temeljni strategiji načrtovanja sistema?
Najboljšo strategijo načrtovanja sistema vedno določajo zahteve sistema. Dobre sistemske taktike se spreminjajo glede na to, ali delate z obstoječimi sistemi ali začenjate iz nič.
Razen hibridne metode, ki v bistvu vključuje obe taktiki, obstajata dve glavni strategiji za načrtovanje sistema. Oglejmo si ta dva pristopa k oblikovanju sistema.
1. Strategija od spodaj navzgor
Podsistemi in komponente najnižje ravni (celo podkomponente) so najprej zasnovane v tej tehniki načrtovanja sistema. Podsisteme višje ravni in večje komponente je nato mogoče hitreje in učinkoviteje razviti, če so te komponente zasnovane vnaprej. To prihrani čas pri pregledovanju in odpravljanju težav.
Postopek združevanja komponent nižje ravni v večje sklope se ponavlja, dokler ni celoten sistem sestavljen iz ene same komponente. S tem pristopom so generične rešitve in nizkonivojske izvedbe tudi bolj uporabne. Kadar se pričakuje visoka stopnja abstrakcije, je ta metoda idealna.
Ker pa ta metoda ni integrirana s strukturo vprašanj, je z njo težko razviti kakovostne rešitve. Zaradi visoke stopnje abstrakcije je možna tudi uporaba odvečnih funkcij, ki so najbolj učinkovite.
2. Strategija od zgoraj navzdol
Ta slog oblikovanja daje prednost razčlenitvi sistema na podsisteme in komponente. Namesto konstruiranja od spodaj navzgor, kot pri tehniki od spodaj navzgor, strategija od zgoraj navzdol najprej konceptualizira celoten sistem, preden ga razdeli na podsisteme.
Ti podsistemi se nato ustvarijo in ločijo na manjše podsisteme in sklope komponent, ki izpolnjujejo potrebe večjega sistema. Namesto da bi te podsisteme obravnavali kot ločene stvari, ta metoda obravnava celoten sistem kot en sam objekt.
Podsistemi se štejejo za neodvisne entitete, ko je sistem končno zasnovan in ločen glede na njegove značilnosti. Komponente so nato organizirane v hierarhičnem okviru, dokler ni oblikovana najnižja raven sistema. Ta metoda je dobro definirana in ne spodbuja abstrakcije.
Tehnika od zgoraj navzdol je značilna za zelo visoko kakovost, saj proces oblikovanja še naprej definira podsisteme in komponente, kot se prilegajo sistemu, kar ima za posledico zelo učinkovit, odziven in učinkovit sistem.
Po drugi strani pa rešitve niso generične in jih ni mogoče široko uporabljati. Ti sistemi imajo tudi bolj zapleteno zasnovo in jih je težje vzdrževati.
Po drugi strani pa tehnike hibridnega načrtovanja združujejo visokokakovostne lastnosti metode od zgoraj navzdol z možnostjo ponovne uporabe in dobro organiziranimi strukturami metode od spodaj navzgor. Posledično je večina sistemov najuspešnejša tehnika načrtovanja sistema.
Kateri so različni podsklopi načrtovanja sistema?
Podmnožice zasnove sistema so naslednje:
1. Logično oblikovanje
Je abstrakcija podatkovnega toka, vhodov in izhodov sistema. Opisuje vire, cilje, repozitorije podatkov in tokove podatkov na način, ki ustreza zahtevam uporabnika. Logična zasnova sistema je ustvarjena z upoštevanjem določene stopnje podrobnosti, ki praktično pojasni, kako informacije tečejo v sistem in iz njega. Uporabljeni so ER in diagrami pretoka podatkov.
2. Fizično oblikovanje
Fizična zasnova je povezana z dejanskimi vhodnimi in izhodnimi procesi sistema. Ključni cilji fizičnega oblikovanja so nadzor nad tem, kako se podatki preverjajo, obdelujejo in posledično prikazujejo. Osredotoča se predvsem na oblikovanje uporabniškega vmesnika, načrtovanje procesov in načrtovanje podatkov.
3. Arhitekturno oblikovanje
Znana je tudi kot visoka stopnja oblikovanja, saj poudarja zasnovo sistemske arhitekture. Razpravlja o naravi in izvoru sistema.
4. Podrobna zasnova
Temelji na arhitekturnem oblikovanju in poudarja rast vsakega predmeta.
Katere so glavne naloge, ki se izvajajo med procesom načrtovanja sistema?
1. Ustvarite definicijo oblikovanja
- Načrtujte in določite tehnologije, ki bodo uporabljene za izdelavo in implementacijo sistemskih komponent in fizičnih vmesnikov.
- Ugotovite, katere tehnologije in sistemske komponente so v nevarnosti, da bodo zastarele ali se bodo razvijale v fazi delovanja sistema. Pripravite se na njihovo morebitno zamenjavo.
- Dokumentirajte pristop k opredelitvi zasnove, vključno z vsemi omogočitvenimi sistemi, blagom ali storitvami, ki so potrebni za dokončanje zasnove.
2. Določite oblikovne atribute
- Določite oblikovalska merila, ki se nanašajo na arhitekturne značilnosti, in se prepričajte, da jih je mogoče izvesti.
- Določite vse vmesnike, ki niso bili vzpostavljeni med fazo sistemske arhitekture ali ki jih je treba definirati, ko bodo podrobnosti zasnove postale podrobnejše.
- Definirajte in zabeležite oblikovne atribute vsakega elementa sistema.
3. Razmislite o svojih možnostih za pridobitev komponent
- Preglejte svoje možnosti oblikovanja.
- Izberite najboljše možnosti.
- Če se odločimo za razvoj sistemskega elementa, bodo uporabljeni ostali procesi opredelitve zasnove in izvedbe. Če je treba sistemski element kupiti ali ponovno uporabiti, ga je mogoče pridobiti z metodo pridobitve.
4. Organizirajte oblikovanje
- Zajemite in spremljajte razloge za vsako oblikovalsko in arhitekturno odločitev.
- Ocenite in ohranite nadzor nad napredovanjem atributov oblikovanja.
Zakaj bi se morali naučiti načrtovanja sistema?
Bilo je več prebojev v velikem obsegu spletne aplikacije v zadnjih dveh desetletjih. Te novosti so spremenile naš pogled na razvoj programske opreme.
Facebook, Instagram in Twitter, med drugimi aplikacijami in storitvami, ki jih uporabljamo vsak dan, so razširljivi sistemi. Ker te sisteme hkrati uporablja več milijard ljudi po vsem svetu, jih je treba zgraditi za upravljanje ogromnih količin prometa in podatkov. Tu pride v poštev načrtovanje sistema.
Kot programski inženir boste morali razumeti ideje za načrtovanje sistema in kako jih uporabiti. Učenje oblikovanja sistemov na začetku vaše kariere vam lahko pomaga pri soočanju s težavami pri načrtovanju programske opreme z večjo samozavestjo in uporabi oblikovalskih zamisli v vašem vsakodnevnem delu.
Sistemska zasnova bo postala večji element vašega procesa razgovora, ko boste napredovali v karieri in začeli opravljati razgovore za vloge na višji ravni. Torej, ne glede na vašo raven spretnosti, je načrtovanje sistema pomembno.
Prednosti zasnove sistema
- Pospeši postopek.
- Znižuje ceno oblikovanja.
- Nedoslednosti se odpravijo.
- Ima več virov.
- Strankam olajša in poenostavi življenje.
zaključek
Prednost tega je izboljšanje kakovosti podjetja, hkrati pa povečanje dobičkonosnosti.
Funkcionalen sistem zagotavlja optimalen nadzor kakovosti ter nižje stroške izdelave zaradi obdelave izdelkov in podatkov. To je zahteva v kateri koli industriji ali na katerem koli področju.
Pustite Odgovori