Zkouška Nečaský 11. 6. 2021

  1. Vyjmenujte typické aktivity vykonávané v rámci softwarového procesu a každou charakterizujte 1-2 větami. (2 body) ní, aby se různé modifikace specifikace daly zakomponovat do softwaru.

  2. Vysvětlete rozdíl mezi uživatelským požadavkem (user requirement) a systémovým požadavkem (system requirement) a uveďte příklad každého z nich. (2 body)

  3. Proč je vhodné při analýze požadavků modelovat doménu jako několik oddělených subdomén? (2 body)

  4. Co je to regresní testování (regression testing)? Kdy a s jakým cílem jej provádíme? Jak ho nejlépe zajistíme? (2 body)

  5. Uveďte 1 výhodu vývoje software v agilním procesu (agile process) a 1 výhodu vývoje software v plánem řízeném procesu (plan-driven process) (2 body)

  6. Vyjmenujte alespoň 2 metody pro odhad ceny softwarového díla, které znáte. Krátce je charakterizujte. (2 body)

  7. Jaké faktory ovlivňují cenu údržby software a proč? Uveďte alespoň 2 faktory. (2 body) Jednak délka a komplexnost kodu, protože čím delší kod, tak tím hůř se software udržuje. A taky důležitý faktor je staff skills, protože nemusejí dodržovat doporučené postupy nebo zacházení se softwarem Pro následující otázky uvažujte softwarový systém v kině. Jste na meetingu s managementem kina, kde diskutujete jejich uživatelské požadavky. Padl následující požadavek: “Zákazník se může do 20 minut po začátku promítání filmu rozhodnout, že se na něj nechce dívat a sál opustit. V tom případě může na pokladně předložit lístek a bude mu vráceno 80 % z ceny lístku. Pracovník na pokladně naskenuje čárový kód vstupenky a provede její zrušení. Analyzovali jsme si, že tato možnost zvýší návštěvnost kina od 5 % a potřebujeme ji mít v našem systému implementovánu do 3 týdnů.”

  8. Je uvedený požadavek funkční požadavek nebo kvalitativní požadavek? Je požadavek dostatečně přesný? Pokud ano, popište jeho scénář. Pokud ne, uveďte 2 otázky, které byste na schůzce položil/a pro zpřesnění. (3 body)

  9. I s touto malou znalostí se pokuste načrtnout konceptuální model té části domény (problem domain), které se požadavek dotýká. Model načrtněte jako UML diagram tříd. (6 body)

  10. Dále se pokuste s touto omezenou znalostí identifikovat 3 případy užití (angl. use cases) v doméně rezervací lístků do kina. Nakreslete je jako UML diagram případů užití (angl. use case diagrams) a pro 1 vybraný případ užití vyjádřete jeho scénář jako UML activity diagram. (6 body)

  11. Uveďte 1 riziko ohrožující úspěšnou realizaci uvedeného požadavku a analyzujte jej. (2 body)

  12. Vyberte si jeden z vámi navržených případů užití a vysvětlete na něm, co znamená akceptační testování. (2 body)