Softwarové inženýrství
Z Wikipedie, otevřené encyklopedie
Softwarové inženýrství je činnost zahrnující inženýrství, informatiku a management, jejímž cílem je návrh, tvorba a údržba počítačových programů.
Jako tradiční inženýrské disciplíny i softwarové inženýrství řeší především cenu a spolehlivost. Například moderní letadla mají miliony součástek (raketoplán dokonce kolem deseti milionů) a software pro jejich obsluhu může mít miliony řádků zdrojového kódu.
Známými průkopníky softwarového inženýrství byli především Fred Brooks a C. A. R. Hoare.
Pojem softwarové inženýrství není nijak jednotný, může mít víc významů:
- Obecný termín, který znamená mnoho činností, dříve označovaných jako programování.
- Obecný termín, který znamená praktickou činnost s počítači, na rozdíl od teoretického přístupu, který se nazývá informatika.
- Argument pro jisté přístupy k programování se zaměřením na inženýrskou profesi, nikoli jako pohled na programování jako druh umění, řemeslné zručnosti a kultury. Tento termín se používá zvláště ve spojitosti s různými programátorskými metodologiemi a při zavádění pravidel.
- Softwarové inženýrství je definované jako standard IEEE 610.12.
[editovat] Rozdíly oproti ostatním disciplínám
- Matematika
- Programy mají matematicky odvoditelné vlastnosti, ale spočítání některých parametrů by bylo v praxi neproveditelné. Matematika používá exaktní metody a formální postupy, zatímco programování zaujímá spíše pragmatické postupy. Teoretik Edsger Dijkstra však tvrdil, že programování je matematická disciplína.
- Inženýrství
- Softwarové inženýrství je mnohými považováno za inženýrskou disciplínu, protože používá pragmatické postupy očekávatelné od inženýra. Nicméně na rozdíl od inženýrů nepracují programátoři pouze s modely výrobku a návrhem, ale mohou nové programy okamžitě využít, což například strojní inženýr nemůže, ten musí s testy čekat na vyrobení součástky jiným oddělením. David Parnas argumentoval, že softwarové inženýrství je inženýrství.
- Tovární výroba
- Programy se vyrábějí určitou posloupností kroků, podobně jako tovární výroba. Je však nemyslitelné, že by se jednalo o striktně pásovou výrobu, kdy jeden programátor přidá do aplikace tlačítko, další programátor napíše na tlačítko popisek atd. Nicméně podobnost s tovární výrobou vedla k návrhu některých metodologií, které se snaží zrychlit a zkvalitnit výrobu programů.
- Management
- Komerční i větší nekomerční softwarové projekty potřebují management pro rozpočet, plánování času, najímání a řízení lidských i dalších zdrojů (počítačů, kanceláří…), což patří do činnosti manažera. Na rozdíl od managementu však programátoři vytvářejí produkty, takže mohou vykazovat činnost.
- Umění
- Programátoři provádějí mnoho tvůrčích činností, podobně jako spisovatelé nebo malíři. I dobře navržené grafické uživatelské rozhraní programů je možné považovat za esteticky hodnotné. Navíc pojem „dobrý program“ je velmi subjektivní, a je často hodnocen více citem, než měřením. I pojmenování tříd a proměnných se řídí vkusem. Donald Ervin Knuth často zdůrazňuje, že programování je umění, jeho nejslavnější dílo se jmenuje The Art of Computer Programming (kde slovo Art znamená umění).

