Předmět: Pokročilé softwarové inženýrství

« Zpět
Název předmětu Pokročilé softwarové inženýrství
Kód předmětu KIV/ASWI
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 6
Vyučovací jazyk Čeština
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Melichar Petr, doc. Ing. MSc., Ph.D.
Obsah předmětu
Přehled témat přednášek (nejedná se o rozpis do výukových týdnů). 1. Motivace k předmětu. Etika a profesionalita v sw inženýrství. 2. Softwarový proces a jeho části, speciální případy, vztah/kontext k systémovému inženýrství a řízení jakosti sw. 3. Modely životního cyklu software, diskuse jejich vlastností. Iterativní vývoj software - prvky, postupy, fáze. Příklady konkrétních metodik - Scrum, RUP, V-model, DevOps. 4. Základy měření v oblasti software. Plánování a řízení vývoje sw, plán projektu a iterace. Odhady, měření a úpravy postupu. 5. Činnosti při definování produktu. Definice účelu sw produktu. Metody získávání, analýzy a dokumentace požadavků. Podrobná analýza a definice požadavků (funkční, mimofunkční), případy užití a user stories, související modely. 6. Architektura softwarového systému - prvky, pohledy, související dokumenty a modely. Souvislost požadavků a návrhu sw. Ověření architektury, spustitelná architektura. 7. Činnosti při konstrukci produktu. Konfigurační řízení - základní pojmy. Správa změn, verzí a sestavení, související postupy a vzory, podpůrné nástroje. Souvislost konfiguračního řízení s ostatními disciplinami ve vývoji sw systémů. 8. Předání produktu a uzávěrka projektu. Činnosti při nasazení produktu, provozu a údržbě, související nástroje a činnosti z oblasti IT governance. Průběžné dodávání a nasazování (CD, DevOps). Vyřazení produktu z provozu. 9. Kvalita v softwarovém inženýrství. Metody související s QA: metriky, verifikace a validace, reviews. QA systémy a normy pro oblast software (mj. CMMI, EN 50128, ISO 26262). 10. Zvaná přednáška (použití konkrétní metodiky nebo technik v praxi, případová studie vývoje sw systému, apod.).

Studijní aktivity a metody výuky
Přednáška s aktivizací, Skupinová konzultace, Demonstrace dovedností
  • Kontaktní výuka - 32 hodin za semestr
  • Vypracování seminární práce v magisterském studijním programu [5-100] - 10 hodin za semestr
  • Projekt týmový [20-60 / počet studentů] - 90 hodin za semestr
  • Příprava na zkoušku [10-60] - 24 hodin za semestr
Předpoklady
Odborné znalosti
přehledově znát notaci UML, její možnosti a typy diagramů, s podrobnějšími znalostmi nejčastěji používaných částí
umět vysvětlit principy práce databázových a webových aplikací
vysvětlit základní součásti životního cyklu softwarového systému, klíčové postupy a metody používané při tvorbě větších softwarových systémů
rozumět významu kvality software a umět vysvětlit způsoby jejího zajištění
popsat způsoby modelování a dokumentace software
znát způsoby použití nástrojů pro efektivní tvorbu programového kódu
chápat význam a způsoby využití informatiky ve společnosti jako celku i jednotlivých oborových oblastech
Předpokládané znalosti lze získat např. absolvováním KIV/DB1, KIV/ZSWI a KIV/OKS.
Odborné dovednosti
efektivně programovat alespoň v jednom vyšším programovacím jazyce, včetně práce s knihovnami, návrhovými vzory a vývojovými prostředími
pracovat jako člen týmu se samostatnou odpovědností za konkrétní součást rozsáhlého systému
realizovat a dokončit samostatný projekt podle konkrétního zadání
vytvářet srozumitelnou dokumentaci k programovým dílům, včetně UML diagramů tříd a případů užití
testovat i složitější počítačový či informační systém, nalézt v něm chybu a najít kroky k jejímu odstranění
utřídit, zpracovat a prezentovat získané informace písemnou i ústní formou v českém i anglickém jazyce; vytvořit dokumentaci k realizovanému dílu nebo jeho součásti
Předpokládané dovednosti lze získat např. absolvováním KIV/DB1, KIV/ZSWI a KIV/OKS.
Obecné způsobilosti
mgr. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce,
vyhledat, utřídit, zpracovat a prezentovat získané informace písemnou i ústní formou v českém i anglickém jazyce; vytvořit dokumentaci k realizovanému dílu nebo jeho součásti
Výsledky učení
Odborné znalosti
vysvětlit postupy plánování a řízení softwarových projektů, využití konkrétních meziproduktů, postupů a nástrojů pro tuto činnost. Diskutovat rozdílné druhy metodik vývoje (sekvenční, iterativní, agilní) a jejich vhodné použití v konkrétním kontextu
vysvětlit různé způsoby popisu uživatelských požadavků na softwarový systém, návrhu jeho technického řešení a ověření kvality. Rozumět souvislostem s prostředím a oblastí působnosti zákazníka
popsat a ilustrovat postupy a vzory pro řízení konfigurace během vývoje a údržby softwarového produktu, rozumět využití souvisejících nástrojů
charakterizovat způsoby komunikace s různými rolemi souvisejícími s vývojem a provozem softwarových systémů
rozumět principům měření software, popsat základní metriky produktové a procesní
charakterizovat možnosti, podmínky a omezení využití poznatků informatiky v dalších oborech. Uvědomovat si význam a přínosy i negativní vlivy moderních informačních a komunikačních technologií na společnost
charakterizovat vlastnosti programů a algoritmů
Odborné dovednosti
sbírat, analyzovat, třídit a popisovat požadavky na softwarový systém s ohledem na business cíle zákazníka; prakticky aplikovat UML a dokumentaci (Vize, Specifikace požadavků) v tomto kontextu
vhodně vybrat a použít metriky pro analýzu kvantitativních a kvalitativních charakteristik vyvíjeného produktu či vývojového postupu
analyzovat a navrhnout varianty vhodného technologického řešení pro projektovaný systém a doporučit konkrétní volbu
samostatně navrhovat nebo rozšiřovat rozsáhlé softwarové systémy s různými druhy architektur (samostatné, webové, servisně orientované). Vytvořit kvalitní dokumentaci k realizovanému dílu či návrhu architektury ještě projektovaného systému
vhodně zvolit metodiku vedení projektu včetně potřebných technických prací a související podpůrné nástroje s ohledem na jeho kontext, sledovat postup projektu a reagovat na situace v jeho průběhu
efektivně používat postupy a nástroje pro správu změn a správu verzí při vývoji software. Umět demonstrovat vývoj projektu na základě nasbíraných dat správy změn, včetně propojení správy změn a verzí
analyzovat i nestandardní požadavky a situace a zpravidla navrhnout řešení postavené na netriviální modifikaci stávajících postupů a komponent
komunikovat s lidmi jak z oblasti ICT tak z jiných oborů, a to jak partnery (členy týmu), tak i se zákazníky
Obecné způsobilosti
samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých. Dle rámcového zadání a přidělených zdrojů koordinují činnost týmu, nesou odpovědnost za jeho výsledky
mgr. studium: srozumitelně a přesvědčivě sdělují odborníkům i širší veřejnosti vlastní odborné názory,
Vyučovací metody
Odborné znalosti
Přednáška s aktivizací studentů,
Demonstrace dovedností,
Skupinová konzultace,
Samostudium,
Odborné dovednosti
Projektová výuka,
Skupinová konzultace,
Obecné způsobilosti
Přednáška s aktivizací studentů,
Hodnotící metody
Odborné znalosti
Průběžné hodnocení,
Individuální prezentace,
Kombinovaná zkouška,
Odborné dovednosti
Výstupní projekt,
Průběžné hodnocení,
Obecné způsobilosti
Kombinovaná zkouška,
Doporučená literatura
  • Ambler, S., Lines, M. Choose your WoW: A Disciplined Agile Delivery Handbook. Project Management Institute, 2020. ISBN 978-1628256505.
  • Berczuk, Stephen P.; Appleton, Brad. Software configuration management patterns : effective teamwork, practical integration. Boston : Addison-Wesley, 2003. ISBN 0-201-74117-2.
  • Cohn, Mike. Succeeding with agile : software development using Scrum. Upper Saddle River : Addison-Wesley, 2010. ISBN 978-0-321-57936-2.
  • Humble, Jez; Farley, David. Continuous delivery : reliable software releases through build, test, and deployment automation. 2011. ISBN 978-0-321-60191-9.
  • Karl Wiegers. Software requirements. 2003. ISBN 0-7356-1879-8.
  • Kroll, Per; Kruchten, Philippe. The Rational unified process made easy : a practitioner's guide to the RUP. Boston : Addison-Wesley, 2003. ISBN 0-321-16609-4.
  • Larman, Craig. Agile and iterative development : a manager's guide. Boston : Addison-Wesley, 2004. ISBN 0-13-111155-8.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr