Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
17PBTSI1 | Z,ZK | 4 | 2P+2C | česky |
Předmět si klade za cíl jasně a srozumitelně diskutovat základní aspekty softwarového inženýrství v praxi, na reálných
projektech, ve skutečném životě. Studenti se seznamují s metodami analýzy a návrhu rozsáhlejších softwarových celků,
které jsou typicky navrhovány a realizovány v týmech. Studenti se seznamují s CASE nástroji využívající vizuálního
jazyka UML pro modelování a řešení softwarových problémů. Studenti se seznamují s problematikou objektově
orientované analýzy, návrhu architektury, metod validace, verifikace a testování. Dále se student seznámí se základními
postupy a nástroji pro řízení vývoje softwarových produktů jako jsou nástroje projektového řízení, nástroje pro verzování
zdrojových kódů jako je SVN, Git čí Team Foundation Server. Studenti se rovněž seznámí s metodami pro řízení kvality
softwarových projektů, jako jsou Unit testy, systémy kontinuální integrace a build servery. Hlavní snahou je ilustrovat
běžný projektový život tak, jak jej posluchač předmětu s největší pravděpodobností v blízké budoucnosti zažije a bude
po zbytek své praxe prožívat. V průběhu semestru jsou probrány jednotlivé oblasti softwarového inženýrství (od
analýzy, architektury, přes konstrukci, testování, dokumentaci, projektový management, atd.) - vždy s potřebným
teoretickým úvodem, ale současně s velkým důrazem na praxi, praktické zkušenosti a s řadou ukázek a příkladů.
Požadavky k zápočtu:
. Účast na cvičení (povoleny 2 absence)
. Aktivní práce s vlastním repository uloženém na serveru:
o Vytvoření libovolného projektu ve Visual Studiu
o Provedení 1 nebo více commitů
. Vytvoření a uložení SQL skriptů, které budou nad společnou databází, do repository
o Skript pro čtení dat z libovolné tabulky
o Skript pro vymazání dat, které splňují danou podmínku, z libovolné tabulky
o Skript pro update dat, které splňují danou podmínku, z libovolné tabulky
o Skript pro uložení nových dat do libovolné tabulky
o Skript pro spojení (join) dvou tabulek a zobrazení pouze části údajů
. Vytvoření UML use case diagramu pro online objednávání k lékaři
o Diagram
o Slovní popis jednotlivých bloků k diagramu
1. Úvod do softwarového inženýrství, struktura předmětu, terminologie
2. Vývoj softwaru, softwarový produkt
3. Etapy vývoje softwarových systémů, modely životního cyklu softwaru
4. Analýza a specifikace požadavků (funkční a nefunkční požadavky, validace požadavků, formální specifikace)
5. Metody specifikace požadavků, modelovací techniky strukturované a objektově orientované analýzy
6. Modelovací techniky strukturovaného návrhu
7. Modelovací techniky objektově orientovaného návrhu, Unified Modelling Language (UML)
8. Vybrané modelovací prostředky UML (diagram případů použití, diagram tříd, stavový diagram, diagram
aktivit)
9. Komplexní modelování pomocí UML
10. Úloha validace a verifikace při vývoji softwaru
11. Implementace, testování a údržba softwaru (znovupoužitelnost, změny požadavků, verzování, reengineering,
počítačová podpora)
12. Implementace, testování a údržba softwaru, kontinuální integrace
13. Agilní metody vývoje softwaru, extrémní programování a prototypování
14. Úvod do problematiky řízení softwarových projektů
1. Úvod do softwarového inženýrství, struktura předmětu, terminologie
2. Vývoj softwaru, softwarový produkt
3. Etapy vývoje softwarových systémů, modely životního cyklu softwaru
4. Analýza a specifikace požadavků (funkční a nefunkční požadavky, validace požadavků, formální specifikace)
5. Metody specifikace požadavků, modelovací techniky strukturované a objektově orientované analýzy
6. Modelovací techniky strukturovaného návrhu
7. Modelovací techniky objektově orientovaného návrhu, Unified Modelling Language (UML)
8. Vybrané modelovací prostředky UML (diagram případů použití, diagram tříd, stavový diagram, diagram
aktivit)
9. Komplexní modelování pomocí UML
10. Úloha validace a verifikace při vývoji softwaru
11. Implementace, testování a údržba softwaru (znovupoužitelnost, změny požadavků, verzování, reengineering,
počítačová podpora)
12. Implementace, testování a údržba softwaru, kontinuální integrace
13. Agilní metody vývoje softwaru, extrémní programování a prototypování
14. Úvod do problematiky řízení softwarových projektů