Název:

Praktické aspekty vývoje software

Zkratka:IVS
Ak.rok:2018/2019
Semestr:letní
Studijní plán:
ProgramObor/
specializace
Roč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)
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)
Doležal Jan, Ing. (UPGM)
Dytrych Jaroslav, Ing., Ph.D. (UPGM)
Fajčík Martin, Ing. (UPGM)
Kadlubiak Kristián, Ing. (UPSY)
Kukliš Filip, Ing. (UPSY)
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
Rozvrh:
DenVýukaTýdenMístnostOdDoPSKSkupiny
PoObhajoby projektů2019-05-06E112 12:0018:501BIA 1BIB 2BIA 2BIB 3BIT
Popoč. lab - instalace u zákazníka2019-04-29N205 13:0018:50
ÚtObhajoby projektů2019-05-07E112 12:0018:501BIA 1BIB 2BIA 2BIB 3BIT
Útpoč. lab - instalace u zákazníka2019-04-30N204 N205 18:0019:50
Stzkouška - Půlsemestrální zkouška2019-04-10A112 09:0011:501BIA
Stzkouška - Půlsemestrální zkouška2019-04-10L314 10:0014:501BIA
Stzkouška - Půlsemestrální zkouška2019-04-10D0206 D105 E105 12:0013:501BIA 1BIB 2BIA 2BIB 3BIT
Stzkouška - Půlsemestrální zkouška2019-04-10L304 13:0014:501BIA
ČtObhajoby projektů2019-05-09D0207 15:0017:501BIA 1BIB 2BIA 2BIB 3BIT
Čtpoč. lab - instalace u zákazníka2019-05-02N203 N204 17:0019:50
ČtObhajoby projektů2019-05-09E112 17:0018:501BIA 1BIB 2BIA 2BIB 3BIT
poč. lab - instalace u zákazníka2019-05-03N105 09:0011:50
Obhajoby projektů2019-05-10E112 11:0018:501BIA 1BIB 2BIA 2BIB 3BIT
poč. lab - instalace u zákazníka2019-05-03N105 13:0014:50
 
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áší 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: 54.167.47.248