Softwaroví inžinieri a počítačové programátory obe vyvíjajú softvérové aplikácie potrebné pre pracovné počítače. Rozdiel medzi týmito dvoma pozíciami spočíva v zodpovednosti a prístupe k práci. Softvéroví inžinieri používajú dobre definované vedecké princípy a postupy na poskytovanie efektívneho a spoľahlivého softvérového produktu.
Softvérové inžinierstvo
Softvérové inžinierstvo považuje prístup k vývoju softvéru za formálny proces podobný procesu v tradičnom strojárstve. Softwaroví inžinieri začínajú analýzou potrieb používateľov. Navrhujú softvér, zavádzajú ho, testujú jeho kvalitu a udržiavajú ho. Učia počítačovým programátorom, ako napísať kód, ktorý potrebujú. Softwaroví inžinieri môžu alebo nemusia napíšte ktorýkoľvek z kódov samy o sebe, ale potrebujú silné programovacie zručnosti, aby mohli komunikovať s programátormi, a často hovoria plynule v niekoľkých programovacích jazykoch.
Softwaroví inžinieri Navrhovanie a vývoj počítačových hier, podnikové aplikácie, sieťové riadiace systémy a softvérové operačné systémy. Sú to odborníci na teóriu počítačového softvéru a obmedzenia hardvéru, pre ktorý navrhujú.
Počítačové softvérové inžinierstvo
Celý proces návrhu softvéru musí byť formálne riadený dlho predtým, ako sa zapíše prvý riadok kódu. Softwaroví inžinieri vytvárajú zdĺhavé konštrukčné dokumenty pomocou počítačom podporovaných softvérových nástrojov. Softvérový inžinier potom prevedie dokumenty návrhu na dokumenty špecifikácie návrhu, ktoré sa používajú na návrh kódu. Tento proces je organizovaný a efektívny. Neexistuje žiadne programovanie mimo manžety.
papierovanie
Jednou z charakteristických čŕt softvérového inžinierstva je papierová stopa, ktorú vytvára. Dizajny podpisujú manažéri a technické orgány a úlohou zabezpečenia kvality je skontrolovať papierovú stopu. Mnoho softvérových inžinierov pripúšťa, že ich úlohou je 70% administratívy a 30% kód. Je to nákladný, ale zodpovedný spôsob písania softvéru, čo je jeden z dôvodov, prečo je avionika v moderných lietadlách tak drahá.
Výzvy v oblasti softvérového inžinierstva
Výrobcovia nemôžu stavať komplexné životne dôležité systémy, ako sú lietadlá, riadenie jadrového reaktora a lekárske systémy, a očakávať, že softvér sa bude hádzať dokopy. Vyžadujú, aby bol celý proces dôkladne riadený softvérovými inžiniermi, aby bolo možné odhadnúť rozpočet, prijať pracovníkov a minimalizovať riziko zlyhania alebo nákladných chýb.
V oblastiach kritických z hľadiska bezpečnosti, ako je letectvo, vesmír, jadrové elektrárne, medicína, detekcia požiaru systémy a jazdy na horských dráhach, náklady na zlyhanie softvéru môžu byť obrovské, pretože životy sú už na rizík. Schopnosť softvérového inžiniera predvídať problémy a odstrániť ich skôr, ako k nim dôjde, je kritická.
Certifikácia a vzdelávanie
V niektorých častiach sveta a vo väčšine amerických štátov sa nemôžete nazývať softvérovým inžinierom bez formálneho vzdelania alebo certifikácie. Niekoľko veľkých softvérových spoločností vrátane spoločností Microsoft, Oracle a Red Hat ponúka kurzy zamerané na certifikácie. Mnoho univerzít a univerzít ponúka tituly v softvérovom inžinierstve. Usilujúci softvéroví inžinieri sa môžu špecializovať na informatiku, softvérové inžinierstvo, matematiku alebo počítačové informačné systémy.
Počítačové programátory
Programátori napíšu kód podľa špecifikácií softvérových inžinierov. Sú odborníkmi na hlavné počítačové programovacie jazyky. Aj keď sa zvyčajne nezúčastňujú na počiatočných fázach návrhu, môžu sa podieľať na testovaní, úprave, aktualizácii a opravách kódu. Píšu kód v jednom alebo viacerých požadovaných programovacích jazykoch vrátane:
- SQL
- JavaScript
- Jáva
- C #
- krajta
- PHP
- Ruby on Rails
- rýchly
- Objective-C
- PHP
Inžinieri verzus programátori
- Softvérové inžinierstvo je tímová činnosť. Programovanie je predovšetkým osamelá činnosť.
- Softvérový inžinier je zapojený do celého procesu. Programovanie je jedným z aspektov vývoja softvéru.
- Softvérový inžinier pracuje na komponentoch s ostatnými inžiniermi pri zostavovaní systému. Programátor píše kompletný program.