Softvérové inžinierstvo II

Vyučujúci

Zaradený v študijných programoch

Výsledky vzdelávania

Výstupy vzdelávania po absolvovaní predmetu
Znalosti (vedomosti)
B. Poznať základné diagramy UML a pravidlá ich tvorby v kontexte objektovo orientovaného návrhu softvéru.
C. Rozumieť základným myšlienkam moderných aj klasických metodík softvérového inžinierstva a ich odlišnostiam.
E. Poznať základné princípy návrhu modernej architektúry softvéru a ich význam pre kvalitu systému.
F. Poznať princípy testovania softvéru a význam testovacích scenárov v procese vývoja.
G. Rozumieť významu etapy udržiavania softvéru v životnom cykle softvérového systému.
Zručnosti
A. Navrhovať programové systémy pomocou objektovo orientovaného prístupu.
D. Používať primerané metódy a techniky objektovo orientovaného modelovania pri definícii, analýze, návrhu, implementácii, testovaní a prevádzke softvérových systémov.
F. Navrhovať testovacie scenáre zodpovedajúce funkčným a nefunkčným požiadavkám softvéru.
J. Vypracovať technickú dokumentáciu (správu) popisujúcu navrhnuté softvérové riešenie.
Kompetentnosti
H. Chápať spôsob práce a organizáciu vývojového tímu a efektívne pôsobiť ako jeho súčasť.
I. Prezentovať a obhajovať navrhované riešenia na profesionálnej úrovni s využitím odbornej argumentácie.
J. Niesť zodpovednosť za kvalitu, zrozumiteľnosť a úplnosť technickej dokumentácie a prezentovaných riešení.

Stručná osnova predmetu

1. Úvod do OO prístupu k tvorbe softvéru. Základy objektovej orientácie (objekt, trieda, abstrakcie, zapúzdrenie, dedičnosť, polymorfizmus). Modelovanie, úrovne abstrakcie, Modelovacie techniky objektovo -orientovaného návrhu, Unified Modelling Language (UML), popis, klasifikácia diagramov UML
2. Diagram tried, vlastnosti, asociácie, stereotypy,
3. Tvorba analytického modelu (analytické triedy), Sekvenčný diagram,
4. Ukladanie objektov - OR mapovanie, Activity diagram, Collaboration (Stavový diagram).
5. Etapa návrhu softvéru. Architektúra a návrh architektúry.
6. Balíčky (package diagram), komponentový diagram. Vzory.
7. Prechod do etapy podrobného návrhu, návrhové triedy, návrh užívateľského rozhrania.
8. Porovnanie jednotlivých prístupov k analýze a návrhu. Implementácia softvérových systémov: programovacie jazyky, stratégie implementácie, dokumentácia k softvérovému produktu.
9. Testovanie softvérových systémov, statické a dynamické testovanie; techniky testovania (biela skrinka, čierna skrinka, prehliadanie programu, verifikácia programov), stratégie testovania. Úloha validácie a verifikácie pri vývoji softvéru.
10. Prevádzka a údržba softvérových systémov, (znovupoužiteľnosť, zmeny požiadaviek, verzovanie, reengineering), správa konfigurácií softvérových systémov. Počítačová podpora tvorby softvéru, CASE prostriedky.
11. Úvod do problematiky riadenia softvérových projektov. Základné procesy manažmentu softvérového projektu (inicializácia, plánovanie, riadenie, vykonávanie, ukončenie).
12. Ekonomika tvorby softvéru, formálne náležitosti a tvorba zmluvných vzťahov pri softvérových projektoch.
13. Manažment kvality a meranie v softvérovom inžinierstve. Etika tvorby softvéru, ochrana intelektuálneho vlastníctva, etický kódex softvérového inžiniera

Odporúčaná literatúra

1. Somerville, I.: Software Engineering, Addison-Wesley, 9. vydanie, 2011.
2. Russev S. a kol.:Softvérové inžinierstvo, Ekonóm Bratislava 2006
3. Fowler, M. 2009. Destilované UML. Grada Publishing a.s., ISBN 9788024720623.
4. Kadlec, V. 2004. Agilní programování: metodiky efektivního vývoje softwaru. Computer Press, ISBN 9788025103425.
5. Kanisová, H. 2006. UML srozumitelně. Computer Press, ISBN 9788025110836.
6. Schach, S.R. 2002. Object-oriented and classical software engineering. McGraw-Hill, ISBN 9780071122634.

Sylabus predmetu

1. Predmet uvádza objektovo-orientovaný prístup k tvorbe softvéru a základné princípy objektovej orientácie. Vysvetľujú sa pojmy objekt, trieda, abstrakcia, zapúzdrenie, dedičnosť a polymorfizmus spolu s významom modelovania a úrovní abstrakcie. 2. Pozornosť sa venuje diagramu tried ako základnému nástroju objektového modelovania. Rozoberajú sa vlastnosti tried, asociácie medzi triedami a použitie stereotypov pri návrhu systému. 3. Preberá sa tvorba analytického modelu pomocou analytických tried. Sekvenčné diagramy sa používajú na zachytenie interakcií medzi objektmi a dynamiky správania systému. 4. Obsahom je ukladanie objektov a princípy objektovo-relačného mapovania. Vysvetľujú sa activity diagramy, diagramy spolupráce a stavové diagramy na modelovanie správania systému. 5. Predmet sa venuje etape návrhu softvéru so zameraním na architektúru systému. Zdôrazňuje sa význam architektonických rozhodnutí pre kvalitu, rozšíriteľnosť a udržiavateľnosť softvéru. 6. Rozoberá sa modularizácia systému pomocou balíčkov a package diagramov. Súčasťou je komponentový diagram a úvod do návrhových vzorov ako overených riešení návrhových problémov. 7. Vysvetľuje sa prechod do etapy podrobného návrhu softvéru. Pozornosť sa venuje návrhovým triedam a základným princípom návrhu užívateľského rozhrania. 8. Porovnávajú sa rôzne prístupy k analýze a návrhu softvéru. Preberá sa implementácia softvérových systémov, výber programovacích jazykov, stratégie implementácie a dokumentácia k softvérovému produktu. 9. Obsahom je testovanie softvérových systémov pomocou statických a dynamických metód. Rozoberajú sa techniky testovania, stratégie testovania a úloha verifikácie a validácie pri vývoji softvéru. 10. Pozornosť sa venuje prevádzke a údržbe softvérových systémov. Preberajú sa otázky znovupoužiteľnosti, zmien požiadaviek, verzovania, reengineeringu a správy konfigurácií vrátane CASE nástrojov. 11. Predmet poskytuje úvod do riadenia softvérových projektov. Vysvetľujú sa základné procesy manažmentu projektu od inicializácie cez plánovanie až po ukončenie projektu. 12. Rozoberá sa ekonomika tvorby softvéru a finančné aspekty softvérových projektov. Pozornosť sa venuje formálnym náležitostiam a tvorbe zmluvných vzťahov. 13. Záverečná časť sa venuje manažmentu kvality a meraniu v softvérovom inžinierstve. Zdôrazňujú sa etické aspekty tvorby softvéru, ochrana intelektuálneho vlastníctva a etický kódex softvérového inžiniera.

Podmienky na absolvovanie predmetu

Skúška 60% hodnotenia. Skúška pozostáva z dvoch častí: testu a úlohy z OO modelovania. Testom sa overuje dosiahnutá úroveň výsledkov vzdelávania A., C., D., E., F., G., riešením problémovej úlohy sa overuje dosiahnutá úroveň výsledkov vzdelávania B., D., E., F.
Cvičenia 40% Náplňou cvičení je vypracovanie a obhájenie projektu, na ktorom študenti pracujú v skupinách, ktoré majú definovaného svojho tím lídra. Tím lídra si volia študenti spomedzi seba. Prácu v skupinách si študenti organizujú autonómne a riadi ju teamlíder. Hodnotenie výsledkov práce skupiny (predložený projekt) je hodnotený ako celok za celú skupinu, ohodnotenie príspevku individuálnych členov skupiny na hodnotení skupiny je výsledkom internej dohody skupiny. Súčasťou hodnotenia individuálneho študenta je tiež jeho aktivita na oponovaní a hodnotení projektov iných skupín. Výsledky práce (projekt) sú skupinou predložené na hodnotenie počas semestra tri krát. Hodnotením projektov a hodnotením oponovania výsledkov práce iných skupín sa hodnotia nasledovné výsledky vzdelávania: A., B., D., E., F., H., I., J.

Pracovné zaťaženie študenta

Celková záťaž štúdia (v hodinách): 5 kreditov x 26 hodín = 130 hodín
Rozdelenie študijného zaťaženia:
Účasť na prednáškach a seminároch: 52 hodín
Príprava na semináre: 13 hodín
Písomné úlohy: 45 hodín
Príprava na záverečnú skúšku: 20 hodín

Jazyk, ktorého znalosť je potrebná na absolvovanie predmetu

slovenský

Dátum schválenia: 04.03.2025

Dátum poslednej zmeny: 04.01.2026

Dátum schválenia: 04.03.2025

Dátum poslednej zmeny: 04.01.2026