This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
1: Is it OK to add components in the component diagram that`s not mentioned in the class diagram? I´m considering adding application services and DAO`s to LDAP and email servers. I´m also considering adding some views and application services for manageability purposes (admin can add entities to the db, monitor the application, get statistics, etc) and an application service for security. Do I have to add all this to the class diagram as well? In Cade`s example he has added some components that`s not mentioned in the class diagram.
2: I see some component diagrams are structured by the different modules (war (presentation), ejb (business logic), ear, jar (cross cutting concerns, etc)) of the application where the various deployment descriptors are shown in each module. Is this a good way to group the components together?
3: Do you drop points if you don`t show navigability navigability in the class diagram?
4: Can I put value objects as attributes in the class diagram, without adding classes for all the value objects? Example: An Item has-a price attribute of type Money. An AuctionRequest has-a endCriteria of type EndCriteria. The Money and EndCriteria classes is not mentioned anywhere in class diagram (only showing the most important classes). Is this a good approach or should I also add all value objects?
1) Yes. Consider writing an assumption that these exist instead. It's not in scope so you don't want to lose points on something you do wrong in there. Mentioning you thought about it is still good - hence the assumption.
2) It's fine
3) Maybe? We don't have the grading sheet so can't be sure.
4) I would put the value objects in the vein of "better safe than sorry." It's not hard so I would put them to avoid the risk of it turning out to be needed