I have a few questions:
1) Is annotation in parentheses an UML standard to describe stereotype (without reference to profile)? Also, is it not necessary to indicate which
EJB version is used? Also, which version of UML is this?
2) Although I may sound a little different, IMHO, how would you hold states between client calls if you have stateless EJBs only, e.g. BidManager, etc.? I say this particularly since you have to make multiple calls such as findBid(), createBid() to complete a transaction as per the non-private methods. Are they grouped somewhere else to create one atomic
unit that is not apparent? You can maintain conversational state in so many ways but only thing such solution is not apparent from the class diagram.
3) I am not sure but some classes, e.g. AvailabilityItem looks more like 'being part of' AvailabilityNotice that refers to a directed composite relationship rather than the catchall both-ways association. Is it that aggregation, composition, and directed association are not required in
SCEA? This actually softens the standard of compliance, which should be declared by Sun/Oracle so that test-takers may spend their times in a better way.
4) Is it that the authors generally ignore the guiding principles of GoF
patterns? I ask this questions because the whole class diagram is built on inheritance only. Moreover, if I am not mistaken, abstract nature of classes, e.g. User, Characteristics, are not captured by standard UML means.