Fakulta informačních technologií VUT v Brně

Detail předmětu

Praktické aspekty vývoje software

IVS Ak. rok 2017/2018 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

česky

Zakončení

klasifikovaný zápočet (písemná)

Rozsah

26 hod. přednášky, 26 hod. projekty

Bodové hodnocení

30 půlsemestrální test, 70 projekty

Zajišťuje ústav

Přednášející

Dytrych Jaroslav, Ing., Ph.D. (UPGM FIT VUT)
Grochol David, Ing. (UPSY FIT VUT)
Smrž Pavel, doc. RNDr., Ph.D. (UPGM FIT VUT)
Vaverka Filip, Ing. (UPSY FIT VUT)
Veigend Petr, Ing. (UITS FIT VUT)
Wiglasz Michal, Ing. (UPSY FIT VUT)

Cvičící

Bartl Vojtěch, Ing. (UPGM FIT VUT)
Dytrych Jaroslav, Ing., Ph.D. (UPGM FIT VUT)
Fajčík Martin, Ing. (UPGM FIT VUT)
Grochol David, Ing. (UPSY FIT VUT)
Špaňhel Jakub, Ing. (UPGM FIT VUT)
Vaverka Filip, Ing. (UPSY FIT VUT)
Veigend Petr, Ing. (UITS FIT VUT)
Wiglasz Michal, Ing. (UPSY FIT VUT)

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ů.

Dovednosti, znalosti a kompetence obecné

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.

Prerekvizity

Literatura studijní

  • Ken Schwaber, 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í

Osnova přednášek

  1. Úvod, praktická pravidla pro psaní udržovatelného kódu, refaktorizace a efektivní využití IDE
  2. Testování software, TDD (Test-Driven Development) a jeho použití při vývoji v týmu
  3. Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
  4. Systémy pro distribuovanou správu verzí, GIT
  5. Typy dokumentace, generování programové dokumentace z kódu, identifikace existujících komponent a využívání knihoven dostupných na různých platformách
  6. Sestavení programů, Make, Cmake a Qmake
  7. Uživatelská rozhraní
  8. Debugging, bugtracking a QA
  9. Demonstrační cvičení a půlsemestrální test (mimo čas přednášky)
  10. Nasazení programů
  11. Urychlování výpočtů, možnosti paralelizace a profiling
  12. Programovací jazyky a paradigmata, SWIG a práce se starším kódem
  13. Přednáška pozvaných expertů z firemní praxe

Osnova ostatní - projekty, práce

  1. Definice testů (18 bodů)
  2. Projekt zaměřený na spolupráci v týmu (52 bodů)

Průběžná kontrola studia

  • Půlsemestrální písemný test (30 bodů)
  • Projekty (18 bodů za individuální a 52 bodů za týmový, celkem 70 bodů)
  • V hodnocení týmového projektu je zahrnuta veřejná obhajoba za 5 bodů (veřejný projev, ze kterého je pořizován záznam).

Podmínky zápočtu

Získání alespoň 50 bodů.

Zařazení předmětu ve studijních plánech

  • Program IT-BC-3, obor BIT, 1. ročník, volitelný
Nahoru