# [NTIN130] Architektury softwarových systémů - 11.01.2021

<{ForumPost(poster="uhorka", timestamp=2022-01-12 10:30:57)}>
Zkouška měla obdobný formát jako v minulých letech - písemně vypracovat 7 otázek, časový limit asi 70 minut. Opravoval na místě. Při zkoušce bylo možné využívat jakýchkoliv zdrojů (ať už písemných, nebo elektronických).   
Na 3 bylo třeba získat 13/24 bodů, dále podmíněno tím, že z otázky na návrh architektury se muselo získat min. polovina bodů.  
  
1) \[2b] K čemu je užitečná dokumentace architektury systému při plánování funkčních a jiných změn systému? (přesné znění si nepamatuju, ale smysl byl nějaký takový)  
2) \[3b] Co je to architektonická struktura a jaké jejích typy znáte?  
3) \[4b] Vysvětlete na příkladu kvalitativní atribut modifikovatelnost (modifiability) a uveďte taktiky pro jeho dosažení.  
4) \[8b] Nakreslete dekompoziční model na systém taxi služby, pro který máme následující požadavky. (mé znění nemusí být úplně přesné)  
Systém umožní zákaznikovi přes mobilní aplikaci zadat kdy, odkud a kam by chtěl odvézt. Následně se mu zobrazí všechna aktuálně dostupná vozidla a řidiči. Zákazník má možnost v aplikaci zvolit konkrétního řidiče. Když je řidič zvolen příjde mu na mobil notifikace o zákazníkovi a místě, kde ho má vyzvednout. Řidič dále do aplikace zadává ručně 3 údaje: cesta k zákaznikovi, začátek odvozu, konec odvozu. Po skončení odvozu se zobrazí cena za odvoz. Zákazník může za službu následně zaplatit buď kreditem z telefonu, nebo je přesměrován na platbu kartou.  
Navíc je třeba, aby systém splňoval následující požadavky:  
> a) V čase největší špičky chceme být schopní propojit všechny zákazníky a řidiče do 1s.  
> b) Poté, co řidič oznámí začátek odvozu, zákazník je v aplikaci požádán o potvrzení, aby řidiči nemohli podvádět.  
> c) Po oznámení odvozu řidičem se žádost o potvrzení zobrazí zákazníkovi do 30s.  
> d) Výpočet ceny za odvoz se může do budoucna změnit. Chceme, aby systém podporoval, co nejjednodušší zapracování této změny.  
5) \[2b] Uveďte jakých kvalitativních atributů se týkají požadavky a,b,c,d z otázky 4.   
6) \[3b] Napište strukturovaný scénař (jako byl probírán na přednášce) pro váš návrh architektury pro požadavek c z otázky 4.   
7) \[2b] Jaký je rozdíl mezi three-tier a domain-driven architekturou?  
  
----  
odpověď na 5: performance, usability, availability (uznal i performance), modifiability
<{/ForumPost}>

<{ForumPost(poster="mikepulpan", timestamp=2022-01-24 17:46:07)}>
Doplním, že zkouška **24.01.2021** byla naprosto identická.
<{/ForumPost}>

