The problem here is that there is *great value* in separating Design from
Code.  A team project runs several unnecessary risks in a
"Code-is-Design-is-Code" scheme:
    o  Accountability:  How can you assess whether the Code is true to the
       Design when you are in a situation where changes in the code *change*
       the design?  If you add a new method or instance variable to a class,
how
       is one to know that that change deviates from the design if the code
was
       the only place that stored that design knowledge?
    o  Messy Code:  Useful design elements that do not need to be expressed
       directly in code in the context in which they appear in diagrams
(such as
       traits of non-navigable association ends) could lead to confusion.
       Either the developer has to put up with confusing documentation
within
       his code, or he deletes it and that information is lost to the design
       model.
    o  Inflexibility:  Often the design model needs to be updated during the
       construction process, due to changing or late-arriving requirements.
In
       this case, the designer and the developer both need to work on the
"code-
       design-is-code" at the same time.  Someone is going to have to give
up
       access to the code during this time and I doubt it will be the
developer.
       Thus the designer will have to find some other way to work.  You say,
       "design and code are never out of step."  I say, "there are lots of
cases
       in which it is necessary and proper for the design and code to be out
of
       step."

Even if you keep your code under sophisticated source management (ClearCase,
Source Integrity, etc.(Don't even think of mentioning VSS)):
    o  so that you can trace the code back to the Design after Coding begins
in
       earnest
    o  so that you can reclaim any lost comments that the developer deleted
    o  so that you can start a divergent source path so that Code and Design
can
       progress in parallel.
Now all that you have done is *recreated* code/design separation the hard
way.  You have to keep track of which version denotes the cutover from code
to design, and any other versions that represent a design change not yet
reflected in code.  You have a high likelihood of code divergence *before*
release (Normally it does not happen until bugfix versions after release).
"In short," says George, "you have a gastly mess."

If you are doing it all yourself (requirements, analysis, design, and
coding) and you have good source management, and you have a *great* memory
for details, then I suppose that you could juggle "code-is-design-is-code"
well enough.  On the other hand, as a mere mortal who works most often as an
architect in a team environment, I must say that I much prefer to have
separate design and development tools that freely communicate with each
other.

-- Roger Glover


-----Original Message-----
From: Shields James [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 06, 2001 3:06 AM
To: 'Lars Hauschultz'; [EMAIL PROTECTED]
Subject: RE: (ROSE) RE: Code is not design!



Lars

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.

I'm not saying DON'T do Design.
Design is important because it is more abstract than Code.
And you still have to do Architecture (higher level Design).

What I AM saying is that the main repository for the Design should be the
Code.
(The other elements of the repository include Diagrams, (JavaDoc) Comments
in the Code.)

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.

Honestly, speak to the guys at TogetherSoft.
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).

Hope I have expressed myself clearly.

James

-----Original Message-----
From: Lars Hauschultz [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 06, 2001 9:46 AM
To: [EMAIL PROTECTED]
Subject: RE: (ROSE) RE: Code is not design!



Hi James,

somewhere I read that RUP is following the strategy "Ready - Aim - Fire" and
that XP is "Ready - Fire - Aim". Your approach seems to resemble the latter.
At least you risc ending up with code, which the programmers like, but does
not do the job it was intended for.

Lars

-----Original Message-----
From: Shields James [mailto:[EMAIL PROTECTED]]
Sent: 6. april 2001 09:29
To: 'Aker, Eric'; 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
Cc: [EMAIL PROTECTED]
Subject: (ROSE) RE: Code is not design!



Eric

One of the *good* things about Together is that the Code IS the Design.
As you move from Design to Code, all you are doing is fleshing out Design
with implementation details.
The Diagrams are updated automatically as the Code changes; as the Diagrams
change content (not presentation) the Code changes.

You do not need worry so much about reviews that make sure the Code has
followed the Design, because they are the same thing.
Sure, if the Code changes in maintenance it may change what you INTENDED
when you had your Design Hat on.
But you use the tool to View these changes the Code made to the Design.
You are then in a position to judge whether or not the Code is correct or
not.
If it is not correct, you point out the differences and ask the Programmers
to make the necessary changes.
You would probably TELL them to make the changes because you, as a Designer,
are superior. ;)

Another point is that a lot of your Design documentation is captured in the
Code (in JavaDoc).
This is probably the best way of ensuring that the Design documentation is
kept up to date.

But, hey, don't take my word for it. Speak to the guys at TogetherSoft.

James

PS Have you told your bosses that you hours moving little boxes and lines
around to make them look pretty? I'm sure that will please them. ;)

PPS Please don't take offence at any of my sarcasm.

-----Original Message-----
From: Aker, Eric [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 05, 2001 7:13 PM
To: Shields James; 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
Cc: [EMAIL PROTECTED]
Subject: Code is not design!


Let me see if I understand correctly.

I spend a few weeks creating a design and documenting my intentions
as a designer. I get some code from that design. Then someone makes
some changes to that code. My design, my BEUTIFUL design, where I have
documented what I intend the system to do, is changed? I would be very
upset.

So, some new guy on the project makes a change to the code and all of my
class diagrams that I have spent time laying out, making pretty for
a design review, are changed? This does not sound like a good idea to me.

No, not good! As the DESIGNER, I am superior. I do not want coders making
changes to my lovely design. Sounds like a stupid idea to make the code
equal to the design.

After the coders have done their work it would be most interesting to
verify if they followed my design. Reverse engineer it, then run it through
the model integrator to get a report on the differences. That would be good,
then I could have a model as designed and as built. My father is a carpenter
and he builds houses. When he makes changes to the blueprints he notes that
and when the house is finished a fresh set of drawings is made "as built".
The architect then signs off on the "as built" indicating that nothing
illegal was done.

Eric


-----Original Message-----
From: Shields James [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 05, 2001 12:27 AM
To: 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
Cc: [EMAIL PROTECTED]
Subject: RE: (ROSE) interaction diagrams



I'm not trying to be subversive here, but are you all aware that Together
keeps code in step with all UML diagrams?

www.togethersoft.com

James

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, April 04, 2001 7:30 PM
> To:   'Michael Hill'; Moin Ahmad
> Cc:   [EMAIL PROTECTED]
> Subject:      RE: (ROSE) interaction diagrams
>
> I do not believe that as well that Rose is capable of generating codes
> from interaction diagrams - that will be a very useful functionality.
>
> Cheers.
>
> Patrick
>
>
>
>
> -----Original Message-----
> From: Michael Hill [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, April 04, 2001 10:33 AM
> To:   Patrick Adewunmi; Moin Ahmad
> Cc:   [EMAIL PROTECTED]
> Subject:      RE: (ROSE) interaction diagrams
>
>  << File: ATT00000.txt; charset = utf-8 >>
************************************************************************
* 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
*
*************************************************************************
************************************************************************
* 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
*
*************************************************************************
************************************************************************
* 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