• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Partitioning of a Class Diagram

 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Ranchers,

My class diagram is a little too big and I would like to split it.
I know some of you have successfully done splitting of class diagrams in the past.

I think of splitting my class diagram to 3 smaller diagrams:

- Client and Web tier: JSFs and backing beans (CDF beans)
- Business and integration tier: services (stateless session beans), repositories (others call it DAOs) and all auxiliary classes or beans that are needed for the implementation of business logic;
- Resource tier: JPA entities; this will be the diagram that will have all the elements from the Business Domain Model provided with an assignment.

I have a few questions:

1. Is this a fair way of partitioning ? For those of you who actually did this kind of split for OCMJEA/SCEA assignment, what was your criteria for splitting ?

2. How should I specify outgoing dependencies to elements that are not part of the diagram ? Say in “Web tier” diagram I need to create a dependency relationship between CDF bean, which is part of this diagram, and JPA Entity, which belongs to “Resource tier” diagram - what is the best way to show this dependency ?

3. Should I show incoming dependencies ?

4. Should all class diagrams be referenced from the master index.html file, like “Class diagram 1: Web Tier Elements”, “Class Diagram 2: Business Tier Elements” and so on ?

Thank you !
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 35279
384
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I split mine. One approach I like is to have the "main" class diagram be a bit higher level. For example, have a box for entities. Many other classes depend on that box so have an arrow. Then on another page, is the contents of the entity box with all the relevant details.

This approach shows you understand the relationships and sort of works like a zoom.
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jeanne,

Many thanks. Please kindly clarify:

So you have got a "master" diagram which is set of boxes (entities, services, etc) with dependencies, and a bunch of "detailed" diagrams, having all the relationship and connections of the elements of this particular tier, or subsystem.

In "master" (high level) diagram:
- How much of detail did you put to the content of the boxes ? Did you just put a label ("Entities") and the list of elements inside ("Customer", "Order", "Order line") - or did you provide anything else ?
- Was that high level "master" diagram a package diagram ?
In "detailed" diagrams:
-did you specify outgoing or incoming dependencies to the elements outside this diagram ?

Thanks !
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 35279
384
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike Degteariov wrote:- How much of detail did you put to the content of the boxes ? Did you just put a label ("Entities") and the list of elements inside ("Customer", "Order", "Order line") - or did you provide anything else ?

I didn't even list them. I just had an "Entities" box.

Mike Degteariov wrote:- Was that high level "master" diagram a package diagram ?

No, but that's a good idea! I didn't have a high level concept for all the packages; just the "busy" ones. I like your idea better though.

Mike Degteariov wrote:In "detailed" diagrams: -did you specify outgoing or incoming dependencies to the elements outside this diagram ?

No. The high level diagram covered that.
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Jeanne.

One last question, if I may:

Do you think that by not providing dependencies between elements belonging to different "detailed" diagrams you risk to lose marks ?
I understand that you weighted pros and cons and you had good reasons of not providing these dependencies (and you were ostensibly right), I am just curious about what source (books, etc) you used to come to this decision.

Thanks !
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 35279
384
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike Degteariov wrote:Do you think that by not providing dependencies between elements belonging to different "detailed" diagrams you risk to lose marks ?
I understand that you weighted pros and cons and you had good reasons of not providing these dependencies (and you were ostensibly right), I am just curious about what source (books, etc) you used to come to this decision.

It was a judgment call. I felt the class diagram would be illegible with everything on one page.
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Jeanne.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic