Název:

Praktické aspekty vývoje software

Zkratka:IVS
Ak.rok:2019/2020
Semestr:letní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
BIT-1.volitelný
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)
Zástupce garanta:Dytrych Jaroslav, Ing., 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)
Wiglasz Michal, Ing. (UPSY)
Cvičící:Bartl Vojtěch, Ing. (UPGM)
Dytrych Jaroslav, Ing., Ph.D. (UPGM)
Grochol David, Ing. (UPSY)
Špaňhel Jakub, Ing. (UPGM)
Vaverka Filip, Ing. (UPSY)
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
Rozvrh:
DenVýukaTýdenMístnostOdDoPSKSkupiny
ÚtpřednáškavýukyD105 08:0009:501BIA 1BIB 2BIA 2BIB 3BIT xx
 
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ém 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ů.
Proč je předmět vyučován:
  Předmět IVS vznikl jako přípravný kurz pro spolupráci studentů na výzkumu na FIT. Studentům poskytne nadhled nad celým procesem vývoje SW od plánování, přes návrh, implementaci a testování až po finální nasazení produktu u zákazníka. Absolvent předmětu bude vědět, co jednotlivé fáze vývoje SW obnášejí a jaké se v nich používají nástroje, což mu mimo jiné umožní lepší orientaci při výběru jeho specializace a dalších volitelných předmětů. Podstatnou součástí předmětu je i příprava studentů k týmové spolupráci na vývoji SW a seznámení s nástroji pro správu verzí, protože to jsou základní znalosti a dovednosti pro vývoj jakéhokoliv většího SW.
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. Půlsemestrální test
  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
  • BATH, Graham a Judy MCKAY. The software test engineer's handbook. Santa Barbara: Rocky Nook, 2008, xviii, 397 s. ISBN 978-1-933952-24-6.
  • STEPHENS, Matt a Doug, ROSENBERG. Testování softwaru řízené návrhem. Brno: Computer Press, 2011, 336 s. : il., portréty. ISBN 978-80-251-3607-2.
Průběžná kontrola studia:
  
  • Půlsemestrální písemný test (30 bodů)
  • Projekty (celkem 70 bodů)
Podmínky zápočtu:
  Získání alespoň 50 bodů.
 

Vaše IPv4 adresa: 34.229.126.29