Detail předmětu

Praktické aspekty vývoje software

IVS Ak. rok 2023/2024 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

Koordinátor předmětu

Jazyk výuky

česky, anglicky

Zakončení

klasifikovaný zápočet

Rozsah

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

Bodové hodnocení

  • 30 bodů půlsemestrální test (písemná část)
  • 70 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Stránky předmětu

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

Doporučené prerekvizity

Literatura studijní

  • Ken Schwaber and Mike Beedle Agile Software Development with Scrum Addision-Wesley, 2002
  • 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.
  • S. A. Babkin: The Practice of Parallel Programming. Create Space, 2010. https://www.createspace.com/3438465
  • 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.
  • Dustin Boswell, Trevor Foucher: The Art of Readable Code. O'Reily, 2010. https://www.oreilly.com/library/view/the-art-of/9781449318482/
  • Scott Chacon: Pro Git, 2009 http://knihy.nic.cz/files/nic/edice/scott_chacon_pro_git.pdf
  • Fowler, M.: Refactoring: Improving the Design of Existing Code (2nd Edition), 2018.
  • J. Pérez López, L. Ribas i Xirgo: Introduction to Software development, 2010. http://ftacademy.org/sites/ftacademy.org/files/materials/fta-m7-fs_development.pdf
  • Baumann, H.; Grässle, P.; Baumann, P.: UML 2.0 in Action: A project-based tutorial. Birmingham: Packt Publishing, Prosinec 2009, ISBN 1-904811-55-8. Download
  • Pecinovský, R.: JUnit 5 : jednotkové testování na platformě Java, Grada, 2018, ISBN: 978-80-271-0733-9
  • Osterhage, W. W.: IT Quality Management. Berlin, Heidelberg: Springer Berlin / Heidelberg, 2015. ISBN 9783662437667.
  • Critchley, A. et al: Git® Notes for Professionals. GoalKicker.com, 2017.
  • Booth, J. D.: GitHub Succinctly. Syncfusion Inc. 2016.

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.OdDoKapacitaPSKSkupInfo
Po ostatní 2024-05-13 M104 M105 09:0010:50 05 - Obhajoby projektů 13. 5. 2024 v 9:00 v M104
Po ostatní 2024-04-29 N204 N205 10:0011:00 01 - 29.4.2024, 10:00 - 11:00, N204+N205
Po ostatní 2024-04-29 N204 N205 11:0012:00 02 - 29.4.2024, 11:00 - 12:00, N204+N205
Po ostatní 2024-05-13 M104 M105 11:0012:50 06 - Obhajoby projektů 13. 5. 2024 v 11:00 v M104
Po ostatní 2024-05-20 M104 M105 12:0013:50 12 - Obhajoby projektů 20. 5. 2024 ve 12:00 v M104
Po ostatní 2024-04-29 N204 N205 13:0014:00 03 - 29.4.2024, 13:00 - 14:00, N204+N205
Po ostatní 2024-05-13 M104 M105 14:0015:50 07 - Obhajoby projektů 13. 5. 2024 ve 14:00 v M104
Po ostatní 2024-05-20 M104 M105 14:0015:50 13 - Obhajoby projektů 20. 5. 2024 ve 14:00 v M104
Po ostatní 2024-05-13 M104 M105 16:0017:50 08 - Obhajoby projektů 13. 5. 2024 v 16:00 v M104
Po ostatní 2024-05-20 M104 M105 16:0017:50 14 - Obhajoby projektů 20. 5. 2024 v 16:00 v M104
Po ostatní 2024-04-29 N204 N205 17:0018:00 04 - 29.4.2024, 17:00 - 18:00, N204+N205
Po ostatní 2024-04-29 N204 N205 18:0019:00 05 - 29.4.2024, 18:00 - 19:00, N204+N205
Út ostatní 2024-05-14 M104 M105 09:0010:50 09 - Obhajoby projektů 14. 5. 2024 v 9:00 v M104
Út ostatní 2024-05-21 M104 M105 09:0010:50 15 - Obhajoby projektů 21. 5. 2024 v 9:00 v M104
Út ostatní 2024-05-21 M104 M105 11:0012:50 16 - Obhajoby projektů 21. 5. 2024 v 11:00 v M104
Út ostatní 2024-04-30 N204 N205 13:0014:00 06 - 30.4.2024, 13:00 - 14:00, N204+N205
Út ostatní 2024-04-30 N204 N205 14:0015:00 07 - 30.4.2024, 14:00 - 15:00, N204+N205
Út ostatní 2024-05-14 M104 M105 14:0015:50 10 - Obhajoby projektů 14. 5. 2024 ve 14:00 v M104
Út ostatní 2024-05-21 C235 14:0015:00 xx - Nesouhlasíme se záznamem a požadujeme náhradní řešení
Út ostatní 2024-05-14 M104 M105 16:0017:50 11 - Obhajoby projektů 14. 5. 2024 v 16:00 v M104
St přednáška 1., 3., 4., 5., 11. výuky D0206 D105 12:0013:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Dytrych
St přednáška 6., 9. výuky D0206 D105 12:0013:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Malík
St přednáška 7., 8., 10. výuky D0206 D105 12:0013:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Dytrych, Veigend
St přednáška 2024-02-14 D0206 D105 12:0013:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Kozák
zkouška 2024-04-05 A112 D0206 D0207 D105 E112 08:0009:50 Půlsemestrální zkouška
ostatní 2024-05-10 M104 M105 09:0010:50 01 - Obhajoby projektů 10. 5. 2024 v 9:00 v M104
cvičení 2024-04-19 D0206 D105 10:0011:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Regéciová Přednáška - Programovací jazyky a paradigmata, SWIG a práce se starším kódem
ostatní 2024-05-03 N204 N205 10:0011:00 08 - 3.5.2024, 10:00 - 11:00, N204+N205
seminář 2024-04-05 D0206 D105 10:0011:50470 1BIA 1BIB 2BIA 2BIB 3BIT xx Malík Demonstrační cvičení na pokročilý GIT II
ostatní 2024-05-03 N204 N205 11:0012:00 09 - 3.5.2024, 11:00 - 12:00, N204+N205
ostatní 2024-05-10 M104 M105 11:0012:50 02 - Obhajoby projektů 10. 5. 2024 v 11:00 v M104
ostatní 2024-05-24 C235 12:0013:00 Zápočet
ostatní 2024-05-03 N204 N205 13:0014:00 10 - 3.5.2024, 13:00 - 14:00, N204+N205
ostatní 2024-05-03 N204 N205 14:0015:00 11 - 3.5.2024, 14:00 - 15:00, N204+N205
ostatní 2024-05-10 M104 M105 14:0015:50 03 - Obhajoby projektů 10. 5. 2024 ve 14:00 v M104
ostatní 2024-05-03 N204 N205 15:0016:00 12 - 3.5.2024, 15:00 - 16:00, N204+N205
ostatní 2024-05-10 M104 M105 16:0017:50 04 - Obhajoby projektů 10. 5. 2024 v 16:00 v M104

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

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