INHOUDSOPGAWE[Versteek][Wys]
As jy verder in jou beroep as sagteware-ingenieur wil ontwikkel, moet jy stelselontwerp begryp. Dit is 'n goeie idee om stelselontwerp te begin bestudeer, selfs al begin jy net met kodering.
U sal vroeg in u loopbaan grootliks op u koderingsvermoëns getoets word. Ons sal kyk na die konsepte van stelselontwerp, hoekom jy dit moet bestudeer, die primêre pligte wat deur die stelselontwerpproses uitgevoer word, wat is stelselontwerpstrategie, en nog baie meer in hierdie pos.
Laat ons begin.
Wat is stelselontwerp?
Die proses om die aspekte van 'n stelsel te definieer, soos sy argitektuur, modules en komponente, sowel as hul verskillende koppelvlakke en die data wat daardeur vloei, staan bekend as stelselontwerp.
Dit is ontwerp om aan 'n maatskappy of organisasie se spesifieke doelwitte en vereistes te voldoen deur 'n logiese en doeltreffende stelsel te skep. Die regte ontwerpidees en -benaderings verskaf die padkaart vir die hantering van programkompleksiteit en skaalbaarheid.
Stelselontwerpstrateë en ervare sagteware-ingenieurs het die taak gekry om hierdie pla te skepn met geskikte leiding.
Dit gaan meer oor stelselontleding, argitektoniese patrone, API's, ontwerppatrone en om dit alles saam te plak as om kodering. Omdat jou toepassing die argitektoniese las kan dra, kan die ontwerp van jou stelsel voldoende vir die vereistes van jou toepassing onnodige uitgawes en instandhoudingspogings uitskakel, asook 'n beter ervaring vir jou eindgebruikers bied.
Wat is die twee fundamentele strategieë van stelselontwerp?
Die beste stelselontwerpstrategie word altyd deur die vereistes van die stelsel bepaal. Goeie stelseltaktieke verander na gelang van of jy met bestaande stelsels werk of van voor af begin.
Anders as die hibriede metode, wat basies die twee taktieke insluit, is daar twee hoofstrategieë vir stelselontwerp. Kom ons kyk na hierdie twee stelselontwerpbenaderings.
1. Onder-na-bo-strategie
Die subsisteme en laagste-vlak komponente (selfs sub-komponente) word eerste ontwerp in hierdie stelsel ontwerp tegniek. Hoërvlaksubstelsels en groter komponente kan dan makliker en doeltreffender ontwikkel word as hierdie komponente vooraf ontwerp word. Dit bespaar tyd op herkenning en probleemoplossing.
Die proses om laervlak-komponente in groter stelle te kombineer, word herhaal totdat die hele stelsel uit 'n enkele komponent bestaan. Hierdie benadering maak ook generiese oplossings en laevlak-implementerings meer herbruikbaar. Wanneer verwag word dat die vlak van abstraksie hoog sal wees, is hierdie metode ideaal.
Omdat hierdie metode egter nie met die struktuur van die kwessies geïntegreer is nie, is dit moeilik om oplossings van hoë gehalte daarmee te ontwikkel. As gevolg van die hoë mate van abstraksie is dit ook moontlik om oorbodige funksies te gebruik wat die doeltreffendste is.
2. Top-down strategie
Hierdie ontwerpstyl prioritiseer die afbreek van die stelsel in substelsels en komponente. Eerder as om van onder na bo te konstrueer, soos in die onder-na-bo-tegniek, konseptualiseer die bo-na-onder-strategie eers die hele stelsel voordat dit in substelsels afgebreek word.
Hierdie subsisteme word dan geskep en geskei in kleiner subsisteme en stelle komponente wat aan die groter stelsel se behoeftes voldoen. In plaas daarvan om hierdie subsisteme as aparte dinge te behandel, behandel hierdie metode die hele stelsel as 'n enkele voorwerp.
Die subsisteme word as onafhanklike entiteite beskou wanneer die sisteem uiteindelik bedink en geskei word volgens sy kenmerke. Die komponente word dan in 'n hiërargiese raamwerk georganiseer totdat die stelsel se laagste vlak ontwerp is. Hierdie metode is goed omskryf en moedig nie abstraksie aan nie.
Die bo-na-onder tegniek is tipies van hoogs hoë gehalte aangesien die ontwerpproses steeds substelsels en komponente definieer soos dit by die stelsel pas, wat lei tot 'n hoogs doeltreffende, responsiewe en effektiewe stelsel.
Die oplossings, aan die ander kant, is nie generies nie en kan nie wyd benut word nie. Hierdie stelsels het ook meer komplekse ontwerpe en is moeiliker om in stand te hou.
Hibriede ontwerptegnieke, aan die ander kant, kombineer die top-down metode se hoë kwaliteit kenmerke met die bottom-up metode se herbruikbaarheid en goed georganiseerde strukture. Gevolglik is die meeste stelsels die mees suksesvolle stelselontwerptegniek.
Wat is die verskillende sub-stelle van stelselontwerp?
Die substelle van stelselontwerp is soos volg:
1. Logiese Ontwerp
Dit is 'n abstraksie van die stelsel se datavloei, insette en uitsette. Dit beskryf die bronne, bestemmings, databewaarplekke en datavloei op 'n manier wat aan die gebruiker se vereistes voldoen. Die logiese ontwerp van 'n stelsel word geskep met 'n mate van detail in gedagte wat feitlik verduidelik hoe inligting in en uit die stelsel vloei. Die ER- en datavloeidiagramme word gebruik.
2. Fisiese Ontwerp
Fisiese ontwerp is gekoppel aan die stelsel se werklike inset- en uitsetprosesse. Fisiese ontwerp se sleuteldoelwitte is om te beheer hoe data gekontroleer, verwerk en as gevolg daarvan gewys word. Dit fokus hoofsaaklik op die gebruiker se koppelvlakontwerp, prosesontwerp en data-ontwerp.
3. Argitektoniese ontwerp
Dit staan ook bekend as die hoë vlak van ontwerp aangesien dit stelselargitektuurontwerp beklemtoon. Dit bespreek die stelsel se aard en oorsprong.
4. Gedetailleerde ontwerp
Dit is gebaseer op argitektoniese ontwerp en beklemtoon die groei van elke vak.
Wat is die belangrikste take wat tydens die stelselontwerpproses uitgevoer word?
1. Skep die ontwerpdefinisie
- Beplan en identifiseer die tegnologieë wat gebruik sal word om die stelsel se komponente en fisiese koppelvlakke te bou en te implementeer.
- Bepaal watter tegnologieë en stelselkomponente gevaar loop om verouderd te raak of te ontwikkel deur die hele stelsel se bedryfsfase. Tref voorbereidings vir hul uiteindelike vervanging.
- Dokumenteer die ontwerpdefinisiebenadering, insluitend enige bemagtigingstelsels, goedere of dienste wat benodig word om die ontwerp te voltooi.
2. Bepaal ontwerpeienskappe
- Definieer die ontwerpkriteria wat verband hou met die argitektoniese kenmerke en maak seker dat dit geïmplementeer kan word.
- Definieer enige koppelvlakke wat nie tydens die Stelselargitektuurfase tot stand gebring is nie of wat gedefinieer moet word namate die ontwerpbesonderhede meer gedetailleerd word.
- Definieer en teken elke stelselelement se ontwerpeienskappe aan.
3. Oorweeg jou opsies om komponente te kry
- Ondersoek jou ontwerpalternatiewe.
- Kies die beste opsies.
- Indien daar besluit word om die stelselelement te ontwikkel, sal die res van die ontwerpdefinisie en implementeringsprosesse aangewend word. As 'n stelselelement gekoop of hergebruik moet word, kan die verkrygingsmetode gebruik word om dit te kry.
4. Organiseer die ontwerp
- Vang en hou tred met die redenasie agter elke ontwerp en argitektoniese besluit.
- Evalueer en behou beheer oor die vordering van die ontwerpeienskappe.
Hoekom moet jy stelselontwerp leer?
Daar was verskeie deurbrake in grootskaalse webtoepassings gedurende die vorige twee dekades. Hierdie innovasies het ons perspektief op sagteware-ontwikkeling verander.
Facebook, Instagram en Twitter, onder andere toepassings en dienste wat ons daagliks gebruik, is almal skaalbare stelsels. Omdat hierdie stelsels terselfdertyd deur miljarde mense regoor die wêreld gebruik word, moet hulle gebou word om massiewe volumes verkeer en data te bestuur. Stelselontwerp kom hier ter sprake.
Daar sal van jou verwag word om stelselontwerpidees te begryp en hoe om dit as 'n sagteware-ingenieur toe te pas. Om stelselontwerp vroeg in jou loopbaan te leer, kan jou help om sagteware-ontwerpprobleme met meer selfvertroue te trotseer en ontwerpidees op jou daaglikse werk toe te pas.
Stelselontwerp sal 'n groter element van jou onderhoudsproses word namate jy in jou loopbaan vorder en begin onderhoude voer vir hoër-vlak rolle. Dus, ongeag jou vaardigheidsvlak, is stelselontwerp belangrik.
Voordele van stelselontwerp
- Dit versnel die prosedure.
- Dit verlaag die prys van ontwerp.
- Inkonsekwenthede word uitgeskakel.
- Dit het verskeie hulpbronne.
- Dit maak die kliënt se lewe makliker en eenvoudiger.
Gevolgtrekking
Dit het die voordeel dat dit maatskappy se gehalte verbeter terwyl dit ook winsgewendheid verhoog.
'n Funksionele stelsel bied optimale gehaltebeheer sowel as laer vervaardigingskoste as gevolg van produk- en dataverwerking. Dit is 'n vereiste in enige industrie of veld.
Lewer Kommentaar