Podcast
Questions and Answers
Jaká analogie se používá k popisu procesu softwarové analýzy?
Jaká analogie se používá k popisu procesu softwarové analýzy?
Jaké fáze vývoje softwaru se podobají fázím výstavby domu?
Jaké fáze vývoje softwaru se podobají fázím výstavby domu?
Jaký je význam pevných základů při výstavbě domu?
Jaký je význam pevných základů při výstavbě domu?
Co zahrnuje fáze dokončení a ladění softwarového projektu?
Co zahrnuje fáze dokončení a ladění softwarového projektu?
Signup and view all the answers
Jak se proces předání domu novým majitelům odráží v softwarovém vývoji?
Jak se proces předání domu novým majitelům odráží v softwarovém vývoji?
Signup and view all the answers
Jaké činnosti spadají do údržby a aktualizace softwaru?
Jaké činnosti spadají do údržby a aktualizace softwaru?
Signup and view all the answers
Jaký typ plánování je klíčový při začátku vývoje softwarového projektu?
Jaký typ plánování je klíčový při začátku vývoje softwarového projektu?
Signup and view all the answers
Jaká činnost v softwarovém vývoji odpovídá zásahům řemeslníků při výstavbě domu?
Jaká činnost v softwarovém vývoji odpovídá zásahům řemeslníků při výstavbě domu?
Signup and view all the answers
Jaký je první krok při procesu stažení a tisku článku?
Jaký je první krok při procesu stažení a tisku článku?
Signup and view all the answers
Jaké tři způsoby platby jsou uvedeny pro přístup k článku?
Jaké tři způsoby platby jsou uvedeny pro přístup k článku?
Signup and view all the answers
Který z následujících úkolů není součástí procesu stažení článku?
Který z následujících úkolů není součástí procesu stažení článku?
Signup and view all the answers
Jaké jsou hlavní cíle optimalizace procesů v organizaci?
Jaké jsou hlavní cíle optimalizace procesů v organizaci?
Signup and view all the answers
Jaké informace jsou potřeba k ověření kreditní karty?
Jaké informace jsou potřeba k ověření kreditní karty?
Signup and view all the answers
Jakou notaci se častěji používá pro modelování obchodních procesů?
Jakou notaci se častěji používá pro modelování obchodních procesů?
Signup and view all the answers
Jaký je hlavní cíl testování v metodě xP?
Jaký je hlavní cíl testování v metodě xP?
Signup and view all the answers
Jaký je význam modelování procesů pro nově příchozí v organizaci?
Jaký je význam modelování procesů pro nově příchozí v organizaci?
Signup and view all the answers
Co se stane, když ověření kreditní karty selže?
Co se stane, když ověření kreditní karty selže?
Signup and view all the answers
Které z následujících tvrzení platí pro Business Process Model Notation (BPMN)?
Které z následujících tvrzení platí pro Business Process Model Notation (BPMN)?
Signup and view all the answers
Jaký je správný postup pro ověření platnosti kreditní karty?
Jaký je správný postup pro ověření platnosti kreditní karty?
Signup and view all the answers
Co je důležité určit při modelování obchodních procesů?
Co je důležité určit při modelování obchodních procesů?
Signup and view all the answers
Co je potřeba udělat po dokončení stažení článku?
Co je potřeba udělat po dokončení stažení článku?
Signup and view all the answers
Jaký je hlavní neočekávaný efekt špatně definovaných procesů?
Jaký je hlavní neočekávaný efekt špatně definovaných procesů?
Signup and view all the answers
Jakou roli hrají subprocesy v diagramu vyšší úrovně?
Jakou roli hrají subprocesy v diagramu vyšší úrovně?
Signup and view all the answers
Jak lze optimalizaci procesů chápat z pohledu pracovních postupů?
Jak lze optimalizaci procesů chápat z pohledu pracovních postupů?
Signup and view all the answers
Jaké jsou cíle I. fáze Počátek v metodice Unified Process?
Jaké jsou cíle I. fáze Počátek v metodice Unified Process?
Signup and view all the answers
Jak se provádějí fáze v metodice Unified Process?
Jak se provádějí fáze v metodice Unified Process?
Signup and view all the answers
Co je dominantní činností v každé fázi metodiky Unified Process?
Co je dominantní činností v každé fázi metodiky Unified Process?
Signup and view all the answers
Jaké milníky by měly být dosaženy v I. fázi Počátek?
Jaké milníky by měly být dosaženy v I. fázi Počátek?
Signup and view all the answers
Co je cílem II. fáze Rozpracování v metodice Unified Process?
Co je cílem II. fáze Rozpracování v metodice Unified Process?
Signup and view all the answers
Jaký je hlavní výstup II. fáze Rozpracování?
Jaký je hlavní výstup II. fáze Rozpracování?
Signup and view all the answers
Jaký je hlavní cíl fáze Transition v metodice Unified Process?
Jaký je hlavní cíl fáze Transition v metodice Unified Process?
Signup and view all the answers
Jaká fáze metodiky Unified Process následuje po fázi Rozpracování?
Jaká fáze metodiky Unified Process následuje po fázi Rozpracování?
Signup and view all the answers
Jaké je hlavní výhoda párového programování?
Jaké je hlavní výhoda párového programování?
Signup and view all the answers
Který z následujících principů není součástí metodiky XP?
Který z následujících principů není součástí metodiky XP?
Signup and view all the answers
Jakým způsobem se realizují požadavky v XP?
Jakým způsobem se realizují požadavky v XP?
Signup and view all the answers
Jaký je účel refaktoringu v metodice XP?
Jaký je účel refaktoringu v metodice XP?
Signup and view all the answers
Jakým způsobem probíhá plánování přírůstků v XP?
Jakým způsobem probíhá plánování přírůstků v XP?
Signup and view all the answers
Co znamená průběžná integrace v kontextu XP?
Co znamená průběžná integrace v kontextu XP?
Signup and view all the answers
Jaký je cíl přítomnosti zákazníka v metodice XP?
Jaký je cíl přítomnosti zákazníka v metodice XP?
Signup and view all the answers
Co je sdílení kódu v XP?
Co je sdílení kódu v XP?
Signup and view all the answers
Jaký je hlavní znak vodopádového modelu?
Jaký je hlavní znak vodopádového modelu?
Signup and view all the answers
Jaký je jeden z problémů vodopádového modelu?
Jaký je jeden z problémů vodopádového modelu?
Signup and view all the answers
Co je hlavním rysem přírůstkového přístupu?
Co je hlavním rysem přírůstkového přístupu?
Signup and view all the answers
Jaký model umožňuje sledování postupu vývoje a reakci na změny?
Jaký model umožňuje sledování postupu vývoje a reakci na změny?
Signup and view all the answers
Jaký je způsob realizace v spirálovém modelu?
Jaký je způsob realizace v spirálovém modelu?
Signup and view all the answers
Kde je výhodné využívání vodopádového modelu?
Kde je výhodné využívání vodopádového modelu?
Signup and view all the answers
Jaké je sekvenční uspořádání ve vývoji softwaru?
Jaké je sekvenční uspořádání ve vývoji softwaru?
Signup and view all the answers
Jaký je základ pro přírůstkové modely?
Jaký je základ pro přírůstkové modely?
Signup and view all the answers
Study Notes
Analýza a modelování softwarových systémů
- Předmět se zabývá analýzou a modelováním softwarových systémů.
- Úvodem do předmětu jsou představeny úvodní informace a základní principy.
Čím se budeme zabývat, I
- Softwarová analýza se podobá stavbě domu, s paralelami mezi fázemi výstavby a vývoje softwaru.
- Potřeba nového softwaru je analogická potřebě nového domu (růst rodiny, změny v práci, nové technologie, potřeba automatizace).
Čím se budeme zabývat, II
- Plánování: výběr týmu, definování požadavků, návrh řešení, revize.
- Postavení základů: stabilita domu, příprava terénu, základové desky.
- Analogie v softwaru: výběr správných technologií, databází a nástrojů pro projekt.
Čím se budeme zabývat, III
- Fáze výstavby: postupný proces od zdí po střechu, koordinace různých specialistů.
- Softwar: kódování různých částí aplikace, integrace a testování.
- Dokončení: estetické a funkční dokončování domu, malování, instalace zařízení.
- Softwar: ladění, testování, uživatelské testy a zpětná vazba.
Čím se budeme zabývat, IV
- Předání klíčů: proces předání domu novým majitelům, seznamy, dokumentace.
- Softwar: nasazení aplikace, školení uživatelů, dokumentace.
- Život po předání: pravidelná údržba, opravy, aktualizace, opravy chyb, rozšiřování funkcí, podpora.
Fáze výstavby domu/Softwarový vývojový cyklus
- Grafické znázornění fází výstavby domu a paralelního softwarového vývojového cyklu.
Organizace přednášky
- Vyučovací hodina trvá 50 minut výuky a 10 minut přestávky.
- Přednášky budou zaměřeny na praktické modelování, nikoliv na teorii.
- K dispozici budou ukázkové projekty.
Organizace cvičení
- Přednášející: Ing. Darina Bajusová
-
- až 8. týden: práce na modelování softwaru pomocí UML.
-
- týden (od 7. listopadu): práce na týmovém semestrálním projektu.
- Odevzdání projektu do konce 13. týdne semestru.
Stránka předmětu
- moodle.utb.cz
- Najít AP1AM
- Klíč k zápisu - podle cvičení.
Dostupné materiály
- moodle.utb.cz
- Možnost využívat Sparx Enterprise Architect i doma.
- Instalace a instrukce na moodlu.
Hodnocení
- Zkouška (písemný test): moodle.
- Zápočet: semestrální projekt v malém týmu.
- Informace o zápočtu na moodlu.
- Témata projektů na stag.utb.cz (sekce semestrální práce).
Co budeme dělat
- Co je to vývoj softwaru?
- Co je to analýza?
- Jak vzniká software?
- Platí to i pro platformy jako Facebook, Instagram, eshopy?
- Softwarové inženýrství – další téma.
Význam softwarového inženýrství
- Moderní ekonomika je závislá na softwaru.
- Poskytuje postupy pro celý proces vývoje softwaru.
- Zavádí systematický přístup k vývoji.
- Softwarové investice jsou často vyšší než investice do hardwaru.
- (Sommerville, 2015).
Co je to inženýrství?
- Návrh řešení problému s požadovanou kvalitou a rozumnými náklady.
- Věda je založena na experimentech, nikoliv na čistě teoretické cestě.
- Software (i když abstraktní) je typem zařízení.
Mýty
- Software je levnější než hardware.
- Software je jednoduše nahraditelný, vyměnitelný, aktualizovatelný.
- Software se dají matematicky ověřit na 100%.
- Opakované využívání (software reuse) zvyšuje spolehlivost.
Základní otázky
- Co je to software (zahrnuje zdrojový kód, vývojových dokumentů, příruček)?
- Atributy dobrého softwaru (funkcionalita, proveditelnost, spolehlivost , udržitelnost, použitelnost).
- Systémové inženýrství / Softwarové inženýrství jako disciplína. (Sommerville, 2015)
- Systémové inženýrství je disciplína, která se věnuje podnikovým systémům (návrh, realizace hardwaru i softwaru, stavební práce, procesní otázky).
Základní otázky (Pokračování)
- Jaké jsou nejlepší techniky a postupy?
Definice
- IEEE definice: Systematický, disciplinovaný, měřitelný přístup k tvorbě a údržbě softwaru.
- NATO definice: Klade důraz na ekonomické hledisko a spolehlivost softwaru na dostupném hardwaru.
- Sommerville (2015)
Historie disciplíny
- Softwarová krize v 60. letech: Rostoucí počet projektů, které nebyly dokončeny včas.
- První konference o softwarovém inženýrství v roce 1968.
- Rostoucí složitost a zdroje počítačů.
- (Naur, 1969)
Co je to softwarový produkt
- Generický: Vývojářské firmy, kancelářské aplikace, grafické programy.
- Zákaznícky: Vývoj na základě požadavků zákazníků, bankovní aplikace, elektronické obchody.
- Konfigurace může být nutná.
- Commercial off-the-shelf (COTS).
Co je to softwarový proces
- Množina činností, které vedou k vývoji/modernizaci softwaru.
- Základní činnosti v softwarových procesech v oblastech: koncepce, analýza, design, implementace, testování, používání, údržba.
Modely softwarového procesu
- Někdy také modely softwarového procesu.
- Ideální model: Sekvenční (analýza, návrh, sestavení, testování, používání).
- Realita: Iterativní (opakování fází).
Vodopádový model
- Dlouhá prodleva mezi zadáním a spuštěním systému.
- Důraz na dokumentaci.
- Další fáze začíná až po skončení předchozí.
- Opakování menších vodopádových cyklů.
Vodopádový model, II
- Problémy: Nemůžeme oddělit jednotlivé fáze pevně.
- Obtížné odhalit a opravit chyby.
- Vyhodnocení výhod: Formální analýza.
- Vztahy ke subsystému.
- (Royce, 1987)
Vodopádový model, schéma
- Grafická znázornění kroků vodopádového modelu.
Přírůstkový, inkrementální přístup
- Založena na verzování.
- Projekt je rozdělen na dílčí části (verze/sestavení).
- Postupné přidávání funkcí do verzí.
- Reagovat na změny zadání.
Spirálový model
- Opakované cykly (otočky spirály).
- Zahrnuje plánování, analýzu, vývoj a hodnocení.
- Vyřešit rizika a požadavky.
Metoda Tunel
- Rozdělení projektu mezi pracovníky dle částí.
- Každý pracovník provádí veškeré činnosti (analýza, návrh, programování a testování).
Poznámka
- Čím dříve je chyba nalezena, tím méně nákladná její oprava.
- Chyby jsou nejčastěji v oblasti požadavků (50%), návrhu (30%).
Dotazy?
- Otázky pro studenty.
Analýza a modelování významů Business procesů (BPMN)
- Základní pojem a význam Business Procesů.
- Význam Business procesů.
- Business Process Model Notation (BPMN) notace jako metoda pro grafické znázornění obchodních procesů a popis procesů s vývojovými diagramy.
Vývojový diagram
- Grafické znázornění procesu např. funkce či zařízení.
- Používá se k vyřešení problémů například se žárovkou (Příklad: „sviť žárovka ? Pokud ano děláj to, pokud ne děláj to")
Co je business proces?
- Definovány jsou souvisící, strukturované aktivity, které vedou ke konkrétnímu cíli či výsledku pro zákazníka.
- Důležité pro analýzu softwarových požadavků.
- Např. proces objednávání zboží v e-shopu.
Co je to proces?
- Základní prvek procesního řízení.
- Uspořádaná množina aktivit.
- Množina aktivit, jejichž cílem je dosáhnout cílů podniku.
- Má vstupní a výstupní atributy.
- Popis činnosti v organizaci (např. nákup, zapsání do kurzu, platba faktury).
Typy procesů
- Hlavní, řídící, podpůrné, vedlejší procesy.
Cíle procesu
- Musí být jasné, zda proces podporuje cíle organizace.
- Metriky - indikátory pro měření průběhu a úspěšnosti procesu.
- Načrtněte příklad metriky pro měření procesu.
Procesní řízení
- Sledování a zlepšování podnikových procesů.
- Sladění informačních technologií s řízením organizace.
- Techniky, metody a nástroje pro analýzu a kontrolu.
Procesní řízení, II
- Návrh procesu: sběr dosavadních procesů (např. BPMN).
- Modelování procesů: Modelování průběhu procesů a jejich atributů.
- Implementace procesů: Využití navrženého procesu v praxi.
- Monitorování procesů: Sledování a sběr dat pro reportování.
Procesní řízení, III
- Optimalizace procesu: využití vytvořených zpráv ke zlepšení činnosti organizace (jako rychlejší procesy , větší produktivita apod.)
Business procesy a modelování
- Popisuje fungování firmy a postupy pro řešení úkolů.
- Zachycení reality organizace.
- Optimalizace.
- Interní a externí procesy.
- UML modely, BPMN notoce.
Význam modelování procesů
- Určí činnosti a odpovědnosti zaměstnanců/oddělení.
- Zlepšení způsobu práce.
- Znají noví zaměstnanci organizační strukturu a fungování firmy.
- Možnosti analýzy firemních požadavků.
Business Process Model Notation
- Grafická notace pro znázornění obchodních procesů.
- Srovnatelné s vývojovými diagramy (UML).
- Služí pro zachycení toků aktivit a zpráv mezi účastníky.
- Může se využívat v servisně orientované architektuře.
- Nelze k definování funkcí v BPMN nebo pro datové modelování.
Základní prvky diagramu BPMN
- Znázornění aktivit, událostí, rozhodnutí, toků zpráv, asociací, datových objektů, poznámek v diagramech.
Diagram vyšší úrovně (Diagram BPMN)
- Používání subprocesů v diagramech.
Diagram atomický aktivit (Diagram BPMN)
- Detailní zobrazení kroků a aktivit v rámci procesu.
Přechod z procesu do procesu
- Grafický zobrazení kroků a aktivit při přechodu mezi procesy.
BPMN – Prvky
- Flow Objects (tok)
- Event (události)
- Activity (aktivity)
- Asociace (způsob spojení prvků mezi sebou).
- Artefakty (přidání dalších informací k lepšímu porozumění).
- Datové objekty (využití dat v rámci aktivit)
BPMN - Prvky (pokračování)
- Gateway (rozhodování, rozvětvení toku).
- Spojovací objekty (používá se k propojení objektů nebo s artefakty).
- Sekvenční tok (směr toku).
- Message Flow (tok zpráv)
- Association (asociace)
- Artifacts (artefakty)
- Data Object (datový objekt)
BPMN - Prvky (pokračování)
- Group (seskupení aktivit)
- Annotation (poznámky)
- Swimlanes (plavecké dráhy)
BPMN - Prvky (pokračování)
- Pool (obvod, který definuje účastníka procesů, např. zákazník).
- Lane (dráha) - organizace aktivit v rámci poolu, znázornění role či oddělení v rámci procesu.
Ukázka Pizza
Dotazy?
Vývojové metodiky
- Unified Process
- SCRUM
- Extrémní programování
Co jsou to vývojové metodiky?
- Metodiky představují doporučené postupy pro vývoj softwaru (Sommerville, 2015).
- Určují způsob práce, průběh vývoje a využívané nástroje.
- Založeny na modelu softwarového procesu.
Unified Process (UP)
- Jedna z klasických rigorózních metodik.
- Volný průmyslový standard (Arlow & Neustadt, 2005).
- Inkrementační, založený na iteracích (opakování fází).
- Založený na případech použití a požadavcích.
Typická složení iterace UP
- Sběr požadavků
- Analýza
- Návrh řešení
- Implementace (kódování)
- Testování
Fáze metodiky Unified Process
- Počátek (Inception)
- Rozpracování (Elaboration)
- Konstrukce (Construction)
- Přechod (Transition)
Rozložení základních činností ve fázích
- Základní činnosti mají různou míru důležitosti v různých fázích.
I. Fáze - Počátek
- Cíle: studie proveditelnosti, návrh klíčových požadavků, identifikace rizik.
- Milníky: rozsah a klíčové požadavky, architektury, souhlasí s parametry projektu.
I. Fáze - Počátek (Graficky)
- Grafické znázornění průběhu I. fáze.
II. Fáze - Rozpracování
- Cíle: vytvoření spustitelného výchozího zpracování architektury, definování kritérií kvality, zpracování případů využití.
- Milníky: aktualizace rizik, realistický plán, souhlas stakeholderů.
II. Fáze – Rozpracování (b)
- Milníky: aktualizace, realistický plán, ověření cílů, souhlas stakeholderů.
II. Fáze – Rozpracování (Graficky)
- Grafický zobrazení průběhu II. fáze.
III. Fáze – Konstrukce
- Cíle: dokončení případů použití, implementace a testování, ověření integrity architektury, vyhodnocení rizik.
- Milníky: připravenost produktu pro beta testování.
III. Fáze - Konstrukce (Graficky)
- Grafické znázornění průběhu III. fáze
IV. Fáze – Přechod
- Cíle: oprava chyb, příprava prostředí zákazníka, uživatelská dokumentace, podpora.
- Milníky: provedení testů, akceptace, nasazení.
IV. Fáze – Přechod (Graficky)
- Grafické znázornění průběhu IV. fáze
SCRUM a extrémní programování
- Zástupci agilních metod.
- Zaměřují se na rychlý vývoj a snížení nákladů.
- Založené na iteracích, přírůstkovém přístupu.
Agilní přístup - nevýhody
- Nutnost zapojení uživatelů a jejich souhlasu.
- Schopnost vývojářů akceptovat flexibilitu agilních metod.
XP (Extrémní programování)
- Dříve nejpoužívanější agilní metodika.
- Dodávání funkcí v krátkých cyklech (iterací).
- Automatické testování před vydáním verze.
xP – Extrémní programování - Graficky
- Grafické znázornění workflow.
Princip XP
- Plánování přírůstků.
- Jednoduchý design.
- Testování (včetně jednotkových testů).
- Refactoring.
- Párové programování.
Princip XP (b)
- Sdílení kódu mezi vývojáři.
- Průběžná integrace.
- Přítomnost zákazníka.
Jak si představit párové programování?
- Pracují ve dvojicích.
Dokumentace požadavků v XP
- Realizace jako scénáře, stručné záznamy.
- Nejčastěji v podobě karet.
- Podrobné k implementačním úkolům, odhady pracnosti.
- Zákazník následně volí, které požadavky budou v dalším sestavení.
Ukázka User Story a rozpadu na úkoly
- Popis stažení a tisku článku jako součásti uživatelské story.
- Zobrazuje rozpad stažení na menší, specifikovatelné úkoly (implementace základního workflow, katalógy, výběr a platby).
XP a testování
- Testy se provádějí před zahájením vývoje, ověřují, zda nové funkce neovlivňují hotové části.
SCRUM
- Komplexní agilní metodika, populární v současnosti.
- Využívá iterativní a přírůstkový způsob vývoje.
- Důraz na krátké cykly (sprinty).
Základní princip SCRUMu
- Produktový backlog
- Sprint backlog
- Sprinty (doba trvání 2-3 týdny, 24 hodin)
- Vývoj (implementace) spustitelných částí softwaru.
Pojmy ve SCRUMu
- Product Owner: Vlastník produktu, představuje zákazníka, stanovuje priority.
- Tým: vývojáři, samoorganizující, zodpovědní za realizaci.
- ScrumMaster: Facilitátor, pomáhá týmu plnit cíle (sprint), odstraňuje překážky.
Význam Backlog-u
- Přehled práce, priority, odhad pracností, definice hotovo.
- Vytváří se ze user stories.
- Během práce se mění a doplňuje.
- Co je to Sprint Backlog? Základní backlog pro plnění práce v rámci sprintů.
Přírůstek ve SCRUM-u
- Množina dokončených položek produktového Backlogu po ukončení sprintu.
- Stav položky (story): funkčnost, nasaditelnost.
- Plánování přírůstku a jeho smysl: vychází z Fibonacciho posloupnosti (F(n+1) = F(n) + F(n-1)), relativní odhad pracnosti a náročnosti.
Co je to Sprint?
- Základní iterace vývoje ve SCRUMu (2-3 týdny).
- Fáze každého sprintu: plánování, denní plánování, vývoj, hodnocení, retrospektiva.
- Nemění se cíl a tým v průběhu sprintu.
Fáze Plánování
- Odhaduje náročnost tasků (user stories).
- Určuje co se má v rámci sprintu provést.
- Otázky: Jaký přírůstek, práca?
- Vstup: Backlog, dokončení předchozího sprintu, cíl, tým.
- Výstup: Plán sprintu, Sprint Goal.
Fáze Plánování (b)
- Návrh a plánování prací pro realizaci sprintu.
- Scrum Master a Product Owner stanovují plán pro iterace.
Význam Daily Scrum
- Plán na 24 hodin.
- Zpravidla ráno.
- Kontrola minulých 24 hodin.
- Odhad práce na den.
- Identifikace překážek, zodpovědnost týmu, pozorování a minimalizace konzultací.
Sprint Review
- Hodnocení dokončeného přírůstku.
- Adaptace produktového backlogu.
- Diskuze o problémech a zjištěných chybách.
- Prezentace týmu.
Fáze Retrospectiva
- Kontrola a ohodnocení činnosti během sprintu.
- Identifikace pozitivních a negativních prvků, možností zlepšení.
- Plán na zlepšení pro budoucí sprinty.
- Nejde o produkt, ale proces.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Tento kvíz se zaměřuje na analogie a fáze vývoje softwaru při jeho analýze. Odpovědi na otázky zahrnují srovnání softwarového inženýrství s výstavbou domu, význam základů, a údržbu softwarových projektů. Prozkoumejte klíčové aspekty softwarového vývoje a optimalizace procesů.