Detail předmětu

Praktické aspekty vývoje software

IVS Ak. rok 2020/2021 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.

Aktuální informace

  • 13. přednáška (5. 5. 2021) se uskuteční online (pozor, nový odkaz)

Garant předmětu

Zástupce garanta předmětu

Jazyk výuky

český

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í

Cvičící

Bambušek Daniel, Ing. (UPGM FIT VUT)
Bartl Vojtěch, Ing. (UPGM FIT VUT)
Dočekal Martin, Ing. (UPGM FIT VUT)
Doležal Jan, Ing. (UPGM FIT VUT)
Dytrych Jaroslav, Ing., Ph.D. (UPGM FIT VUT)
Fajčík Martin, Ing. (UPGM FIT VUT)
Chlubna Tomáš, Ing. (UPGM FIT VUT)
Kadlubiak Kristián, Ing. (UPSY FIT VUT)
Kišš Martin, Ing. (UPGM FIT VUT)
Ondřej Karel, Ing. (UPGM FIT VUT)
Rydlo Štěpán, Ing. (UITS FIT VUT)
Švec Tomáš, Ing. (UPGM FIT VUT)
Veigend Petr, Ing. (UITS FIT VUT)
Vlnas Michal, Ing. (UPGM FIT VUT)

Stránky předmětu

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

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.

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.

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

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

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

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Poostatní2021-05-24 G202 09:0016:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Útostatní2021-05-18 G202 10:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Stostatní2021-05-19 G202 10:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Stpřednáškavýuky D0206 D105 12:0013:50 1BIA 1BIB 2BIA 2BIB 3BIT xx
Stpřednáška1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11. výuky D105v 12:0013:50YT, ZP
Čtostatní2021-05-20 G202 13:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
ostatní2021-05-21 G202 09:0017:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
zkouška2021-04-23 A112 A113 D0206 D0207 D105 E105 E112 G202 12:0013:50 1BIA 1BIB 2BIA 2BIB 3BIT Půlsemestrální zkouška

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

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