Softwarové inženýrství vs informatika
V moderní společnosti se počítače staly nedílnou a nevyhnutelnou součástí. Méně se však soustředíme na vnitřní fungování těchto známých věcí. Počítačová věda je teoretickým základem počítačových systémů, zatímco softwarové inženýrství je aplikace těchto principů do problémů za účelem vývoje softwarového řešení.
Počítačová věda
Informatika je základní věda o počítačovém hardwaru a softwaru. Poskytuje vhled do mechanismu softwarových i hardwarových komponent a teoretické základy výpočtů pro implementaci a aplikaci v počítačových systémech.
Informatika se skládá z mnoha hlavních dílčích disciplín. Výpočetní teorie, teorie informace a kódování, algoritmy a struktura dat a teorie programovacích jazyků patří do teoretické informatiky. Subdisciplíny aplikované informatiky jsou umělá inteligence, počítačová architektura a inženýrství, počítačová grafika a vizualizace, kryptografie a počítačová bezpečnost, počítačové sítě, souběžné, paralelní a distribuované systémy, databáze a vyhledávání informací a softwarové inženýrství.
Mnoho z těchto dílčích disciplín je založeno na matematických teoriích. Některé aplikační aspekty jsou spojeny s mechatronikou a dalšími aplikovanými vědami.
Tyto dílčí disciplíny také zasahují do menších studijních oblastí. Například výpočetní teorie obsahuje studijní oblasti, jako je teorie automatů, teorie vyčíslitelnosti, teorie složitosti, kryptografie a kvantová výpočetní teorie.
Softwarové inženýrství
Softwarové inženýrství lze považovat za jednu z hlavních dílčích disciplín aplikované informatiky. Zaměřuje se na budování efektivních softwarových systémů pomocí přísného inženýrského přístupu. Lze jej popsat jako systematický, disciplinovaný, kvantifikovatelný přístup k návrhu, vývoji, provozu a údržbě softwaru a ke studiu těchto přístupů. Neexistuje žádná uznávaná definice softwarového inženýrství, ale výklad jeho účelu.
Fritz Bauer definoval softwarové inženýrství jako „Zavedení a použití principů zdravého inženýrství za účelem získání ekonomicky vyvinutého softwaru, který je spolehlivý a efektivně funguje na skutečných strojích“.
Software není fyzický; jsou to logické entity pracující v počítačovém systému. Proto musí být navržen pro optimální výkon z hlediska hardwaru i provozu. K dosažení těchto cílů používají softwaroví inženýři vývojové modely. Tyto modely zahrnují hlavní kroky vývoje softwaru, jako je návrh, kódování, odstraňování problémů a údržba, do soudržného rámce, který umožňuje systematický pokrok softwaru v jeho životním cyklu.
Jaký je rozdíl mezi softwarovým inženýrstvím a informatikou?
• Počítačová věda se zaměřuje na teoretické aspekty výpočetní techniky, a to jak v oblasti softwaru, tak hardwaru.
• Softwarové inženýrství se zaměřuje na vývoj softwaru systematicky. Kódování nebo programování je klíčovou součástí softwarového inženýrství.
• Softwarové inženýrství lze považovat za aplikaci výpočetní teorie (např. účinnost algoritmu lze měřit pomocí složitosti, která je popsána v teorii informatiky, ale její aplikace spadá do oblasti softwaru inženýrství, kde je nejvhodnější algoritmus vybrán pomocí složitosti).