Detail předmětu
Praktické aspekty vývoje software
IVS Ak. rok 2011/2012 letní semestr 5 kreditů
Základní koncepty použití unixové filosofie při vlastním programování, role testování kódu a vývoj řízený testy, vytváření komponentově orientovaného kódu, odhalování výkonnostních problémů, distribuovaná správa verzí, možnosti paralelizace výpočtů, zpracování velkých objemů dat, praktické zkušenosti vývojářů z firem.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 26 hod. přednášky
- 26 hod. projekty
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Studenti se seznámí s moderními přístupy k vývoji software, po úspěšné zvládnutí předmětu se budou lépe schopni začlenit do týmů pracujících nad společným kódem, budou moci demonstrovat znalosti nástrojů usnadňujících vznik výkonného a správně dokumentovaného kódu, stejně jako aplikací, které budou odpovídat potřebám koncových uživatelů.
Studenti se naučí řešit projekty. Zdokonalí se v praktickém užívání programátorských nástrojů, které se používají v reálném prostředí softwarových týmů.
Cíle předmětu
Poznat praktické aspekty vývoje programového vybavení v týmu, porozumět principům aplikací, které usnadňují vytváření a dokumentování projektů skládajících se z komponent, seznámit se možnostmi snadného prototypování grafických uživatelských rozhraní, pochopit předpoklady vzniku úspěšného svobodného software a měření upotřebitelnosti.
Doporučené prerekvizity
- Úvod do softwarového inženýrství (IUS)
- Základy programování (IZP)
Požadované prerekvizitní znalosti a dovednosti
Nejsou žádné prerekvizity.
Literatura studijní
- Ken Schwaber and Mike Beedle Agile Software Development with Scrum Addision-Wesley, 2002
- S. A. Babkin: The Practice of Parallel Programming. Create Space, 2010. https://www.createspace.com/3438465
Literatura referenční
- Dustin Boswell, Trevor Foucher: The Art of Readable Code. O'Reily, 2010. http://readable-code.labs.oreilly
- J. Pérez López, L. Ribas i Xirgo: Introduction to Software development. http://ftacademy.org/materials/fsm/7#1
- Scott Chacon Pro Git http://knihy.nic.cz/files/nic/edice/scott_chacon_pro_git.pdf
Osnova přednášek
- Úvod, motivace, základní pojmy, organizace předmětu
- Praktická aplikace unixové filosofie při programování
- TDD (Test-Driven Development) a jeho použití při vývoji v týmu
- Odhalování chyb, profiling, debugging
- Identifikace existujících komponent, využívání knihoven dostupných na různých platformách, programy pro sestavování jako samodokumentující prostředí
- Systémy pro distribuovanou správu verzí, GIT
- Nástroje pro vytváření funkčních maket
- Měření upotřebitelnosti, zážitky uživatelů
- Urychlování výpočtů, možnosti paralelizace
- Generování programové dokumentace z kódu
- Využívání alternativních paradigmat programování při zpracování velkých dat
- Přednáška pozvaných expertů z firemní praxe
- Prezentace výsledků projektů
Průběžná kontrola studia
Získání alespoň 50 bodů.
Kontrolovaná výuka
- Půlsemestrální písemný test (30 bodů)
- Projekty (celkem 70 bodů)