• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • paul wheaton
  • Jeanne Boyarsky
Sheriffs:
  • Paul Clapham
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
  • Himai Minh
Bartenders:

Cade's class and sequence diagram

 
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
David Follow
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Come on people, any thoughts on this one? Please!

D.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 1183
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
David Follow
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic