Nástroje pro vývoj software
Semestr | zimní 2018/2019 |
---|---|
Vyučující | Pavel Parízek |
Rozvrh | Po 10:40 SU2 Út 10:40 SU2 |
Informace (SIS) | NSWI154 |
Důležitá sdělení
Anotace
Cílem předmětu je
- získat přehled o dostupných nástrojích, které nám mohou pomoci řešit časté problémy při vývoji softwaru
- naučit se základy práce s nejpoužívanějšími z těchto nástrojů
To se může hodit
- během studia při práci na zápočtových programech, ročníkovém projektu, a týmovém softwarovém projektu na MFF - znalost vybraných nástrojů zvýší efektivitu práce a sníží čas potřebný na úspěšné dokončení projektu (studijni povinnosti)
- pro zapojení se do vývoje open-source projektů - během magisterského studia je k tomu ojedinělá příležitost a je to velmi efektivní způsob, jak se naučit programovat, nemluvě o výhodách při hledání uplatnění po dokončení studia
- také při vývoji komerčního software, kde se určité nástroje používají povinně (např. správa verzí, sledování chyb, testování) - tam předchozí znalost usnadní život a pomůže zvýšit produktivitu (vývojová prostředí, automatické hledání chyb)
Výběr probíraných nástrojů je zaměřen na open-source projekty a open-source systémy. Tyto převládají v akademické sféře a jsou silně zastoupeny i ve firmách zabývajících se vývojem software.
Výuka pokryje zejména tyto oblasti: správa verzí, sestavování aplikací, testování funkčnosti, hledání chyb, zaznamenávání událostí při běhu programu, sledování výkonu, generování dokumentace, a integrovaná vývojová prostředí.
Předpoklady
Předmět je navržen pro studenty druhého a třetího ročníku bakalářského studia, kteří mají zkušenosti v těchto oblastech:
- velmi dobrá uživatelská znalost platforem UNIX/Linux a Windows
- psaní jednoduchých skriptů pro UNIX/Linux a systémové utility
- základní programátorské zkušenosti na úrovni druhého ročníku MFF
- znalost aspoň jednoho z programovacích jazyků C#, Java, a C/C++
Harmonogram (materiály)
Téma (nástroj) | Datum |
---|---|
Organizační informace | 1.10.2018 / 2.10.2018 |
Nástroje pro správu verzí (Subversion) | 8.10.2018 / 9.10.2018 |
Distribuovaná správa verzí (Git) | 15.10.2018 / 16.10.2018 |
Sestavování aplikací (Ant, MSBuild) | 22.10.2018 / 23.10.2018 |
Sestavování aplikací (Make) | 29.10.2018 / 30.10.2018 |
Sestavování aplikací (Maven, Gradle, Autotools, CMake) | 12.11.2018 / 13.11.2018 |
Testování funkčnosti (JUnit, MSTest) | 19.11.2018 / 20.11.2018 |
Debugování (GDB, Valgrind) a hledání chyb (FindBugs, Clang) | 26.11.2018 / 27.11.2018 |
Sledování událostí a procesu vývoje | 3.12.2018 / 4.12.2018 |
Generování dokumentace a zdrojového kódu | 10.12.2018 / 11.12.2018 |
Analýza výkonu (GProf, JMeter) | 17.12.2018 / 18.12.2018 |