aspose file tools*
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Cade's class and sequence diagram Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Cade Watch "Cade New topic
Author

Cade's class and sequence diagram

David Follow
Ranch Hand

Joined: Oct 16, 2001
Posts: 223
Hi all,

my understanding is that you should show (ideally) all of your classes from the class diagram in the sequence diagram. But looking at Cade's case study, he hardly uses any classes from his class diagram in the sequence diagrams. Why is that?
Also, I think that Cade's SQDs is pretty high level, or is that enough detail to get high marks on SQDs?
Finally, I understand that people identify about 15-25 technology independet classes for the class diagram to be delivered. I only come up with about 10 Am I missing something? What is a good apporach of identifying classes?

D.


SCJP, SCEA
David Follow
Ranch Hand

Joined: Oct 16, 2001
Posts: 223
Come on people, any thoughts on this one? Please!

D.
Alain Genevrier
Greenhorn

Joined: Jul 05, 2005
Posts: 2
David

The assignment is really easy !
You show in the SD only classes that are relevant to the scenario the SD realizes
There's many techniques for discovering classes:
-nouns and noun sentences analysis
-robustness analysis
-CRC
-general acknowledge on the domain you study
I suggest that you read:
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design by Graig Larman
It's a excellent introduction (i think the best)to OOA&D with UML. The 2nd edition is about UML 1.4 and the 3rd is for UML 2.0

Regards
Alain
SCJP 1.4, SCWCD, SCBCD,ICED, SCEA,CCNA
Dan Drillich
Ranch Hand

Joined: Jul 09, 2001
Posts: 1180
David,

About your question:
What is a good approach of identifying classes?


One thing which I like in the case study in Cade's book is the transition from BDOM to the class diagram. He explains the transition nicely:

The class diagram is a little different from the Business Domain Object Model (BDOM) provided by the business analyst, but it provides additional details and still meets the requirements of the BDOM. The Address, CreditCard and ShoppingCart have all been added with relationships to Customer. Payment and LineItem have been added to expand the Order. Manufacturer is no longer an object, it is now an attribute of Product. .....


Hope it helps,
Dan


William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
David Follow
Ranch Hand

Joined: Oct 16, 2001
Posts: 223
Hi Alain, Dan,

thanks for your input.
I tried various techniques and read quit some material on it.
I guess my confusion lies in the detail of the class diagram.
What classes can I simple omit or assume they are member attributes of some other classes. Further, I guess you will have to show *all* classes in the sequence diagram and if some people have up to 30 classes I guess the SQDs will be mighty big (too big to really fully understand).
I am also not sure if e.g. a SearchManager would be a class in the class diagram (it is certainly not an entity) or if SeachManager would only appear in the SQD and component diagram

D.
kaiser eblovich
Greenhorn

Joined: May 28, 2005
Posts: 23
No according to KISS principle you shouldn't.
It's enough to show just layers in your sequence diagrams, you know, like View, Persistence, and so on. I got 10/12 for my sequence diagrams so I think I did something in the right direction though didn't elaborate perfect enough.
David Follow
Ranch Hand

Joined: Oct 16, 2001
Posts: 223
Kaiser,

I thought you have to show how the classes from the class diagram interact by drawing a complete sequence diagram, meaning an SQD with *all* participating classes. So from what you said, you only showd "layers" but did you also show concret classes from the class diagram in your SQD?

D.
David Follow
Ranch Hand

Joined: Oct 16, 2001
Posts: 223
All,

I guess I can discribe my confusion in more detail now.
I did grammatical dissection: in order to find my candidates I wrote down all the nouns in the use cases. With each noun your supposted to run through the following questions:

1) is this candidate inside your system?
2) Does this candidate have identifiable behavior for your problem domain?
3) Does this candidate have identifiable structure (data to own and manage)?
4) Does this candidate have relationships with any other candidates?

You are supposed to answer all of theses questions with "yes" and that'll be your class for your class diagram.

So far so good, but unlike in object orientation, in EJB behavior and data is split up in two different classes namely EntityBeans and SessionBeans.

So lets take "Customer" for instance. I understand the data Customer manages but what would the behavior of Customer be to make it a real class? Is it's behavior to manage it's data, simply speaking setters and getters? Same with e.g. Seat? What is it's behavior? To express it's status such as booked or it's category such as coach/first? Is that enough to call it behavior?

For instance I identified a candidate called "DepartureInfo" that holds data like departure city, time, date etc. But what would it's behavior be? Will it become a real class in my class diagram?

Any ideas will be very helpful!

D.
kaiser eblovich
Greenhorn

Joined: May 28, 2005
Posts: 23
Originally posted by David Follow:
Kaiser,

I thought you have to show how the classes from the class diagram interact by drawing a complete sequence diagram, meaning an SQD with *all* participating classes. So from what you said, you only showd "layers" but did you also show concret classes from the class diagram in your SQD?

D.



Well, I thought that as well
But then I read notes from some smart guy who did it with layers and got through, nevertheless.
No there were no concrete classes from the class diagram in sequence diagrams, and moreover, class diagram as Sun understands it just _doesn't contain_ all the stuff like View and Business and Persistence. They understand class diagram as analysis model, more of domain entities you have to deal with, and it has nothing to to with sequence diagrams.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Cade's class and sequence diagram