Jste zde

17PBTSI1 - Základy softwarového inženýrství I.

Kód Zakončení Kredity Rozsah Jazyk výuky
17PBTSI1 Z,ZK 4 2P+2C česky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra informačních a komunikačních technologií v lékařství
Anotace:

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:

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

Osnova přednášek:

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ů

Osnova cvičení:

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ů

Cíle studia:
Studijní materiály:
Poznámka:
Předmět je součástí následujících studijních plánů:
Materiály ke stažení: