- p. 22 obrázek 2.8: mělo by být uvedeno readOnly na obou stranách relace.
- p. 23 obrázek 2.9: mělo by být uvedeno readOnly u asociace relatedElement. Dále u téže asociace je násobnost 1..*. A konečně u Relationship je násobnost *.
- p. 23 obrázek 2.10: mělo by být uvedeno readOnly u atributů target a source. Dále na straně u DirectedRelationship by měla být uvedena násobnost * u obou vztahů.
- Obrázek 2.12 jsem nekontroloval.
- Obrázek 2.15: mělo by být uvedeno readOnly u asociace importedMember.
- Obrázek 2.16 jsem nekontroloval.
- Obrázek 2.18 Na straně u TypedElement je násobnost *.
- Obrázek 2.23 U třídy OpaqueExpression by mohlo u atributu body být násobnost (tj. [0..*]). Pozor, nejde o chybu, spíše nedostatek.
- Na straně 40 se k notaci píše cosi o zmatečnosti. Mně to zmatené ve standardu nepřipadne.
- Strana 47, n-ární asociace, druhý řádek: místo dvou otazníků má být odkaz na obrázek 2.42.
- Strana 53, obrázek metamodelu: sice to není chyba, ale považuji to za vážný nedostatek: Není zde uvedena asociace mezi třídami Association a Property, která Associaci přidává atribut navi-gableOwnedEnd. Zbytek obrázku jsem nekontroloval. Doporučuji nahlédnout do standardu.
- Strana 56: Obrázky jsou prohozeny. Obrázek 2.54 má mít popis ten, co má, ale vlastní diagram má být ten z 2.55 (a obráceně).
- Strana 67: Metamodel: 1. Namísto Expression má být OpaqueExpression. Dále násobnost 1 u této třídy je 0..1. S tím souvisí i chyba na straně 65 v druhém odstavci, kde má být „an abstraction relationship CAN HAVE“ namísto „always has“. Zpět k metamodelu: Vazba mezi Substitution a Classifier: contract není subset target a substitutingClassifier není subset sour-ce. Naopak vazby mezi NamedElement a Dependency: supplierDependency je subset target a clientDependency je subset source.
- Strana 74, obrázek 2.81 silně neodpovídá standardu UML 2.2.
- Strana 76, obrázek 2.83 neodpovídá standardu UML 2.2.
- Strana 76, obrázek 2.84: zde fakt těžko říct, co tím chtěl autor povědět.
- Strana 78: odstavec začínající www.eclipse.org – namísto této adresy, která je zde nesmyslná, by se hodil jiný nadpis, např. Actions and Conditions.
- Obrázky jsem v kapitole o aktivitách nekontroloval. Na druhou stranu např. obrázek 2.103 není, jak by se mohlo zdát, z balíku Activities::BasicActivities, ale z Actions::BasicActions a např. násobnost uváděna u Ap2 je 0..1.
- Strana 83, výčet, položka „the token is made available at the outgoing action“. Namísto action má být správně edges.
- Strana 84: poslední věta na stránce: …there are control tokens that can… namísto tokens má být nodes.
- Strana 86: předposlední řádek na stránce: A final node is also… namísto final node má být FinalNode (tj. dohromady a kursívou, značí to třídu).
- Strana 93 je odkaz na selector na obrázku 2.114. Na něm však žádný selektor není. Obrázek 2.105 nemá selector a v 2.114 je u IL2 discriminator.
UPOZORNĚNÍ
Zkoušky OCUP Fundamental a OCUP Intermediate již není možné absolvovat. Nově jsou k dispozici OCUP 2 Foundation a OCUP 2 Intermediate. Texty uvedené na těchto neodpovídají plně novým zkouškám. Aktuální text najdete na nových stránkách.
Testy znalostí UML
Chcete si kdykoliv před, při nebo po čtení těchto stránek udělat test znalostí UML? Máte možnost absolvovat takový, který připravil autor těchto stránek. Vše podstatné najdete na http://www.kurzy-uml.cz.
Příloha D: Chyby v knize [ocup-cg]
Kniha [ocup-cg] se může zdát být fajn, ale jakmile začnete informace v ní obsažené kontrolovat se standardem, naleznete mnoho nesrovnalostí. Navíc často ani není třeba nic kontrolovat, chyby se nacházejí pomalu samy. Zde předkládám seznam těch většiny těch, které jsem objevil.
Líbila se vám právě přečtená kapitola?
Líbil se vám článek? Přinesl vám užitek? Pokud ano, můžete mi zaslat pár drobných, čímž jednak dáte najevo, že se vám tu opravdu líbilo, a jednak mi ukážete, že má práce není zbytečná. Informace o darovací platbě zde.
Žádné komentáře:
Okomentovat