Softvérové inžinierstvo vs informatika
V modernej spoločnosti sa počítače stali neoddeliteľnou a nevyhnutnou súčasťou. Menej sa však zameriavame na vnútorné fungovanie týchto známych vecí. Počítačová veda je teoretickým základom počítačových systémov, zatiaľ čo softvérové inžinierstvo je aplikáciou týchto princípov do problémov s cieľom vyvinúť softvérové riešenie.
Počítačová veda
Informatika je základná veda o výpočtovom hardvéri a softvéri. Poskytuje pohľad na mechanizmus softvérových a hardvérových komponentov a teoretické základy výpočtov pre implementáciu a aplikáciu v počítačových systémoch.
Informatika pozostáva z mnohých hlavných pododborov. Výpočtová teória, teória informácie a kódovania, algoritmy a štruktúra údajov a teória programovacích jazykov patria do teoretickej informatiky. Subdisciplíny aplikovanej informatiky sú umelá inteligencia, počítačová architektúra a inžinierstvo, počítačová grafika a vizualizácia, kryptografia a počítačová bezpečnosť, počítačové siete, súbežné, paralelné a distribuované systémy, databázy a získavanie informácií a softvérové inžinierstvo.
Mnohé z týchto pododborov sú založené na matematických teóriách. Niektoré aspekty aplikácie sú spojené s mechatronikou a inými aplikovanými vedami.
Tieto poddisciplíny zasahujú aj do menších študijných oblastí. Napríklad výpočtová teória obsahuje študijné oblasti ako teória automatov, teória vypočítateľnosti, teória zložitosti, kryptografia a kvantová teória výpočtov.
Softvérové inžinierstvo
Softvérové inžinierstvo možno považovať za jednu z hlavných pododborov aplikovanej informatiky. Zameriava sa na budovanie efektívnych softvérových systémov s použitím prísneho inžinierskeho prístupu. Možno ho opísať ako systematický, disciplinovaný, kvantifikovateľný prístup k návrhu, vývoju, prevádzke a údržbe softvéru a štúdiu týchto prístupov. Neexistuje žiadna akceptovaná definícia softvérového inžinierstva, ale výklad jeho účelu.
Fritz Bauer definoval softvérové inžinierstvo ako „Vytvorenie a používanie správnych inžinierskych princípov s cieľom získať ekonomicky vyvinutý softvér, ktorý je spoľahlivý a efektívne funguje na skutočných strojoch“.
Softvér nie je fyzický; sú to logické entity pracujúce v rámci počítačového systému. Preto musí byť navrhnutý pre optimálny výkon z hľadiska hardvéru aj prevádzky. Na dosiahnutie týchto cieľov softvéroví inžinieri používajú vývojové modely. Tieto modely zahŕňajú hlavné kroky vývoja softvéru, ako je návrh, kódovanie, riešenie problémov a údržba, do súdržného rámca, ktorý umožňuje systematický pokrok softvéru počas jeho životného cyklu.
Aký je rozdiel medzi softvérovým inžinierstvom a počítačovou vedou?
• Informatika sa zameriava na teoretické aspekty výpočtovej techniky, a to ako v softvéri, tak aj v hardvéri.
• Softvérové inžinierstvo sa zameriava na vývoj softvéru systematicky. Kódovanie alebo programovanie je kľúčovým komponentom softvérového inžinierstva.
• Softvérové inžinierstvo možno vnímať ako aplikáciu výpočtovej teórie (napríklad účinnosť algoritmu možno merať pomocou zložitosti, ktorá je popísaná v teórii informatiky, ale jej aplikácia patrí do oblasti softvéru inžinierstvo, kde je najvhodnejší algoritmus vybraný na základe zložitosti).