Table of Contents[Ferstopje][Toanje]
As jo fierder ûntwikkelje wolle yn jo berop as software-yngenieur, moatte jo systeemûntwerp begripe. It is in goed idee om te begjinnen mei it studearjen fan systeemûntwerp, sels as jo gewoan begjinne mei kodearring.
Jo sille betiid yn jo karriêre foar in grut part wurde hifke op jo kodearingsfeardigens. Wy sille sjen nei de konsepten fan systeemûntwerp, wêrom't jo it moatte studearje, de primêre taken útfierd troch it systeemûntwerpproses, wat is systeemûntwerpstrategy, en folle mear yn dizze post.
Litte wy begjinne.
Wat is systeemûntwerp?
It proses fan it definiearjen fan de aspekten fan in systeem, lykas syn arsjitektuer, modules en komponinten, lykas har ferskate ynterfaces en de gegevens dy't der troch streamt, wurdt systeemûntwerp neamd.
It is ûntworpen om te foldwaan oan 'e bepaalde doelen en easken fan in bedriuw of organisaasje troch in logysk en effisjint systeem te meitsjen. De juste ûntwerpideeën en oanpak jouwe de roadmap foar it omgean mei programmakompleksiteit en skalberens.
Systeemûntwerpstrategyen en betûfte software-yngenieurs hawwe de taak krigen om dizze pla te meitsjenn mei passende begelieding.
It giet mear oer systeemanalyse, arsjitektoanyske patroanen, API's, ûntwerppatroanen, en it allegear byinoar lijmen dan it giet oer kodearring. Om't jo applikaasje de arsjitektoanyske lading kin drage, kin it ûntwerpen fan jo systeem adekwaat foar de easken fan jo applikaasje ûnnedige útjeften en ûnderhâldspogingen eliminearje, en ek in bettere ûnderfining leverje foar jo ein-brûkers.
Wat binne de twa fûnemintele strategyen fan systeemûntwerp?
De bêste strategy foar systeemûntwerp wurdt altyd bepaald troch de easken fan it systeem. Goede systeemtaktiken feroarje ôfhinklik fan oft jo mei besteande systemen wurkje of fanôf it begjin begjinne.
Oars as de hybride metoade, dy't yn prinsipe de twa taktyk omfettet, binne d'r twa wichtige strategyen foar systeemûntwerp. Litte wy nei dizze twa oanpak fan systeemûntwerp sjen.
1. Bottom-up strategy
De subsystemen en komponinten op it leechste nivo (sels subkomponinten) wurde earst ûntworpen yn dizze systeemûntwerptechnyk. Subsystemen op heger nivo en gruttere komponinten kinne dan makliker en effisjinter ûntwikkele wurde as dizze komponinten foarôf binne ûntwurpen. Dit besparret tiid op recon en troubleshooting.
It proses fan it kombinearjen fan komponinten op legere nivo yn gruttere sets wurdt werhelle oant it heule systeem bestiet út ien komponint. Dizze oanpak makket ek generyske oplossingen en ymplemintaasjes op leech nivo mear werbrûkber. As it nivo fan abstraksje heech wurdt ferwachte, is dizze metoade ideaal.
Om't dizze metoade lykwols net yntegreare is mei de struktuer fan 'e problemen, binne oplossings fan hege kwaliteit dêrmei dreech te ûntwikkeljen. Troch de hege abstraksjegraad is it ek mooglik om oerstallige funksjes te brûken dy't it meast effektyf binne.
2. Top-down strategy
Dizze ûntwerpstyl prioritearret it opbrekken fan it systeem yn subsystemen en komponinten. Yn stee fan fan ûnderen nei boppen te konstruearjen, lykas yn 'e bottom-up technyk, konseptualisearret de top-down strategy earst it heule systeem foardat it yn subsystemen opsplitst.
Dizze subsystemen wurde dan makke en skieden yn lytsere subsystemen en sets fan komponinten dy't foldogge oan de behoeften fan it gruttere systeem. Yn stee fan it behanneljen fan dizze subsystemen as aparte dingen, behannelet dizze metoade it hiele systeem as ien foarwerp.
De subsystemen wurde beskôge as ûnôfhinklike entiteiten as it systeem úteinlik betocht en skieden wurdt neffens syn funksjes. De komponinten wurde dan organisearre yn in hiërargysk ramt oant it leechste nivo fan it systeem is ûntwurpen. Dizze metoade is goed definiearre en stimulearret gjin abstraksje.
De top-down technyk is typysk foar heul hege kwaliteit, om't it ûntwerpproses subsystemen en komponinten bliuwt definiearje as se passe by it systeem, wat resulteart yn in heul effisjint, responsyf en effektyf systeem.
De oplossingen, oan 'e oare kant, binne net generysk en kinne net breed brûkt wurde. Dizze systemen hawwe ek kompleksere ûntwerpen en binne dreger te ûnderhâlden.
Hybride ûntwerptechniken, oan 'e oare kant, kombinearje de kwaliteitsfunksjes fan' e top-down metoade mei de werbrûkberens fan 'e bottom-up metoade en goed organisearre struktueren. As resultaat binne de measte systemen de meast suksesfolle systeemûntwerptechnyk.
Wat binne de ferskate sub-sets fan systeemûntwerp?
De subsets fan systeemûntwerp binne as folget:
1. Logyske Design
It is in abstraksje fan de gegevensstream, ynputen en útgongen fan it systeem. It beskriuwt de boarnen, bestimmingen, gegevensrepositories en gegevensstreamen op in manier dy't foldocht oan de easken fan 'e brûker. It logyske ûntwerp fan in systeem wurdt makke mei in graad fan detail yn gedachten dat praktysk ferklearret hoe't ynformaasje streamt yn en út it systeem. De ER- en gegevensstreamdiagrammen wurde brûkt.
2. Fysike Untwerp
Fysike ûntwerp is keppele oan de echte ynfier- en útfierprosessen fan it systeem. De wichtichste doelen fan fysyk ûntwerp binne om te kontrolearjen hoe't gegevens wurde kontrolearre, ferwurke en toand as gefolch. It rjochtet him primêr op it ynterface-ûntwerp fan 'e brûker, prosesûntwerp en gegevensûntwerp.
3. Arsjitektuerûntwerp
It is ek bekend as it hege nivo fan ûntwerp, om't it ûntwerp fan systeemarsjitektuer beklammet. It besprekt de aard en oarsprong fan it systeem.
4. Detaillearre Design
It is basearre op Architectural Design en beklammet de groei fan elk fak.
Wat binne de wichtichste taken útfierd tidens it systeemûntwerpproses?
1. Meitsje it ûntwerp definysje
- Plan en identifisearje de technologyen dy't sille wurde brûkt om de komponinten en fysike ynterfaces fan it systeem te bouwen en te ymplementearjen.
- Bepale hokker technologyen en systeemkomponinten it gefaar binne om ferâldere te wurden of te ûntwikkeljen yn 'e heule operaasjestadium fan it systeem. Meitsje tariedings foar har úteinlike ferfanging.
- Dokumintearje de oanpak fan ûntwerpdefinysje, ynklusyf alle ynskeakeljen fan systemen, guod of tsjinsten dy't nedich binne om it ûntwerp te foltôgjen.
2. Bepale design attributen
- Definiearje de ûntwerpkritearia dy't relatearje oan 'e arsjitektoanyske funksjes en soargje derfoar dat se kinne wurde ymplementearre.
- Definiearje alle ynterfaces dy't net waarden fêststeld tidens de systeemarsjitektuerfaze of dy't moatte wurde definieare as de ûntwerpdetails mear detaillearre wurde.
- Definiearje en registrearje de ûntwerpattributen fan elk systeemelemint.
3. Beskôgje jo opsjes foar it krijen fan komponinten
- Undersykje jo ûntwerpalternativen.
- Kies de bêste opsjes.
- As besletten wurdt om it systeemelemint te ûntwikkeljen, sil de rest fan 'e ûntwerpdefinysje en ymplemintaasjeprosessen brûkt wurde. As in systeemelemint moat wurde oankocht of opnij brûkt, kin de akwisysjemetoade brûkt wurde om it te krijen.
4. Organisearje it ûntwerp
- Fange en folgje de redenearring efter elk ûntwerp en arsjitektoanysk beslút.
- Evaluearje en behâlde kontrôle oer de foarútgong fan 'e ûntwerpattributen.
Wêrom moatte jo systeemûntwerp leare?
Der binne ferskate trochbraken yn grutskalige webapplikaasjes yn 'e foargeande twa desennia. Dizze ynnovaasjes hawwe ús perspektyf op softwareûntwikkeling feroare.
Facebook, Instagram en Twitter, ûnder oare apps en tsjinsten dy't wy op deistige basis brûke, binne allegear skalberbere systemen. Om't dizze systemen tagelyk brûkt wurde troch miljarden minsken oer de hiele wrâld, moatte se boud wurde om massive voluminten ferkear en gegevens te behearjen. Systeemûntwerp komt hjir yn spiel.
Jo sille ferplicht wurde om ideeën foar systeemûntwerp te begripen en hoe't jo se kinne tapasse as software-yngenieur. Learje fan systeemûntwerp betiid yn jo karriêre kin jo helpe om problemen mei softwareûntwerp mei mear fertrouwen te konfrontearjen en ûntwerpideeën oan te passen op jo deistige baan.
Systeemûntwerp sil in grutter elemint wurde fan jo ynterviewproses as jo foarútgeane yn jo karriêre en begjinne ynterviews foar rollen op heger nivo. Dat, nettsjinsteande jo feardigensnivo, is systeemûntwerp wichtich.
Foardielen fan systeem design
- It versnelt de proseduere.
- It ferleget de priis fan ûntwerp.
- Inkonsistinsjes wurde eliminearre.
- It hat ferskate boarnen.
- It makket it libben fan 'e klant makliker en ienfâldiger.
Konklúzje
Dit hat it foardiel fan it ferbetterjen fan de kwaliteit fan it bedriuw, wylst ek de profitabiliteit ferheegje.
In funksjoneel systeem leveret optimale kwaliteitskontrôle lykas legere produksjekosten fanwegen produkt- en gegevensferwurking. It is in eask yn elke yndustry as fjild.
Leave a Reply