Hello Fenglei,

If you will permit me, may I suggest another approach.

I have lurked, off and on,  on this forum for quite a while.  Rose has
received great volleys of criticism about the lack of a decent layout
algorithm.  While technically true (the layout algorithm is rubbish),
they miss the point.

Rose, as a design tool, allows you to think and communicate.  When you
design a class diagramme or a state diagramme diagramme, you do so with
a goal in communicating an idea.  Some classes are in the middle because
  people care about them more.  They are the principle class in the
diagramme.  They matter.  The other classes are there because they
interact with that/those class(es).  Moreover, many class relationships
exist but don't matter in understanding the motivation for having that
class.

(Old versions of Together would draw a relationship between my class and
String or Integer.  This is technically correct.  But get it out of my
face!  The relationships between say Customer, SalesRep and Company
matter.  The 40 relationships Customer has with String do not.)

If you have a screwed up code, then it takes the hand of a human to
build the diagramme.  The end diagramme will refactor the code.  Rather,
the process of drawing the diagramme will show the weaknesses in the code.

I don't believe that there is any short cut to refactoring.  Someone
must understand the mess.  30 diagrammes, one for each class, will not
help much, simply because examining 30 diagrammes is daunting and
tedious.  Besides, if the app is hand coded, the classes are likely to
be reasonably coherent when viewed individually - that is not far from
the programmer view.  It is holistically that they will breakdown -
circular dependencies, tight and fragile coupling.  I want a diagramme
to show me something that I can't see in the code.

Now, if you want to do some scripting, you could look into reporting
statistics about classes - number of relationships, relationships by
package, dependencies by relationship, dependencies by interface (in
method parameters)... and look for exceptions - high, low, average..
But probably a lot of this exists somewhere so perhaps archeology is
more needed.

Just my thoughts,

Neil

fenglei wrote:
>  
> ----- Original Message -----
> From: fenglei <mailto:[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> Sent: Saturday, November 09, 2002 8:24 PM
> Subject: Re: (ROSE) Use of RUP and Rose - Specifically going from 
> Analysis to Design
> 
> It is a great ideal.
> I come across another problem.Although a log of guy are using rational 
> rose in my team, but they don't know how to make good design.As a 
> example: In a package which contains at least 30 classes, there are only 
> two class diagrams and quite a few relationships between classes.
> To solve this problem, I tried to use reverse enginner to generate the 
> rose model.But i had to manually generate class diagrams to adorn the model.
> class and interface can be thought as the node of graph, and the 
> relationships (such as dependencies and association ) can be though as 
> arc.So using graph theory ,we can divide the graph into subgraphs��I can 
> create one class diagram corresponding to the subgraph.
> I want to write rose script to do such job.And I am glad to find someone 
> is also showing interest in using scripts to automate the design process.
> ----- Original Message -----
> 
>     From: Peter Hazlehurst <mailto:[EMAIL PROTECTED]>
>     To: ROSE_FORUM <mailto:[EMAIL PROTECTED]>
>     Sent: Tuesday, October 08, 2002 6:34 AM
>     Subject: (ROSE) Use of RUP and Rose - Specifically going from
>     Analysis to Design
> 
>     Hi,
> 
>     I've developed a bunch of tools that permit the automated generation
>     of J2ee 1.3CMP capable design models from well formatted analysis
>     models...
> 
>     The advantage is that you can spend your time in analysis and the
>     design is "automated". Obviously, not everything is done, but much
>     is...
> 
>     I'm interested in whether other people are facing similar problems
>     and whether there is interest in using a tool like mine to help you
>     in your problems.
> 
>     Drop me a line at [EMAIL PROTECTED] if you are interested.
> 
>     Thx
> 
>     P
> 


-- 
Neil Pitman
[EMAIL PROTECTED]
+1.514.863.5465
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Post or Reply to: [EMAIL PROTECTED]
* Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
*    http://www.rational.com/support/usergroups/rose/rose_forum.jsp
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*    To: [EMAIL PROTECTED]
*    Subject: <BLANK>
*    Body: unsubscribe rose_forum
*************************************************************************

Reply via email to