Deall hanfodion sylfaenol – a dyfodol – peirianneg meddalwedd
Postiwyd ar: Mawrth 19, 2024gan Ben Nancholas
Peirianneg meddalwedd yw’r term a ddefnyddir ar gyfer ystod eang o weithgareddau sy’n gysylltiedig â datblygu, cynnal a chadw ac optimeiddio systemau a chymwysiadau meddalwedd. Mae’n faes dynamig – ac angenrheidiol – o wyddor a thechnoleg gyfrifiadurol, sy’n cael ei arwain gan egwyddorion sylfaenol gyda’r nod o greu rhaglenni meddalwedd effeithlon o ansawdd uchel, y gellir eu defnyddio dro ar ôl tro.
Er mwyn datblygu gwell dealltwriaeth o beirianneg meddalwedd, fodd bynnag, yn ogystal â’i gyfeiriad at y dyfodol, mae’n ddefnyddiol edrych ar hanes y maes a’r egwyddorion dylunio sy’n ei arwain.
Hanes peirianneg meddalwedd
Daeth cysyniad peirianneg meddalwedd i’r amlwg yn y 1960au, a daeth y term yn fwy poblogaidd o ganlyniad i Gynadleddau Peirianneg Meddalwedd NATO a gynhaliwyd ym 1968 a 1969.
Yn ystod blynyddoedd cynnar cyfrifiadureg, roedd rhaglennwyr yn aml yn derbyn y dasg o greu meddalwedd heb fethodoleg neu arferion safonol, ond llwyddodd dyfodiad peirianneg meddalwedd i helpu cydnabod heriau a gofynion penodol y ddisgyblaeth.
Wrth i dechnoleg esblygu’n ehangach, mae peirianneg meddalwedd hefyd wedi datblygu. Er enghraifft, mae methodoleg yn ymwneud â pheirianneg meddalwedd wedi esblygu o fodel unionlin Rhaeadr yn y 1970au hyd at y model Ystwyth mwy ailadroddus a ddefnyddir yn gyffredin erbyn heddiw. Ac mae egwyddorion peirianneg meddalwedd da – megis modwlaredd ac amgaead – wedi creu cymuned o beirianwyr meddalwedd sy’n creu cod y gellir ei ailddefnyddio a’i gynnal sy’n hawdd i’w ddadfygio a’i brofi cyn ei ddilysu.
Cyfrifoldebau nodweddiadol peirianwyr meddalwedd
Mae peirianwyr meddalwedd yn gyfrifol am greu strwythurau data systemau meddalwedd o ansawdd uchel, ac yn ei hanfod, maent yn gweithredu fel penseiri ar gyfer y byd digidol.
Mae eu rôl yn cynnwys ystod amrywiol o gyfrifoldeb o fewn cylch bywyd datblygu meddalwedd, gan gynnwys:
- Cysyniadoli
- Creu
- Gweithredu
- Cynnal a chadw
- Archwilio a gwerthuso.
Mae rhaglenwyr o fewn y maes peirianneg meddalwedd hefyd yn ysgrifennu cod, datblygu algorithmau, ac yn datblygu modiwlau ar gyfer rhaglenni meddalwedd, systemau ac apiau.
Egwyddorion peirianneg meddalwedd
Yn nodweddiadol, mae prosesau peirianneg meddalwedd yn cael eu harwain gan egwyddorion sydd wedi ennill eu plwyf. Mae’r pum egwyddor fwyaf cyffredin yn cael eu hadnabod gan yr acronym SOLID:
- Egwyddor Cyfrifoldeb Unigol (Single Responsibility Principle (SRP)) – rhoddir pwyslais ar bwysigrwydd sicrhau bod pob modiwl yn canolbwyntio ar dasg unigol. Trwy wneud hyn, mae’r cod sylfaenol yn fwy modiwlaidd ac yn haws ei ddeall, gan olygu ei fod yn haws ei gynnal a’i dyfu’n unol â’r gofynion. Mae cysyniad modwlaredd – a’r egwyddor Gwahanu Adrannau (Separation of Concerns (SoC)) – yn cael ei ddefnyddio’n eang ym maes peirianneg meddalwedd; mae’r syniadau hyn yn annog peirianwyr meddalwedd i rannu neu segmentu eu dyluniadau i gydrannau mwy modiwlaidd sy’n gallu rhyngweithio gyda’i gilydd i greu systemau meddalwedd mwy cymhleth.
- Egwyddor Agored/Caeedig (Open/Closed Principle (OCP)) – mae hwn yn annog datblygiad systemau sy’n agored o ran ehangu ond ar gau ar gyfer addasu. Mae’r egwyddor hwn yn cefnogi’r syniad o ychwanegu swyddogaethau newydd heb addasu unrhyw ddarnau o god presennol, gan annog y seilwaith modiwlaidd y gellir ei ddatblygu sy’n ddymunol yn y maes.
- Egwyddor Arwahanu Rhyngwynebau (Interface Segregation Principle (ISP)) – pwysleisio pwysigrwydd rhyngwynebau glân wrth ddylunio meddalwedd, ac yn awgrymu na ddylai cleientiaid gael eu gorfodi i ddibynnu ar ryngwynebau nad ydynt yn eu defnyddio.
- Egwyddor Amnewid Liskov (Liskov Substitution Principle (LSP)) – pwysleisio y dylid gallu amnewid rhannau o’r prif ddosbarth, y dosbarth gwreiddiol, heb effeithio ar y rhaglen na’i thorri.
- Egwyddor Gwyrdroi Dibyniaeth (Dependency Inversion Principle (DIP)) – angen modiwlau lefel uchel yn hytrach na dibynnu ar fodiwlau lefel isel. Mae’r dull hwn yn meithrin cod mwy hyblyg ac ailddefnyddiadwy drwy sicrhau nad yw’r modiwlau lefel uchel wedi’u cysylltu’n rhy agos gyda gweithrediadau lefel isel penodol.
Mae egwyddorion sylfaenol eraill ym maes peirianneg meddalwedd yn cynnwys:
- Egwyddor cadw pethau’n syml (Keep It Simple, Stupid (KISS)) – mae’r egwyddor hwn yn pwysleisio pwysigrwydd symlrwydd wrth ddylunio a gweithredu. Mae’r meddylfryd hwn yn dadlau bod datrysiadau cymhleth yn aml yn arwain at fwy o broblemau.
- Egwyddor peidio ag ailadrodd (Don’t Repeat Yourself (DRY)) – cefnogi gwaredu cod diangen. Yn hytrach, mae’r egwyddor hwn yn pwysleisio mwy ar ailddefnyddio cod a chadw un ffynhonnell o wirionedd, sydd, yn ei dro, yn cyfrannu at effeithlonrwydd a’r gallu i gynnal cod sylfaenol.
- Egwyddor gwaredu’r diangen (You Aren’t Gonna Need It (YAGNI)) – mae’r egwyddor hwn yn pwysleisio pwysigrwydd osgoi nodweddion diangen wrth ddatblygu meddalwedd. Yn hytrach, mae’r egwyddor hwn yn annog peirianwyr meddalwedd i ganolbwyntio ar nodweddion gofynnol, gan osgoi pethau eraill nad ydynt yn angenrheidiol.
Deall pwysigrwydd peirianneg meddalwedd
Peirianneg meddalwedd yw’r hyn sy’n gwneud y rhan fwyaf o dechnoleg fodern yn bosibl. Dyma’r sbardun sy’n trosi gofynion defnyddwyr yn gymwysiadau gweithredol ac effeithlon sy’n bodloni disgwyliadau defnyddwyr, yn datrys problemau, ac yn esblygu – neu arloesi – dros amser.
Fel y nodwyd gan Forbes, byddai ein byd yn wahanol iawn heb beirianneg meddalwedd:
“Mae peirianneg meddalwedd yn ein helpu i gyfathrebu, i fod yn fwy cynhyrchiol, dysgu pethau newydd, talu ein biliau, prynu nwyddau a rhoi sylw i’n hanghenion meddygol, ymysg nifer o dasgau eraill bob dydd. Mae peirianwyr meddalwedd proffesiynol yn creu ac yn cynnal technolegau sy’n gwneud ein bywyd yn symlach o ddydd i ddydd.”
Heriau ym maes peirianneg meddalwedd
Gofynion cymhleth
Er bod egwyddorion sylfaenol peirianneg meddalwedd yn annog symlrwydd a modwlaredd wrth ddylunio systemau, mae systemau meddalwedd yn aml yn gymhleth, ac mae cymhlethdod problemau bywyd go iawn yn aml yn arwain at ddatrysiadau meddalwedd cymhleth. Mae hyn yn gofyn am ystyriaeth a chynllunio gofalus gan beirianwyr meddalwedd – ac mae sicrhau cydbwysedd rhwng hyblygrwydd a sefydlogrwydd, yn enwedig mewn prosiectau ar raddfa fawr, yn gallu bod yn dasg anodd.
Newid parhaus
Mae esblygiad parhaus ieithoedd, fframweithiau ac adnoddau rhaglennu yn her i beirianwyr meddalwedd gan fod angen iddynt sicrhau eu bod yn gwybod am y tueddiadau a’r mesurau diweddaraf ym maes technoleg – ac mae’r rhain yn newid yn gyflym – felly mae’n hanfodol bod peirianwyr meddalwedd yn barod i addasu i dechnolegau newydd gan hefyd gynnal cod cyfredol.
Dyfodol peirianneg meddalwedd
Mae peirianneg meddalwedd yn esblygu ac yn datblygu ochr yn ochr â meysydd technolegol eraill arwyddocaol megis deallusrwydd artiffisial, dysgu peirianyddol a blockchain. Yn wir, mae’n deg dweud bod y meysydd hyn yn torri tir newydd ac yn ail-siapio tirwedd datblygu meddalwedd.
Ac o fewn yr amgylchedd newydd hwn, mae peirianwyr meddalwedd yn gweithio fwyfwy o fewn timau amlddisgyblaethol. Mae’r cydlyniad hwn yn golygu eu bod yn gallu cydweithio a galw ar arbenigwyr o wahanol feysydd er mwyn datblygu datrysiadau arloesol o fewn tirwedd newydd y maes hwn.
Datblygwch eich gyrfa ym maes peirianneg meddalwedd
Cyfle i ddatblygu’r wybodaeth a’r sgiliau angenrheidiol ar gyfer gyrfa y mae galw mawr amdano, sy’n talu’n dda ym maes peirianneg meddalwedd, gyda’r cwrs MSc Cyfrifiadureg gyda Pheirianneg Meddalwedd – Ysgol Reolaeth Gogledd Cymru (wrexham.ac.uk). Mae’r cwrs gradd meistr hyblyg hwn wedi cael ei lunio ar gyfer dysgwyr ar-lein o ystod o gefndiroedd sy’n dymuno dechrau neu ddatblygu eu gyrfa ym maes peirianneg meddalwedd.
Byddwch yn archwilio gwyddoniaeth ymarferol rhaglennu cyfrifiadurol a systemau meddalwedd – gyda ffocws ar yr agwedd fasnachol – ynghyd ag elfennau sylfaenol peirianneg meddalwedd a gwyddor gyfrifiadurol. Mae modiwlau craidd yn trafod meysydd megis peirianneg systemau, cyfrifiadureg rithwir ac yn seiliedig yn y cwmwl, a datblygu apiau symudol, a byddwch yn dysgu ieithoedd a phlatfformau modern gan gynnwys HTML5, Java, PHP a MySQL.