Život na škole Přijímací řízení Unicorn College Studium O nás Hlavní stránka

Procesy vývoje software

Základní informace
Počet kreditů
6
Počet přednášek / týden
2 vh
Počet cvičení / týden
2 vh
Počet tutoriálů / semestr
6x 4 vh
 
Doporučená literatura
Programming Ruby: The Pragmatic Programmers' Guide: Thomas D., Fowler C., Hunt A.
 OOP Objektově orientované programování bez předchozích znalostí: Keogh J., Giannini M.
 
 
 
 
 
 
 
 
 
Cílem předmětu je poskytnout studentům kontextové znalosti ve sféře procesů a organizace vývoje softwaru (přednášky) s spolu s vysvětlením a procvičením principů objektově orientovaného programování (semináře). Předmět je orientován 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.
Obsah 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. Přehled současných "metodik" II
    dokončení předchozí části, shrnutí.
  7. Rational Unified Process
    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. 6 nejlepších praktik. UES jako implementace myšlenek RUPu.  Konkrétní příklad projektu v implementaci RUPu. Rozšíření 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 a agilního modelování (UUBML). CASE nástroje. Modelovací antipatterny. 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.
 
© Unicorn College 2010