# Zkouška Nečaský 17. 6. 2021

1. Uveďte 1 výhodu a 1 nevýhodu modelu softwarového procesu zvaného vodopád
(waterfall). (2 body)
2. Vysvětlete rozdíl mezi funkčním požadavkem (functional requirement) a kvalitativním
požadavkem (quality requirement) a uveďte příklad každého z nich. (2 body)
3. Na vlastním příkladu vysvětlete jaké jsou základní stavební kameny UML diagram
aktivit (UML activity diagram) a k čemu je takový diagram dobrý. (2 body)
4. Co je to unit testing (pojem je uveden v angl.)? Kdy, kdo a s jakým cílem jej provádí?
Jak lze zajistit jeho úplnost? (2 body)
5. Co je to doména problému (problem domain) a její poddomény (subdomains)? Jaké
druhy poddomén znáte? Charakterizujte každou 1-2 větami. (2 body)
6. Vyjmenujte alespoň 2 metody pro odhad ceny softwarového díla, které znáte. Krátce
je charakterizujte. (2 body)
7. Vysvětlete rozdíl mezi inkrementálním vývojem software (incremental development) a
inkrementálním dodáváním software (incremental delivery). (2 body)
Pro následující otázky uvažujte softwarový systém pro bikesharing (tj. systém umožňující
uživateli vypůjčit si kolo stojící na ulici). Jste na meetingu s managementem provozovatele
bikesharingu, kde diskutujete jejich uživatelské požadavky. Padl následující požadavek:
“Pokud zákazník odloží kolo a neukončí jízdu ve své mobilní aplikaci, bude mu po 30
minutách jízda ukončena automaticky.”
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ě bikesharingu. Nakreslete je jako UML diagram případů užití (angl. use case
diagrams) a pro 1 vybraný případ užití sepište jeho scénář. (6 body)
11. Uveďte 1 riziko ohrožující úspěšnou realizaci projektu vývoje systému a analyzujte jej.
(2 body)
12. Na vašem UML diagramu tříd z otázky 9 vysvětlete, k čemu je potřebný tzv.
ubiquitous language. (2 body)