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í).