This discussion raises a question for someone with experience of Together.

Since in Together, the code IS the design. Is it possible to model a design
using Java code, and to also convert the same model to C++?

Les.



                                                                                       
                    
                    "Norris, Davyd"                                                    
                    
                    <[EMAIL PROTECTED]        To:     "'Shields James'" 
<[EMAIL PROTECTED]>, "'Lars   
                    om>                        Hauschultz'" <[EMAIL PROTECTED]>, 
[EMAIL PROTECTED]      
                    Sent by:                   cc:                                     
                    
                    owner-rose_forum@ra        Subject:     RE: (ROSE) RE: Code is not 
design!             
                    tional.com                                                         
                    
                                                                                       
                    
                                                                                       
                    
                    04/09/2001 02:14 AM                                                
                    
                    Please respond to                                                  
                    
                    "Norris, Davyd"                                                    
                    
                                                                                       
                    
                                                                                       
                    



Hi James,

> -----Original Message-----
> From: Shields James [mailto:[EMAIL PROTECTED]]
[...]
>
> I can see that you may think that it is Ready - Fire - Aim.
> But it actually more like: Ready - Aim - Fire - Ready - Aim -
> Fire - Ready -
> Aim - Fire - Ready - Aim - Fire ...
> The users on see the last, i.e. the deployed, Fire.
>

You are quite correct here - this is exactly what we say in RUP. However,
to
continue the analogy, what you really need is to be able to bring in bigger
guns and navigation systems as the project gets bigger.

If you are both the architect and the coder in a very small project, then
you would probably want to bounce back and forward between your UML model
and the code. While I personally prefer to choose when I synchronise my
design in UML with my implementation in code, some prefer to always keep
them in synch. Both Together and Rose allow you to work this way (in Rose
you just turn on autosynch mode). This way of working is fine for very
small
projects where you do not have to have as much control, or where your scope
of control is small.

However, as your application expands you need to plan further ahead and
some
of your design should not be implemented until it is ready, some of the
interfaces should not be used until they are nailed down, and there are
more
people seeing less of the application. In this case, one small change can
unknit the whole idea (especially if it is not your idea and you are just a
lower subsystem implementer). In this case, you need to have far more
precision and control over your system and this is where the separation
becomes necessary. This is the way Rose works by default - Together does
not
have this mode, and I have been left to clean up on many occasions after it
was used in larger projects. One occasion in particular, I swear the
developer had dyslexia because there were lots of half implemented classes
which were all spelt wrong - T/J had very kindly auto created these
spelling
mistakes and had not flagged them as a problem. The net result was code
that
ran differently depending on the order of directories in the CLASSPATH!!!

In fact, just now I was interrupted by a colleague who has returned from a
client wanting to swap out Together for Rose and has sited the reasons as
a)
"it does not scale to our size project", and b) "it does not represent the
architecture the way we need because it changes every time we load the
model
from the code".

[...]

> What I AM saying is that the main repository for the Design
> should be the
> Code.

Actually, I have done a bit of an informal study of reuse in my client
sites
over the last five years and have found that the main thing they keep
coming
back to again and again is the UML design model. One client has a Rochade
repository full of VB components that they were going to reuse, but now
they
have all been re-implemented in Java and JSP. These guys like the bleeding
edge and I'm tipping they will redo them all soon in C# and ASP just for
the
sake of it. The implementation changes all the time, but the same design
considerations are there and the architecture has been reused constantly.

I have decided from my study that you should be aiming a level above
implementation and that the UML model is the repository. This is also the
approach taken by Translationists where the model is the executable. An
example of this approach is Rose for RealTime or ObjectTime's ROOM method.

[...]
> Design is just a higher level View of this repository.
> By having the Code as the repository means the Design and
> Code are never out
> of step.

Making the Design into the repository means you are never stuck with trying
to re-architect as language fads come and go - or better, you are not even
stuck with language at all and can model in an abstract form until you make
the choice of language. I must admit that as an architect I find it
counter-intuitive to have to choose a language, then start modelling!!

>
> Honestly, speak to the guys at TogetherSoft.

It would be better to speak to their clients who are faced with using the
tools than to listen to either of us - I work for Rational so I could be
lying through my teeth. :-)

> Get a demo on your own Code; get a demo on creating a 'Design', then
> fleshing it out with implementation, i.e. 'Code' (it's
> actually one and the
> same thing).

But make sure it is large enough to represent one of your typical
developments - in either environment, you will not be able to tell anything
from some dinky little demo example. A better suggestion is to talk to
references from both companies who are in the same space as you and who do
the same size and type of development.

Regards,

Dave.
--
Davyd Norris - Consultant
Regional Services Organisation (Asia Pacific)
Rational Software
Sydney, Australia.
Phone: +61 2 9419 0100
Fax  : +61 2 9419 0160
HDesk: +61 2 9419 0111
--
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************





************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages: 
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* 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