Obsah
Softwarové inženýrství
Softwarové inženýrství (angl. Software Engineering) je disciplína vědy o počítačích, která se zabývá systematickým, disciplinovaným a měřitelným přístupem k návrhu, vývoji, testování, nasazení, údržbě a správě softwarových systémů. Cílem softwarového inženýrství je vytvářet kvalitní software, který splňuje požadavky uživatelů, je spolehlivý, údržbou snadno upravitelný a ekonomicky efektivní v celém svém životním cyklu.
Původ termínu
Termín „softwarové inženýrství“ byl poprvé použit na konferenci NATO Software Engineering Conference v roce 1968, jako reakce na tzv. softwarovou krizi (software crisis) – období, kdy se mnoho softwarových projektů značně prodražovalo, zpožďovalo nebo zcela selhalo kvůli nedostatečnému plánování, chybějícím metodikám a rostoucí složitosti systémů.
Klíčové principy
Systematičnost – software se vyvíjí podle jasně definovaných fází a procesů. Opakovatelnost – používají se osvědčené postupy, které lze znovu aplikovat v různých projektech. Řízení kvality – kvalita softwaru je kontrolována během celého vývojového cyklu (např. kódové revize, testování, statická analýza). Zaměření na uživatele – softwarové řešení musí splňovat skutečné potřeby jeho cílové skupiny. Správa změn – změny požadavků nebo technologií jsou řízeny formálními procesy (např. správa verzí, change management).
Hlavní aktivity
Shromažďování a analýza požadavků Návrh architektury a komponent Implementace (kódování) Testování (jednotkové, integrační, systémové, uživatelské) Nasazení a provoz Údržba a evoluce softwaru
Související disciplíny
Počítačová věda Projektový management Kybernetická bezpečnost Interakce člověk–počítač (HCI) DevOps a SRE (Site Reliability Engineering)
Významné metodiky a přístupy
Vodopádový model (Waterfall) Agilní metody (Agile) – např. Scrum, Kanban, Extreme Programming DevOps – integrace vývoje a provozu CI/CD – průběžná integrace a nasazování
Reference
IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990) Ian Sommerville: Software Engineering, 10th Edition, Pearson, 2015 NATO Software Engineering Conferences (1968, 1969)
