Edukien aurkibidea[Ezkutatu][Erakutsi]
Software ingeniari gisa zure lanbidean gehiago garatu nahi baduzu, sistemaren diseinua ulertu behar duzu. Komeni da sistemaren diseinua aztertzen hastea kodeketarekin hasi berria bazara ere.
Zure kodeketa gaitasunak probatuko dituzu zure karrera hasieran. Sistemaren diseinuaren kontzeptuak, zergatik aztertu beharko zenukeen, sistemaren diseinu-prozesuan zehar egindako betebehar nagusiak, sistemaren diseinuaren estrategia zer den eta askoz gehiago ikusiko ditugu argitalpen honetan.
Dezagun hasteko.
Zer da sistemaren diseinua?
Sistema baten alderdiak definitzeko prozesuari, hala nola bere arkitektura, moduluak eta osagaiak, baita haien hainbat interfazeak eta bertatik igarotzen diren datuak ere, sistemaren diseinua deritzo.
Enpresa edo erakunde baten helburu eta eskakizun partikularrak betetzeko diseinatuta dago, sistema logiko eta eraginkor bat sortuz. Diseinu-ideia eta planteamendu egokiek programaren konplexutasunari eta eskalagarritasunari aurre egiteko bide-orria eskaintzen dute.
Sistema-diseinuko estrategei eta software-ingeniari onduei eman zaie pla hau sortzeko zereginan orientazio egokiarekin.
Gehiago da sistemen analisia, arkitektura ereduak, APIak, diseinu ereduak eta dena itsatsitzea kodetzea baino. Zure aplikazioak karga arkitektonikoa jasan dezakeenez, zure sistema zure aplikazioaren eskakizunetarako behar bezala diseinatzeak alferrikako gastuak eta mantentze-ahaleginak ezaba ditzake, baita zure azken erabiltzaileei esperientzia hobea eskaintzeko ere.
Zeintzuk dira sistemaren diseinuaren oinarrizko bi estrategia?
Sistemaren diseinu-estrategia onena sistemaren eskakizunek zehazten dute beti. Sistemaren taktika onak aldatzen dira lehendik dauden sistemekin lan egiten ari zaren edo hutsetik hasita.
Metodo hibridoaz gain, funtsean bi taktikak biltzen dituena, sistemaren diseinurako bi estrategia nagusi daude. Ikus ditzagun bi sistema diseinatzeko ikuspegi hauek.
1. Behetik gorako estrategia
Azpisistemak eta behe-mailako osagaiak (baita azpiosagaiak ere) sistemaren diseinu-teknika honetan diseinatzen dira lehenik. Orduan, goi-mailako azpisistemak eta osagai handiagoak errazago eta eraginkorrago garatu daitezke osagai horiek aldez aurretik diseinatzen badira. Honek denbora aurrezten du berriketan eta arazoak konpontzeko.
Behe-mailako osagaiak multzo handiagoetan konbinatzeko prozesua errepikatzen da sistema osoa osagai bakar batez osatu arte. Ikuspegi honek irtenbide generikoak eta maila baxuko inplementazioak berrerabilgarriagoak egiten ditu. Abstrakzio maila altua izango dela espero denean, metodo hau aproposa da.
Hala ere, metodo hau arazoen egiturarekin integratuta ez dagoenez, kalitate handiko irtenbideak zailak dira horrekin garatzea. Abstrakzio maila handia dela eta, eraginkorrenak diren alferrikako funtzioak ere erabil daitezke.
2. Goitik beherako estrategia
Diseinu-estilo honek sistema azpisistema eta osagaietan banatzea lehenesten du. Behetik gora eraiki beharrean, behetik gorako teknikan bezala, goitik beherako estrategiak sistema osoa kontzeptualizatzen du lehenik, azpisistemetan zatitu aurretik.
Ondoren, azpisistema hauek sistema handiagoaren beharrak betetzen dituzten azpisistema txikiagoetan eta osagai multzoetan bereizten dira. Azpisistema hauek gauza bereizi gisa tratatu beharrean, metodo honek sistema osoa objektu bakar gisa tratatzen du.
Azpisistemak entitate independentetzat hartzen dira, azken finean, sistema bere ezaugarrien arabera pentsatu eta bereizten denean. Ondoren, osagaiak marko hierarkiko batean antolatzen dira, sistemaren maila baxuena diseinatu arte. Metodo hau ondo definituta dago eta ez du abstrakzioa bultzatzen.
Goitik beherako teknika kalitate handiko ohikoa da, diseinu-prozesuak azpisistemak eta osagaiak sistemara egokitzen diren heinean definitzen jarraitzen baitu, sistema oso eraginkor, sentikor eta eraginkorra dela eta.
Irtenbideak, berriz, ez dira generikoak eta ezin dira asko erabili. Sistema hauek, gainera, diseinu konplexuagoak dituzte eta mantentzen zailagoak dira.
Diseinu hibridoen teknikak, berriz, goitik beherako metodoaren kalitate handiko ezaugarriak behetik gorako metodoaren berrerabilgarritasuna eta egitura ongi antolatuak uztartzen dituzte. Ondorioz, sistema gehienak sistema diseinatzeko teknika arrakastatsuena dira.
Zeintzuk dira sistemaren diseinuaren azpimultzo desberdinak?
Sistemaren diseinuaren azpimultzoak honako hauek dira:
1. Diseinu Logikoa
Sistemaren datu-fluxuaren, sarreraren eta irteeren abstrakzioa da. Iturburuak, helmugak, datu-biltegiak eta datu-fluxuak deskribatzen ditu erabiltzailearen eskakizunak betetzeko moduan. Sistema baten diseinu logikoa xehetasun-maila bat kontuan hartuta sortzen da, informazioa sistemara nola sartzen den eta sistematik ateratzen den ia azaltzen duena. ER eta datu-fluxuaren diagramak erabiltzen dira.
2. Diseinu fisikoa
Diseinu fisikoa sistemaren benetako sarrera eta irteera prozesuekin lotuta dago. Diseinu fisikoaren helburu nagusiak datuak nola egiaztatu, prozesatu eta ondorioz erakusten diren kontrolatzea dira. Batez ere, erabiltzailearen interfazearen diseinuan, prozesuen diseinuan eta datuen diseinuan oinarritzen da.
3. Diseinu arkitektonikoa
Diseinu maila altua bezala ere ezagutzen da, sistema arkitekturaren diseinua azpimarratzen baitu. Sistemaren izaera eta jatorria eztabaidatzen du.
4. Diseinu xehatua
Diseinu Arkitektonikoan oinarritzen da eta irakasgai bakoitzaren hazkundea azpimarratzen du.
Zeintzuk dira sistemaren diseinu-prozesuan egiten diren zeregin nagusiak?
1. Sortu diseinuaren definizioa
- Sistemaren osagaiak eta interfaze fisikoak eraikitzeko eta ezartzeko erabiliko diren teknologiak planifikatu eta identifikatzea.
- Zehaztea zein teknologiak eta sistemaren osagaiak sistemaren funtzionamendu-etapan zehar zaharkituta geratzeko edo eboluzionatzeko arriskuan dauden. Prestaketak egin haien ordezkapenerako.
- Dokumentatu diseinuaren definizioaren ikuspegia, diseinua burutzeko beharrezkoak diren gaikuntza-sistemak, ondasunak edo zerbitzuak barne.
2. Diseinu-atributuak zehaztea
- Ezaugarri arkitektonikoekin zerikusia duten diseinu-irizpideak definitzea eta inplementa daitezkeela ziurtatu.
- Definitu Sistemaren Arkitektura fasean ezarri ez diren interfazeak edo diseinuaren xehetasunak zehatzagoak diren heinean definitu behar direnak.
- Definitu eta erregistratu sistemaren elementu bakoitzaren diseinu-atributuak.
3. Kontuan hartu osagaiak lortzeko dituzun aukerak
- Aztertu zure diseinu-alternatibak.
- Aukeratu aukera onenak.
- Sistemaren elementua garatzea erabakitzen bada, diseinuaren definizio eta ezarpenaren gainerako prozesuak erabiliko dira. Sistemaren elementu bat erosi edo berrerabili behar bada, eskuratze-metodoa erabil daiteke hura lortzeko.
4. Antolatu diseinua
- Hartu eta egin jarraipena diseinu eta arkitektura erabaki bakoitzaren atzean dauden arrazoiak.
- Diseinu-atributuen progresioa ebaluatu eta kontrolatzea.
Zergatik ikasi behar duzu sistemaren diseinua?
Eskala handian hainbat aurrerapauso izan dira web aplikazioak aurreko bi hamarkadetan zehar. Berrikuntza hauek softwarearen garapenari buruzko ikuspegia aldatu dute.
Facebook, Instagram eta Twitter, egunero erabiltzen ditugun beste aplikazio eta zerbitzu batzuen artean, sistema eskalagarriak dira. Sistema hauek munduan zehar milaka milioi pertsonak aldi berean erabiltzen dituztenez, trafiko eta datu bolumen handiak kudeatzeko eraiki behar dira. Sistemaren diseinua jokoan sartzen da hemen.
Sistemaren diseinuaren ideiak eta software ingeniari gisa nola aplikatu ulertu beharko dituzu. Zure karreraren hasieran sistemaren diseinua ikasteak software-diseinuko zailtasunei konfiantza gehiagorekin aurre egin eta diseinu-ideiak zure eguneroko lanean aplikatzen lagunduko dizu.
Sistemaren diseinua zure elkarrizketa-prozesuaren elementu handiagoa bihurtuko da zure karreran aurrera egin ahala eta goi-mailako roletarako elkarrizketak egiten hasten zaren heinean. Beraz, zure trebetasun maila edozein dela ere, sistemaren diseinua garrantzitsua da.
Sistemaren diseinuaren abantailak
- Prozedura bizkortzen du.
- Diseinuaren prezioa jaisten du.
- Inkoherentziak ezabatzen dira.
- Hainbat baliabide ditu.
- Bezeroaren bizitza errazagoa eta errazagoa egiten du.
Ondorioa
Honek enpresaren kalitatea hobetzea eta errentagarritasuna areagotzea du abantaila.
Sistema funtzional batek kalitate-kontrol ezin hobea eskaintzen du, baita fabrikazio kostu txikiagoak produktuaren eta datuen prozesamenduaren ondorioz. Edozein industria edo arlotako eskakizuna da.
Utzi erantzun bat