OCUP 2 Intermediate beta – 247 otázek, 3,5 hodiny pekla
Ve středu jsem si prošel všech 247 otázek, co byly připraveny pro beta verzi zkoušky OCUP 2 Intermediate. Vyhodnocení má být na přelomu září a října, uvidíme, jak to dopadne. Snad dobře, mám z toho ovšem horší pocit, než z bety OCUP 2 Foundation.
Protože vím ještě o několika lidech, kteří se na betu teprve chystají (poslední zkoušky jsou kolem poloviny července), uvádím několik postřehů, co si ze zkoušky pamatuji. Nejprve obecné věci:
- Čtěte každé zadání pozorně. Ačkoliv na první pohled vypadá stejně jako to předchozí, často se liší v detailu.
- Pokud je zadání otázky dlouhé či diagram velký, přečtěte si nejprve text. Zjistíte, že pak nemusíte diagram studovat celý, ale veskrze pouze dva, tři elementy, až snad na jednu výjimku.
- Pokud se připravujete podle (zadání), děláte dobře. A až na pár drobností se vás optají na vše. Buďto přímo, nebo nepřímo.
- Pozor na to, kam klikáte. Ačkoliv máte pocit, že klikáte na prázdnou oblast, může to změnit již vybranou odpověď, aniž byste si toho všimli.
- Pokud neznáte odpověď nebo je zadání dlouhé, kašlete na to, označte si to vlaječkou a pokračujte dál. K otázce se vrátíte pohodlně na konci.
A nyní k UML:
- Musíte vědět, co to je jmenný prostor (namespace). Př.: Kolik vidíte na diagramu jmenných prostorů?
- Na diagramech je použita notace typu „circle-plus“. Musíte vědět, co znamená.
- Dobře si natrénujte, co znamenají atributy násobnosti isOrdered a isUnique. Dobré je znát bag a výchozí hodnoty. Příklad: Máte klasických 52 hracích karet (2..10, J, Q, K, A, každou takovou ve dvou barvách a každou barvu ve dvou znacích – srdce, kára, piky, kříže). Hráč dostane náhodně do ruky sedm karet. Jaké hodnoty nabudou atributy isOrdered a isUnique?
- Usage a Abstraction – naučte se význam a jednotlivé stereotypy. Rozhodně se ptali na create, instantiate (ano, je zbytečné mít dva stereotypy víceméně pro totéž).
- ElementImport – kromě významu musíte znát i alias a viditelnost (access versus import). Příklad: Co je třeba udělat, abyste v třídě Circle mohli používat typ P2::Real, ale nazývat ho double?
- Instance – Příklad: Až kolik různých instancí třídy Z může být přímo či nepřímo dostupných instanci třídy X2?
- Packages: Mohou mít dva balíky na stejné úrovni stejné URI?
- Dobře nastudujte syntaxi času a intervalu. Budete ji potřebovat u sekvenčních diagramů.
- Informační toky – vše. Drobný úvod do informačních toků najdete v mém článku. Příklad: dostanete diagram a máte jej zjednodušit nebo spočíst informační toky.
- Měli byste znát pojem compartment.
- Signály a receptory: test znalosti notace a názvu compartmentu, kam se receptory vkládají.
- Odvozené atributy (derived) – zápis plus to, zda musí či nemusí být readOnly a dále, zda musí mít zapsáno, jak je odvozeno.
- BNF notace – testují znalost – uvedou příklad a máte určit, který zápis tomu neodpovídá.
- OCL – měli byste pasivně znát.
- K čemu jsou dobré pre- a post-conditions? Kdo je vyhodnocuje a kdy? Co když jsou porušeny?
- Vlastnost jako memberEnd. Pozor na to, co znamená šipka a co malá černá tečka na konci asociace.
- Generalizační množiny – velmi dobře si zapamatujte klíčová slova a výchozí hodnoty atributů isDisjoint a isCovered. Samozřejmě včetně použití, na obojí je tam několik otázek.
- Diagramy vnitřních struktur (port je property, tedy nemůže implementovat rozhraní, leč ho poskytuje, co je part a co je property, jak vznikají instance), atribut isService a další.
- Diagramy nasazení: znalost a to včetně notací a deployment specification. Příklad: Kterým směrem vedou šipky a jakého jsou typu?
- Základy chování:
- Typy událostí a jejich notace (at, when, after), event pooly, rozdíly mezi stavovým diagramem a ostatními chováními.
- Diagram aktivit:
- Dobře si prosvištěte pravidla strukturovaného uzlu a expansion region a různé notace téhož.
- Pozor na to, že inout parametr má dva aktivity parametry.
- Notace výjimky lezoucí z akce.
- Vstupní a výstupní piny bez příchozích resp. odchozích hran.
- Dobře se naučte streamování, AcceptCallAction a ReplyAction, rozdíl mezi CentralBufferNode a DataStoreNode.
- Přerušitelná oblast.
- Jeden znak pro Desicion a Merge plus jeden znak pro Fork a Join.
- Pravidla pro spuštění akce. Příklad: kdy začne akce?
- Stavové diagramy – hodně dobře si zopakujte pravidla pro entry a exit chování. Dále pseudostavy entry a exit point. Měli byste vědět, že dva regiony téhož stavu běží nezávisle na sobě.
- Protokolární stavové diagramy – k čemu to je, notace přechodu. Vlastnictví s rozhraním.
- Sekvence:
- Pravidla pro fragmenty par, loop (pozor na podmínku s loopem), opt, alt, strict a to včetně toho, kolik může mít operandů.
- Interaction use.
- Brány.
- Ztracené a nalezené zprávy.
- Komunikační diagramy – oproti předpisu i znalost souběžného vykonávání.
Tolik ke zkoušce. Já byl po třech a půl hodinách vyflusaný a to jsem měl, tuším že, ještě hodinu k dobru. U dvou otázek jsem byl přesvědčený, že všechny odpovědi jsou špatně, u některých se hodně slovíčkařilo.
Pokud jste zkoušku již absolvovali, jaké z ní máte pocity vy? Co vám nesedlo nebo naopak vyhovovalo? Použijte komentáře.