ÚVOD / Studijní obory / Sylaby / Procesy vývoje software

Procesy vývoje software

Cílem předmětu je získání kontextové znalosti ve sféře procesů a organizace vývoje softwaru. Výuka je orientována především na problémy, které musí řešit vývojový tým při realizaci projektů. Důraz je rovněž kladen na pochopení základních principů, detailnější znalosti získají studenti v dalších kurzech.

Sylabus předmětu

  1. Kick start - co je "software", co je proces vývoje software a proč je nezbytné se jím zabývat, na co naráží současné vývojové projekty (statistiky úpěšnosti), co vše musí "umět" společnost zabývající se vývojem softwaru, přehled trhu.
  2. Základní požadavky  na softwarové produkty - kvalita, kvantita, termín, rozpočet - detailní vysvětlení, dobré a špatné příklady z konkrétních projektů. Jaká jsou rizika při softwarovém vývoji. Pochopení, že úspěšný projekt dokáže vyvážit proti sobě jdoucí faktory KKTR.
  3. Znalosti při vývoji softwaru - technologie, proces, business, prostředí zákazníka, softskills - detailní vysvětlení, nutnost vyváženosti znalostí. Pochopení, že neúpěšný je ten, kdo nemá v daném kontextu znalosti v požadované proporci. Příklady projektů, které selhaly v důsledku chybějícího typu znalosti.
  4. Metodika vývoje softwaru - jak se řídí projekt - co je metodika a metodologie, co jí obvykle tvoří, jak se ve společnosti využívá. Historický kontext pohledu na metodiku (vodopádový model, ... ). Pochopení, že metodika je pouze základem, který je nutno uzpůsobit (rozšířit, omezit, upravit) pro konkrétní situaci. Příklad konkrétní implementované metodiky.
  5. Přehled současných "metodik" I - RUP, XP, ITIL, CMMI, PRINCE2 atd. Vysvětlení, jaké existují metodiky (procesní frameworky, atd.), jaký je mezi nimi vztah (tradiční vs. agilní, atd.), na co je lze použít. Cílem je pouze kontextová znalost a základní pojmy.
  6. RUP I - základní model (R)UPu (aktivity, artefakty, role, ...), organizace RUPu (disciplíny, fáze, ...), hlavní přínosy RUPu jako tradiční metodiky vývoje software.
  7. RUP II - 6 nejlepších praktik. Rozšíření RUP: AUP, EUP, atd.
  8. Fáze a disciplíny vývoje softwaru - vysvětlení, jaké časové a věcné dimenze má vývojový projekt a jak jimi iterativně prochází (úvodní studie, technický projekt, implmenetace, nasazení).
  9. Správa požadavků - co obnáší komunikace se zákazníkem, jaké jsou typy  požadavků a jakým způsobem je lze zachycovat. Principy případů užití. Vysvětlení, jaké vlastnosti musí mít analytik/správce požadavků.
  10. Návrh a implementace - jak se postupuje při hledání řešení (realizace požadavků) v konkrétním prostředí. Principy UML. CASE nástroje. Na co vše je třeba dbát při návrhových rozhodnutích.
  11. Testování - principy verifikace a validace na softwarových projektech. Co vše lze testovat, kdo testuje, jaké jsou nástroje, co lze automatizovat. Pochopení, že testování je nedílnou součástí každého vývoje.
  12. Configuration management a deployment - jak probíhá nasazování a integrace systémů, co je správa verzí a jaké přináší problémy.

Organizace výuky

Prezenční forma

Výuka probíhá ve 3 přednáškách.

Kombinovaná forma

Výuka probíhá v 1 bloku o délce 3 hodin.

Doporučená literatura

Základní učební texty a pomůcky

  • Učební texty k předmětu Procesy vývoje software (intranetová učební pomůcka), Unicorn College
  • KROLL, P., KRUCHTEN, P.: The Rational Unified Process Made Easy: A Practitioner's Guide to Rational Unified Process, Addison-Wesley Professional, 2003
  • VITOUŠ, O., ŠTORK, R.: Rational Unified Process - stručný průvodce. Unicorn Multimedia, 2000
  • SHORE, J., WARDEN, S.: The Art of Agile Development. O'Reilly Media, 2007.

Doplňující a rozšiřující učební texty

  • BECK, K.: Extrémní programování, Grada, 2002
  • PALETA, P.: Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi, Computer Press, 2003
  • STOBER, T., HANSMANN, U.: Agile Software Development: Best Practices for Large Software Development Projects. Springer, 2009.

Internetové a intranetové zdroje

  • Učební texty k předmětu Procesy vývoje software (intranetová učební pomůcka), Unicorn College
  • Podcasty s videopřednáškami z prezenční formy, Unicorn College
  • Selftesty k tématům, Unicorn College
  • Rational Unified Process, verze 2003, IBM – produkt je dostupný v místní počítačové síti
  • http://agilemanifesto.org
  • http://www.extremeprogramming.org
  • http://www.prince2.org.uk
  • http://www.prince2.com