SEP Flashcards
Agilní metodika vývoje
Iterativní a flexibilní přístup k vývoji softwaru, zaměřený na rychlé dodávky funkčních částí, průběžnou spolupráci s klientem a schopnost reagovat na změny požadavků
SCRUM
Waterfall
Sekvenční model vývoje softwaru, kde fáze (analýza, návrh, implementace, testování, údržba) probíhají postupně, bez návratu k předchozím krokům
Iterativní
Metodika vývoje softwaru, kde se projekt realizuje v opakujících se cyklech (iteracích), přičemž každá iterace zahrnuje analýzu, návrh, implementaci a testování, což umožňuje průběžné zlepšování a přizpůsobení produktu
Co je základní koncept Software Process Improvement (SPI)?
Zlepšování procesů vývoje softwaru za účelem zvýšení kvality, produktivity a adaptability. Zaměřuje se na identifikaci slabých míst a implementaci změn pro efektivnější vývoj.
Co je PDCA model? (Demingův cyklus)
Metodika zlepšování procesů, založená na cyklu čtyř kroků: Plan (naplánuj), Do (proveď), Check (ověř), Act (jednej). Používá se k postupnému a opakovanému zlepšování procesů.
Jaké jsou základní přístupy k Software Process Improvement (SPI)?
- Systematický, dlouhodobý přístup
– Preskriptivní (ISO, CMM, CMMI)
– Induktivní (SEL/NASA)
Co jsou preskriptivní přístupy k SPI?
Přístupy, které vycházejí z předpokladu, že správné praktiky vývoje softwaru jsou známé, a tyto postupy předepisují
Co jsou induktivní přístupy k SPI?
Přístupy, které vycházejí z předpokladu, že zlepšovat se má to, co odpovídá aktuálnímu stavu, cílům a problémům konkrétní organizace
Co je CMM (Capability Maturity Model)?
Model pro hodnocení a zlepšování procesů vývoje softwaru. Rozděluje procesy do pěti úrovní zralosti:
1. Počáteční (chaotický, ad-hoc)
2. Opakovatelný (základní projektový management)
3. Definovaný (standardizované procesy)
4. Řízený (kvantitativní měření a kontrola)
5. Optimalizující (neustálé zlepšování)
Co je CMMI a jak se liší od staršího CMM? (Capability Maturity Model Integration)
CMMI je nástupce CMM, který slouží k hodnocení a zlepšování procesů organizace. Má 5 úrovní zralosti a 22 klíčových procesních oblastí (KPA).
Existují dva hlavní přístupy:
* Staged (po jednotlivých úrovních)
* Continuous (zaměřený na zlepšování jednotlivých oblastí)
CMMI obsahuje 3 modely:
1. Development – pro vývoj softwaru 2. Acquisition – pro akvizici produktů a služeb 3. Services – pro poskytování služeb
Jaká je základní premisa přístupu SEL (Software Engineering Laboratory) / NASA?
Vývojová organizace musí své úsilí o zkvalitňování zaměřovat na:
1. Zamezení opakování minulých problémů.
2. Opakování minulých úspěchů
Co jsou SPMN Best Practices?
SPMN (Software Process Management Network) Best Practices jsou osvědčené strategie, techniky a praktiky reagující na problémy spojené se zvládáním velkých softwarových projektů. Jsou přímo použitelné a zaměřují se na zlepšení procesů a řízení v rámci vývoje softwaru. Pro přístup k detailním materiálům je nutná registrace k ‘SPMN books’
Co je rozdíl mezi RFI a RFP?
RFI (Request for Information) a RFP (Request for Proposal) jsou dokumenty, které podává zákazník:
* RFI (Request for Information): Zákazník žádá o základní informace o dostupných řešeních a dodavatelích, aby získal přehled o možnostech na trhu.
* RFP (Request for Proposal): Zákazník požaduje konkrétní nabídky od dodavatelů, kteří musí reagovat s podrobnými návrhy řešení, cenami a podmínkami.
RFI je tedy předchůdce RFP a slouží k získání informací, zatímco RFP se zaměřuje na získání konkrétních nabídek
Jaké jsou různé módy spolupráce v rámci projektů a jejich charakteristiky?
- Fix Time Fix Price – Stanovení pevného času a ceny na základě specifikovaného rozsahu projektu. Případné změny mohou vést k dodatečným nákladům.
- Time & Material – Platba na základě skutečně stráveného času a použitých materiálů. Tento model je flexibilní a vhodný pro projekty s nejasně definovaným rozsahem.
- Success Fee – Odměna je založena na dosažení specifických úspěchů nebo výsledků projektu. Tento model je často spojen s výkonovými bonusy.
Jaký je rozdíl mezi odhadem, závaznou pracností a cenou?
Odhad je předpokládaná hodnota pro čas, náklady nebo rozsah, zatímco závazná pracnost a cena jsou konkrétní hodnoty stanovené pro realizaci projektu. Odhad může být upravován během projektu, zatímco závazné hodnoty jsou pevně stanovené.
Jaké metody odhadu se používají a co je kužel nejistoty?
Mezi metody odhadu patří zkušenostní metody, analýza historických dat a odborné posudky. Kužel nejistoty znázorňuje, jak se zúžuje rozsah nejistoty v odhadu, jakmile projekt postupuje a získává více informací. (0.25 - 4 az 1)
Proč je nutná revize odhadů a co obsahují checklisty?
Revize odhadů je nutná k jejich aktualizaci podle aktuálního stavu projektu. Checklisty pomáhají zajistit, že všechny aspekty odhadu byly správně zváženy, což zvyšuje přesnost a konzistenci odhadů.
Proč je důležité Requirements Engineering?
Requirements Engineering je proces, který zahrnuje všechny činnosti spojené s objevováním, dokumentováním a udržováním požadavků na počítačový systém. Tento proces je klíčový pro zajištění, že systém bude vyvíjen podle správných, dobře definovaných a sledovatelných požadavků, což vede k úspěšnému a efektivnímu vývoji softwaru. Definuje rozsah dodávky a funguje jako kontrakt mezi zúčastněnými stranami, což je důležité pro správnou realizaci projektu a zajištění jeho úspěchu.
Co jsou požadavky v obecném smyslu?
Požadavky jsou písemné výrazy, které specifikují:
* Schopnosti potřebné k vyřešení problému nebo dosažení cíle.
* Podmínky pro dodaný systém, službu, produkt nebo proces.
* Omezení na systém, službu, produkt nebo proces.
Jak jsou definovány požadavky v IT?
Požadavky v IT jsou specifikace toho, co by mělo být implementováno. Jsou to popisy toho, jak by měl systém fungovat nebo jakou vlastnost či atribut by měl mít. Mohou také představovat omezení na vývojový proces systému.
Co zahrnuje věcný obsah IT požadavku?
- Capabilities (Schopnosti): Schopnosti, které systém nebo uživatel musí mít.
Příklad: Systém musí být schopen generovat reporty v PDF formátu.- Conditions (Podmínky): Podmínky, za kterých musí být akce provedena.
Příklad: Uživatel musí být přihlášen do systému, aby mohl vytvořit nový účet. - Constraints (Omezení): Omezení, která musí být dodržena během implementace.
Příklad: Aplikace musí fungovat na operačním systému Windows 10 a novějších verzích.
- Conditions (Podmínky): Podmínky, za kterých musí být akce provedena.
Jaké typy požadavků existují?
- Byznysové požadavky (Business requirements) – Pohled zadavatele nebo organizace, zaměřené na vysokou úroveň cílů a obchodní potřeby.
- Uživatelské požadavky (User requirements) – Pohled budoucího uživatele, zaměřené na funkčnost a uživatelský zážitek.
- Systémové požadavky (System requirements) – Technické požadavky, které definují, jak bude systém realizován, včetně návrhu řešení a vývojové platformy.
Co jsou byznysové požadavky a jaký je jejich fokus?
Byznysové požadavky jsou požadavky z pohledu zadavatele nebo organizace, které se zaměřují na vysokou úroveň cíle projektu. Tyto požadavky definují, jaký problém má systém vyřešit nebo jaký obchodní cíl má být dosažen, aniž by se zabývaly detaily technické realizace.
Příklad: Systém musí zlepšit správu zákaznických dat a zjednodušit proces fakturace pro zvýšení efektivity obchodních operací.
Co jsou uživatelské požadavky a jaký je jejich fokus?
Uživatelské požadavky jsou požadavky z pohledu budoucího uživatele systému. Zaměřují se na to, co by uživatel od systému očekával a jaký zážitek by měl mít při jeho používání. Tyto požadavky obvykle popisují funkčnost, která je pro uživatele důležitá.
Příklad: Uživatel musí mít možnost snadno upravit osobní údaje ve svém profilu a změnit heslo během několika kroků.