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)