Název:

Praktické aspekty vývoje software

Zkratka:IVS
Ak.rok:2017/2018
Semestr:letní
Studijní plán:
ProgramOborRočníkPovinnost
IT-BC-3BIT1.volitelný
Vyučovací jazyk:čeština
Informace veřejné:http://www.fit.vutbr.cz/study/courses/IVS/public/
Kredity:5 kreditů
Ukončení:klasifikovaný zápočet
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:2600026
 zkouškatestycvičenílaboratořeostatní
Body:0300070
Garant:Smrž Pavel, doc. RNDr., Ph.D. (UPGM)
Přednášející:Dytrych Jaroslav, Ing., Ph.D. (UPGM)
Grochol David, Ing. (UPSY)
Smrž Pavel, doc. RNDr., Ph.D. (UPGM)
Vaverka Filip, Ing. (UPSY)
Veigend Petr, Ing. (UITS)
Wiglasz Michal, Ing. (UPSY)
Cvičící:Bartl Vojtěch, Ing. (UPGM)
Dytrych Jaroslav, Ing., Ph.D. (UPGM)
Fajčík Martin, Ing. (UPGM)
Grochol David, Ing. (UPSY)
Špaňhel Jakub, Ing. (UPGM)
Vaverka Filip, Ing. (UPSY)
Veigend Petr, Ing. (UITS)
Wiglasz Michal, Ing. (UPSY)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav počítačové grafiky a multimédií FIT VUT v Brně
Prerekvizity: 
Úvod do softwarového inženýrství (IUS), UITS
Základy programování (IZP), UIFS
 
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.
Anotace:
  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.
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ů.
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ů)
Literatura referenční:
 
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
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ů.
 

Vaše IPv4 adresa: 54.158.52.166
Přepnout na IPv6 spojení

DNSSEC [dnssec]