Programinės įrangos inžinerija vs kompiuterių mokslas
Šiuolaikinėje visuomenėje kompiuteriai tapo neatsiejama ir neišvengiama dalimi. Tačiau mes mažiau kreipiame dėmesį į vidinį šių pažįstamų dalykų veikimą. Kompiuterių mokslas yra teorinis kompiuterinių sistemų pagrindas, tuo tarpu programinės įrangos inžinerija yra šių principų taikymas sprendžiant problemas kuriant programinės įrangos sprendimą.
Informatika
Kompiuterių mokslas yra pagrindinis kompiuterinės ir programinės įrangos skaičiavimo mokslas. Tai suteikia informacijos apie programinės įrangos ir aparatinės įrangos komponentų mechanizmą bei teorinius skaičiavimo pagrindus diegiant ir pritaikant kompiuterinėse sistemose.
Kompiuterių mokslas susideda iš daugelio pagrindinių subdisciplinų. Skaičiavimo teorija, Informacijos ir kodavimo teorija, algoritmai ir duomenų struktūra bei programavimo kalbos teorija priklauso teorinei informatikai. Taikomosios informatikos subdisciplinos yra dirbtinis intelektas, kompiuterių architektūra ir inžinerija, kompiuterinė grafika ir vizualizacija, kriptografija ir kompiuterių saugumas, kompiuterių tinklai, lygiagrečiosios, lygiagrečiosios ir paskirstytosios sistemos, duomenų bazės ir informacijos gavimas bei programinės įrangos inžinerija..
Daugelis šių subdisciplinų remiasi matematikos teorijomis. Kai kurie taikymo aspektai yra susiję su mechatronika ir kitais taikomaisiais mokslais.
Šios subdisciplinos taip pat apima ir smulkesnes studijų sritis. Pavyzdžiui, skaičiavimo teorijoje yra tokios studijų sritys kaip automatų teorija, skaičiavimo teorija, sudėtingumo teorija, kriptografija ir kvantinio skaičiavimo teorija..
Programinės įrangos inžinerija
Programinės įrangos inžinerija gali būti laikoma viena iš pagrindinių taikomosios informatikos subdisciplinų. Daugiausia dėmesio skiriama efektyvių programinės įrangos sistemų kūrimui, naudojant griežtą inžinerijos metodą. Tai galima apibūdinti kaip sistemingą, drausmingą, kiekybiškai įvertinamą požiūrį į programinės įrangos kūrimą, tobulinimą, veikimą ir priežiūrą bei šių metodų tyrimą. Nėra vieno priimto programinės įrangos inžinerijos apibrėžimo, o tik jos tikslo aiškinimo.
Fritzas Baueris programinės įrangos inžineriją apibrėžė kaip „patikimos inžinerijos principų sukūrimą ir naudojimą siekiant ekonomiškai sukurtos programinės įrangos, kuri yra patikima ir efektyviai veikia tikruose įrenginiuose“..
Programinė įranga nėra fizinė; tai loginiai subjektai, dirbantys kompiuterinėje sistemoje. Todėl jis turi būti sukurtas optimaliam našumui tiek aparatūros, tiek operacijų aspektais. Šiems tikslams pasiekti programinės įrangos inžinieriai naudoja tobulinimo modelius. Šie modeliai apima pagrindinius programinės įrangos kūrimo žingsnius, tokius kaip projektavimas, kodavimas, trikčių šalinimas ir priežiūra, į darnią sistemą, leidžiančią sistemingai tobulinti programinę įrangą per jos gyvavimo ciklą..
Kuo skiriasi programinės įrangos inžinerija ir kompiuterių mokslas?
• Kompiuterių mokslas orientuojasi į teorinius skaičiavimo aspektus tiek programinės, tiek aparatinės įrangos srityje.
• Programinės įrangos inžinerija orientuota į sisteminės programinės įrangos kūrimą. Kodavimas arba programavimas yra pagrindinis programinės įrangos inžinerijos komponentas.
• Programinės įrangos inžinerija gali būti vertinama kaip skaičiavimo teorijos taikymas (pavyzdžiui, algoritmo efektyvumas gali būti matuojamas naudojant sudėtingumą, kuris aprašytas kompiuterių mokslo teorijoje, tačiau jo taikymas priklauso programinės įrangos inžinerijos sričiai, kur tinkamiausias algoritmas yra atrinkta pagal sudėtingumą).