Sisukord[Peida][Näita]
Kui soovid oma erialal tarkvarainsenerina edasi areneda, pead haarama süsteemidisaini. Hea mõte on alustada süsteemidisaini õppimist isegi siis, kui alles alustate kodeerimisega.
Teid pannakse oma karjääri alguses suures osas proovile oma kodeerimisoskused. Selles postituses vaatleme süsteemi disaini kontseptsioone, miks peaksite seda uurima, peamisi ülesandeid, mida kogu süsteemi projekteerimise protsessis täidetakse, mis on süsteemi disainistrateegia ja palju muud.
Alustagem.
Mis on süsteemi disain?
Süsteemi aspektide, nagu arhitektuur, moodulid ja komponendid, samuti nende erinevate liideste ja seda läbivate andmete määratlemise protsessi nimetatakse süsteemi kujundamiseks.
See on loodud ettevõtte või organisatsiooni konkreetsete eesmärkide ja nõuete täitmiseks, luues loogilise ja tõhusa süsteemi. Õiged kujundusideed ja lähenemisviisid annavad teekaardi programmi keerukuse ja skaleeritavusega toimetulemiseks.
Süsteemi disaini strateegid ja kogenud tarkvarainsenerid on saanud ülesandeks luua see plan sobiva juhendamisega.
See puudutab rohkem süsteemianalüüsi, arhitektuurimustreid, API-sid, disainimustreid ja selle kõige kokku liimimist, mitte kodeerimist. Kuna teie rakendus talub arhitektuurset koormust, võib süsteemi adekvaatne projekteerimine teie rakenduse nõuetele välistada tarbetud kulud ja hooldustööd ning pakkuda lõppkasutajatele paremat kasutuskogemust.
Millised on süsteemi kavandamise kaks põhistrateegiat?
Süsteemi parima disainistrateegia määravad alati süsteemi nõuded. Hea süsteemitaktika muutub sõltuvalt sellest, kas töötate olemasolevate süsteemidega või alustate nullist.
Peale hübriidmeetodi, mis põhimõtteliselt hõlmab kahte taktikat, on süsteemi kujundamisel kaks peamist strateegiat. Vaatame neid kahte süsteemi kujundamise lähenemisviisi.
1. Alt-üles strateegia
Alamsüsteemid ja madalaima taseme komponendid (isegi alamkomponendid) kujundatakse selle süsteemi kavandamise tehnika puhul kõigepealt. Kõrgema taseme allsüsteeme ja suuremaid komponente saab seejärel hõlpsamini ja tõhusamalt arendada, kui need komponendid on eelnevalt kavandatud. See säästab aega taasloomisel ja tõrkeotsingul.
Madalama taseme komponentide suuremateks komplektideks ühendamise protsessi korratakse seni, kuni kogu süsteem koosneb ühest komponendist. See lähenemisviis muudab ka üldised lahendused ja madala taseme juurutused korduvkasutatavamaks. Kui eeldatakse, et abstraktsioonitase on kõrge, on see meetod ideaalne.
Kuna see meetod ei ole aga küsimuste struktuuriga integreeritud, on sellega kvaliteetseid lahendusi keeruline välja töötada. Suure abstraktsiooniastme tõttu on võimalik kasutada ka üleliigseid funktsioone, mis on kõige tõhusamad.
2. Ülevalt alla strateegia
See disainistiil seab prioriteediks süsteemi jaotamise alamsüsteemideks ja komponentideks. Selle asemel, et konstrueerida alt üles, nagu alt-üles tehnikas, kontseptualiseerib ülalt-alla strateegia kõigepealt kogu süsteemi, enne kui jagab selle alamsüsteemideks.
Seejärel luuakse need alamsüsteemid ja jagatakse need väiksemateks alamsüsteemideks ja komponentide komplektideks, mis vastavad suurema süsteemi vajadustele. Selle asemel, et käsitleda neid alamsüsteeme eraldi asjadena, käsitleb see meetod kogu süsteemi ühe objektina.
Alamsüsteeme käsitletakse iseseisvate üksustena, kui süsteem on lõpuks välja mõeldud ja eraldatud vastavalt selle omadustele. Seejärel korraldatakse komponendid hierarhilises raamistikus kuni süsteemi madalaima tasemeni. See meetod on täpselt määratletud ega soodusta abstraktsiooni.
Ülalt-alla meetod on tüüpiline kõrge kvaliteediga, kuna projekteerimisprotsess määratleb alamsüsteemid ja komponendid nii, nagu need süsteemiga sobivad, mille tulemuseks on väga tõhus, tundlik ja tõhus süsteem.
Lahendused seevastu ei ole üldised ja neid ei saa laialdaselt kasutada. Need süsteemid on ka keerukama konstruktsiooniga ja neid on raskem hooldada.
Hübriiddisaini tehnikad seevastu ühendavad ülalt-alla meetodi kvaliteetsed omadused alt-üles meetodi korduvkasutatavuse ja hästi organiseeritud struktuuridega. Selle tulemusena on enamik süsteeme kõige edukamad süsteemikujundustehnikad.
Millised on süsteemi disaini erinevad alamhulgad?
Süsteemi disaini alamhulgad on järgmised:
1. Loogiline disain
See on süsteemi andmevoo, sisendite ja väljundite abstraktsioon. See kirjeldab allikaid, sihtkohti, andmehoidlaid ja andmevooge viisil, mis vastab kasutaja nõuetele. Süsteemi loogiline ülesehitus on loodud teatud detailsust silmas pidades, mis praktiliselt selgitab, kuidas info süsteemist sisse ja välja voolab. Kasutatakse ER ja andmevoo diagramme.
2. Füüsiline disain
Füüsiline disain on seotud süsteemi tegelike sisend- ja väljundprotsessidega. Füüsilise disaini põhieesmärgid on kontrollida, kuidas andmeid kontrollitakse, töödeldakse ja sellest tulenevalt näidatakse. See keskendub peamiselt kasutajaliidese disainile, protsesside kujundamisele ja andmete kujundamisele.
3. Arhitektuurne projekteerimine
Seda tuntakse ka kui kõrgetasemelist disaini, kuna see rõhutab süsteemiarhitektuuri disaini. See käsitleb süsteemi olemust ja päritolu.
4. Detailprojekt
See põhineb arhitektuursel disainil ja rõhutab iga teema kasvu.
Millised on peamised ülesanded, mida süsteemi projekteerimise käigus tehakse?
1. Loo disaini definitsioon
- Planeerige ja tuvastage tehnoloogiad, mida kasutatakse süsteemi komponentide ja füüsiliste liideste ehitamiseks ja juurutamiseks.
- Tehke kindlaks, millised tehnoloogiad ja süsteemikomponendid võivad süsteemi tööetapi jooksul vananeda või areneda. Tehke ettevalmistusi nende võimalikuks asendamiseks.
- Dokumenteerige disaini määratluse lähenemisviis, sealhulgas kõik lubavad süsteemid, kaubad või teenused, mis on vajalikud kujunduse lõpuleviimiseks.
2. Määrake disaini atribuudid
- Määratlege arhitektuuriliste omadustega seotud projekteerimiskriteeriumid ja veenduge, et neid saab rakendada.
- Määratlege kõik liidesed, mida süsteemiarhitektuuri etapis ei loodud või mis tuleb määratleda, kui disaini üksikasjad muutuvad üksikasjalikumaks.
- Määratlege ja salvestage iga süsteemielemendi kujundusatribuudid.
3. Kaaluge oma võimalusi komponentide hankimiseks
- Uurige oma disaini alternatiive.
- Valige parimad valikud.
- Kui otsustatakse süsteemielement välja töötada, rakendatakse ülejäänud disaini määratlemise ja juurutamise protsesse. Kui süsteemi elementi tuleb osta või uuesti kasutada, saab selle hankimiseks kasutada hankimismeetodit.
4. Korraldage kujundus
- Jäädvustage ja jälgige iga disaini- ja arhitektuuriotsuse põhjendusi.
- Hinnake disaini atribuutide arengut ja säilitage kontroll selle üle.
Miks peaksite õppima süsteemi disaini?
Suures mastaabis on toimunud mitmeid läbimurdeid veebirakendused viimase kahe aastakümne jooksul. Need uuendused on muutnud meie vaatenurka tarkvaraarendusele.
Facebook, Instagram ja Twitter ning muud igapäevaselt kasutatavad rakendused ja teenused on kõik skaleeritavad süsteemid. Kuna neid süsteeme kasutavad samaaegselt miljardid inimesed üle kogu maailma, tuleb need ehitada suure liiklus- ja andmemahtude haldamiseks. Siin tuleb mängu süsteemi disain.
Peate mõistma süsteemi disaini ideid ja nende rakendamist tarkvarainsenerina. Õppesüsteemi kujundamise õppimine karjääri alguses võib aidata teil enesekindlamalt silmitsi seista tarkvara kujundamise raskustega ja rakendada disainiideid oma igapäevatöös.
Süsteemi ülesehitus muutub teie vestlusprotsessi olulisemaks elemendiks, kui jätkate oma karjääri ja alustate intervjuusid kõrgema taseme rollide jaoks. Seega, olenemata teie oskuste tasemest, on süsteemi disain oluline.
Süsteemi disaini eelised
- See kiirendab protseduuri.
- See alandab disaini hinda.
- Vastuolud kõrvaldatakse.
- Sellel on mitu ressurssi.
- See muudab kliendi elu lihtsamaks ja lihtsamaks.
Järeldus
Selle eeliseks on ettevõtte kvaliteedi parandamine, suurendades samal ajal ka kasumlikkust.
Funktsionaalne süsteem tagab optimaalse kvaliteedikontrolli ja madalamad tootmiskulud tänu toote- ja andmetöötlusele. See on nõue igas tööstusharus või valdkonnas.
Jäta vastus