460-2075/01 – Správa softwarových projektů (SSP)

Garantující katedraKatedra informatikyKredity3
Garant předmětuIng. Jan Kožusznik, Ph.D.Garant verze předmětuIng. Jan Kožusznik, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostvolitelný odborný
Ročník2Semestrletní
Jazyk výukyčeština
Rok zavedení2021/2022Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
HRB33 Ing. David Hrbáč
KOZ01 Ing. Jan Kožusznik, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 1+2

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Cílem tohoto kurzu je seznámit studenty se základními technikami a technologiemi používanými v rámci oblasti “Konfigurační management”. Studenti získají znalosti o základních pojmech a technikách užívaných pro správu zdrojového kódu. Dále se studenti seznámí s technikami pro tvorbu sestavení (build), správu vydání (release), konfiguraci prostředí, řízení změn a dokumentace. V rámci předmětu se prakticky setkají s nástroji, které jsou používány pro zmíněné oblasti konfiguračního management jako je Git, Maven, Jenkins, Docker, Gitlab, Github či Vagrant. Po absolvování předmětu budou studenti schopni sdílet kód s jinými vývojáři za použití Git repozitáře, vytvářet změny v nezávislých větvích, změny promítat do hlavní vývojové větve a řešit jednoduché konflikty. Studenti budou schopni sestavit software unifikovaným způsobem prostřednictvím nástroje Maven a zajistit jednoduché nasazení softwaru pomocí nástroje Jenkins. Dále budou schopni spustit software v unifikovaném prostředí prostřednictvím Docker kontejneru. Studenti též budou umět používat nástroje Github/Gitlat pro potřeby řízení projektu. Součástí dovedností též bude schopnost vytvořit dokumentaci k projektu pomocí značkovací jazyka Markdown a následně vytvořit jeho HTML reprezentaci.

Vyučovací metody

Přednášky
Individuální konzultace
Cvičení (v učebně)
Projekt
Ostatní aktivity
Výuka odborníka z praxe (přednáška nebo cvičení)

Anotace

Tento předmět představuje úvod do problematiky konfiguračního managementu, který je důležitý při správě softwarových projektů. Obsah předmětu se především zaměřuje na správu zdrojového kódu, tvorbu sestavení (build), správu vydání (release), konfigurace, prostředí, řízení změn a dokumentaci projektu. V závěru se studenti seznámí s principy DevOps. Tato sada praktik umožňuje řízení a zkrácení vývojového cyklu s návazností na provoz výsledného softwarového produktu.

Povinná literatura:

• COMPANY, Sonatype, 2008. Maven: The Definitive Guide: The Definitive Guide. 1st Edition. Beijing: O’Reilly Media. ISBN 978-0-596-51733-5. • CONE, Matt, 2020. The Markdown Guide. B.m.: Independently published. ISBN 9798656504492. • EVERTSE, Joost, 2019. Mastering GitLab 12: Implement DevOps culture and repository management solutions. B.m.: Packt Publishing. ISBN 978-1-78953-128-2. • CHACON, Scott a Ben STRAUB, 2014. Pro Git. 2nd Edition. B.m.: Apress. • LESZKO, Rafał, 2019. Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition. 2nd Edition. B.m.: Packt Publishing. • TSITOARA, Mariot, 2019. Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer. 1st ed. Edition. B.m.: Apress. ISBN 978-1-4842-5312-0.

Doporučená literatura:

• AIELLO, Bob, 2010. Configuration Management Best Practices: Practical Methods that Work in the Real World: Practical Methods that Work in the Real World. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional. ISBN 978-0-321-68586-5. • QUIGLEY, Jon M., 2019. Configuration Management, Second Edition. 2nd edition. Boca Raton: Routledge. ISBN 978-0-367-13725-0. • WATTS, Frank B., 2011. Engineering Documentation Control Handbook: Configuration Management and Product Lifecycle Management. 4th edition. Oxford: William Andrew. ISBN 978-1-4557-7860-7.

Forma způsobu ověření studijních výsledků a další požadavky na studenta

E-learning

Další požadavky na studenta

Splnění následujících úkolů: Povinné: Zápočtové testy zaměřené na: • správa zdrojového kódu; • CI, řízení projektů pomocí Gitlab/Github, dokumentace pomocí jazyka Markdown; • Správa prostředí - Docker, Vagrant. Nepovinné: • Domácí úkoly.

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Náplň přednášek: • Základy správy zdrojového kódu a práce s nástrojem Git. • Inženýrství sestavení (build) a využití nástroje Maven. • CI pomocí Jenkins/Gitlab, • Řízení projektů pomocí Github/Gitlab. • Značkovací jazyk Markdown a tvorba HTML dokumentace. • Správa prostředí pomocí Docker a Vagrant. • DevOps principy. Cvičení se odvíjí od hlavních témat předmětu na počítačové učebně: vyzkoušení si jednotlivých principů a technologií. Cílem je získat následující dovednosti studenta: verzovat zdrojový kód, sestavovat, nasazovat, vytvářet unifikované běhové prostředí, atd. Náplň cvičení: Cílem cvičení je demonstrovat na praktických příkladech problematiku prezentovanou na přednáškách, student si vyzkouší jednotlivé principy a technologie, vytvoření Git repozitáře a jeho stažení, vytvoření větve, promítnutí změn do repozitáře, vypublikování repozitáře, sestavení, vytvoření běhového prostředí. Rozvrh cvičení: • Úvod od správy verzí zdrojového kódu. Práce s Gitem - vytvoření, stažení a publikování Git repozitáře. Zapsání změn do repozitáře - commit, přepínání mezi commity, push, pull, .gitignore. Nahrání svých změn do vzdáleného repozitáře a aktualizace ze serveru. • Nezávislé větve (branch) - vytvoření, přepínání, publikování, synchronizace se vzdáleným serverem. Spojování větví (merge), přeuspořádání (rebase), řešení konfliktů. Obnovení souborů z repository - checkout, reset. • Sestavení software, správa závislostí. • Kontinuální integrace (CI) - nástroj Jenkins. • Využití Gitlab/Github: práce s repozitáři, vedení SW projektu, práce s tickety, • Práce s požadavky na integraci (Merge request/Pull request) a CI v nástroji Gitlab. • Tvorba dokumentace pomocí jazyka Markdown. Nástroje na tvorbu HTML z Markdown podkladů. Stránky pomocí Gitlab/Github. • Zajištění běhového prostředí nástrojem Docker: Spuštění kontejnerů a jejich správa - list, stop, start, run. • Mapování externích závislostí do Docker kontejneru - adresáře, soubory, TCP/IP porty. • Parametrizace virtualizace pomocí nástroje Vagrant a VirtualBox virtualizačního prostředí.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2020/2021 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51 3
        Domácí úlohy Jiný typ úlohy 16  0
        1. test praktických znalostí Písemka 40  0
        2. test praktických znalostí Písemka 44  0
Rozsah povinné účasti: 80% účast na cvičeních

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2024/2025 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky



2022/2023 letní
2021/2022 letní