Enhavtabelo[Kaŝi][Montri]
Se vi volas disvolvi plu en via profesio kiel programaro-inĝeniero, vi devas ekkompreni sisteman dezajnon. Estas bona ideo komenci studi sisteman dezajnon eĉ se vi ĵus komencas kun kodigo.
Vi estos plejparte provita pri viaj kodaj kapabloj frue en via kariero. Ni rigardos la konceptojn de sistema dezajnado, kial vi devus studi ĝin, la ĉefajn devojn plenumitajn dum la sistema dezajnprocezo, kio estas sistema desegna strategio, kaj multe pli en ĉi tiu afiŝo.
Komencu.
Kio estas sistema dezajno?
La procezo de difinado de la aspektoj de sistemo, kiel ekzemple ĝia arkitekturo, moduloj, kaj komponentoj, same kiel iliaj diversaj interfacoj kaj la datenoj kiuj fluas tra ĝi, estas konata kiel sistemdezajno.
Ĝi estas desegnita por plenumi la apartajn celojn kaj postulojn de kompanio aŭ organizo kreante logikan kaj efikan sistemon. La ĝustaj dezajnaj ideoj kaj aliroj disponigas la vojmapon por trakti programkompleksecon kaj skaleblon.
Sistemdezajnaj strategiistoj kaj spertaj softvarinĝenieroj ricevis la taskon krei ĉi tiun plan kun taŭga gvidado.
Temas pli pri sistema analizo, arkitekturaj ŝablonoj, APIoj, dezajnaj ŝablonoj kaj kungluado de ĉio ol pri kodigo. Ĉar via aplikaĵo povas elporti la arkitekturan ŝarĝon, projekti vian sistemon adekvate por la postuloj de via aplikaĵo povas forigi nenecesajn elspezojn kaj prizorgajn klopodojn, kaj ankaŭ provizi pli bonan sperton por viaj finaj uzantoj.
Kio estas la du fundamentaj strategioj de sistema dezajno?
La plej bona sistemdezajna strategio ĉiam estas determinita de la postuloj de la sistemo. Bonaj sistemaj taktikoj ŝanĝiĝas depende de ĉu vi laboras kun ekzistantaj sistemoj aŭ komencas de nulo.
Krom la hibrida metodo, kiu esence korpigas la du taktikojn, ekzistas du ĉefaj strategioj por sistema dezajno. Ni rigardu ĉi tiujn du sistemajn desegnajn alirojn.
1. Desupra strategio
La subsistemoj kaj plej malsupra-nivelaj komponentoj (eĉ sub-komponentoj) estas dizajnitaj unue en tiu sistema dezajnotekniko. Pli altnivelaj subsistemoj kaj pli grandaj komponentoj tiam povas esti evoluigitaj pli facile kaj efike se tiuj komponentoj estas dizajnitaj antaŭe. Ĉi tio ŝparas tempon pri rekonado kaj solvo de problemoj.
La procezo de kombinado de malsupra-nivelaj komponentoj en pli grandajn arojn estas ripetita ĝis la tuta sistemo konsistas el ununura komponento. Ĉi tiu aliro ankaŭ faras senmarkajn solvojn kaj malaltnivelajn efektivigojn pli reuzeblaj. Kiam la nivelo de abstraktado estas atendita esti alta, ĉi tiu metodo estas ideala.
Tamen, ĉar ĉi tiu metodo ne estas integrita kun la strukturo de la aferoj, altkvalitaj solvoj malfacilas disvolvi kun ĝi. Pro la alta grado de abstraktado, ankaŭ eblas uzi superfluajn funkciojn, kiuj estas la plej efikaj.
2. Desupra strategio
Ĉi tiu dezajnostilo prioritatas malkonstrui la sistemon en subsistemojn kaj komponentojn. Prefere ol konstrui de malsupre supren, kiel en la desupra tekniko, la desupra strategio unue konceptigas la tutan sistemon antaŭ malkonstrui ĝin en subsistemojn.
Tiuj subsistemoj tiam estas kreitaj kaj apartigitaj en pli malgrandajn subsistemojn kaj arojn de komponentoj kiuj plenumas la bezonojn de la pli granda sistemo. Anstataŭ trakti ĉi tiujn subsistemojn kiel apartajn aferojn, ĉi tiu metodo traktas la tutan sistemon kiel ununuran objekton.
La subsistemoj estas rigarditaj kiel sendependaj unuoj kiam la sistemo estas finfine elpensita kaj apartigita laŭ siaj trajtoj. La komponentoj tiam estas organizitaj en hierarkia kadro ĝis la plej malsupra nivelo de la sistemo estas dizajnita. Ĉi tiu metodo estas bone difinita kaj ne instigas abstraktadon.
La desupra tekniko estas karakteriza por tre alta kvalito ĉar la dezajnprocezo daŭre difinas subsistemojn kaj komponentojn kiam ili konvenas la sistemon, rezultigante tre efikan, respondeman, kaj efikan sistemon.
La solvoj, aliflanke, ne estas ĝeneralaj kaj ne povas esti vaste utiligitaj. Tiuj sistemoj ankaŭ havas pli kompleksajn dezajnojn kaj malfacilas pli konservi.
Hibridaj dezajnaj teknikoj, aliflanke, kombinas la altkvalitajn trajtojn de la desupra metodo kun la reuzebleco kaj bone organizitaj strukturoj de la desupra metodo. Kiel rezulto, la plej multaj sistemoj, estas la plej sukcesa sistemdezajna tekniko.
Kio estas la diversaj subaroj de sistema dezajno?
La subaroj de sistemdezajno estas kiel sekvas:
1. Logika Dezajno
Ĝi estas abstraktaĵo de la datumfluo, enigaĵoj kaj eliroj de la sistemo. Ĝi priskribas la fontojn, cellokojn, datumdeponejojn kaj datumfluojn en maniero kiel kiu renkontas la postulojn de la uzanto. La logika dezajno de sistemo estas kreita kun grado da detalo en menso kiu praktike klarigas kiel informoj fluas en kaj el la sistemo. La ER kaj datenfluodiagramoj estas utiligitaj.
2. Fizika Dezajno
Fizika dezajno estas ligita al la realaj enigo- kaj produktaĵprocezoj de la sistemo. La ĉefaj celoj de fizika dezajno estas kontroli kiel datumoj estas kontrolitaj, prilaboritaj kaj montritaj kiel sekvo. Ĝi ĉefe temigas la interfacdezajnon de la uzanto, procezdezajnon, kaj datendezajnon.
3. Arkitektura Projekto
Ĝi ankaŭ estas konata kiel la altnivela de dezajno ĉar ĝi emfazas sisteman arkitekturdezajnon. Ĝi diskutas la naturon kaj originojn de la sistemo.
4. Detala Dezajno
Ĝi baziĝas sur Arkitektura Dezajno kaj emfazas la kreskon de ĉiu temo.
Kiuj estas la ĉefaj taskoj plenumitaj dum la sistema desegna procezo?
1. Kreu la desegnan difinon
- Planu kaj identigu la teknologiojn, kiuj estos uzataj por konstrui kaj efektivigi la komponantojn kaj fizikajn interfacojn de la sistemo.
- Determinu, kiuj teknologioj kaj sistemaj komponantoj estas en danĝero de malmoderniĝi aŭ evolui dum la operacia stadio de la sistemo. Faru preparojn por ilia eventuala anstataŭaĵo.
- Dokumentu la projektan difinan aliron, inkluzive de ajnaj ebligaj sistemoj, varoj aŭ servoj kiuj estas postulataj por kompletigi la dezajnon.
2. Determini desegnajn atributojn
- Difinu la dezajnkriteriojn kiuj rilatas al la arkitekturaj trajtoj kaj certigu, ke ili povas esti efektivigitaj.
- Difinu iujn ajn interfacojn kiuj ne estis establitaj dum la System Architecture-fazo aŭ kiuj devas esti difinitaj kiam la dezajnodetaloj iĝas pli detalaj.
- Difinu kaj registri la projektajn atributojn de ĉiu sistema elemento.
3. Konsideru viajn eblojn por akiri komponantojn
- Ekzamenu viajn desegnajn alternativojn.
- Elektu la plej bonajn eblojn.
- Se estas decidite evoluigi la sistemelementon, la resto de la projektdifino kaj efektivigprocezoj estos utiligitaj. Se sistema elemento estas aĉetota aŭ reuzita, la akirmetodo povas esti utiligita por akiri ĝin.
4. Organizi la dezajnon
- Kaptu kaj observu la rezonadon malantaŭ ĉiu dezajno kaj arkitektura decido.
- Taksi kaj konservi kontrolon super la progresado de la dezajnaj atributoj.
Kial vi devus lerni sisteman dezajnon?
Okazis pluraj sukcesoj en grandskala retaj programoj dum la antaŭaj du jardekoj. Ĉi tiuj novigoj ŝanĝis nian perspektivon pri programaro.
Facebook, Instagram kaj Twitter, inter aliaj aplikaĵoj kaj servoj, kiujn ni uzas ĉiutage, estas ĉiuj skaleblaj sistemoj. Ĉar ĉi tiuj sistemoj estas uzataj de miliardoj da homoj tra la mondo samtempe, ili devas esti konstruitaj por administri amasajn volumojn de trafiko kaj datumoj. Sistemdezajno eniras ĉi tie.
Vi devos kompreni sistemajn desegnajn ideojn kaj kiel apliki ilin kiel programaro-inĝeniero. Lerni sisteman dezajnon frue en via kariero povas helpi vin alfronti programajn projektajn malfacilaĵojn kun pli da fido kaj apliki desegnajn ideojn al via ĉiutaga laboro.
Sistemo-dezajno fariĝos pli granda elemento de via intervjua procezo dum vi antaŭeniras en via kariero kaj komencos intervjui por pli altnivelaj roloj. Do, sendepende de via lerteco, sistema dezajno estas grava.
Avantaĝoj de sistema dezajno
- Ĝi plirapidigas la proceduron.
- Ĝi malaltigas la prezon de dezajno.
- Nekonsekvencoj estas eliminitaj.
- Ĝi havas plurajn rimedojn.
- Ĝi faras la vivon de la kliento pli facila kaj pli simpla.
konkludo
Ĉi tio havas la avantaĝon plibonigi firmaokvaliton samtempe pliigante profitecon.
Funkcia sistemo disponigas optimuman kvalitkontrolon same kiel pli malaltajn produktadkostojn pro produkto kaj datumtraktado. Ĝi estas postulo en iu ajn industrio aŭ kampo.
Lasi Respondon