Don
I didn't mean to imply that there was no iteration, and I didn't mean to
imply that you had to finish requiremetns before designing.
I also recognise the importance of architecture.
I suppose the lesson is that there is only so much one can say in a single
message.
James
-----Original Message-----
From: Don Bate [mailto:[EMAIL PROTECTED]]
Sent: Saturday, April 07, 2001 2:10 AM
To: Glover, Roger H.; Shields James; [EMAIL PROTECTED]
Subject: RE: (ROSE) RE: Code is not design!
I've tried in the past with some of Rational's earlier products and
while the keeping the Design and Code in synch is an attractive goal;
it doesn't work out in practice on other than small projects. Almost
by definition, on a moderately sized project, there are going to be
problems in synching and it occurs as soon as the
architects/designers and the programmers are different people with
different priorities and schedules.
You also hit upon a pet peeve of mine by stating:
(requirements, analysis, design, and coding)
I believe that it should be
(problem analysis, architecture, requirements, design, and
coding) with lots of cycles in between.
Regards,
Don Bate
At 11:34 AM -0500 4/6/01, Glover, Roger H. wrote:
>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
>*
>*************************************************************************
--
Don Bate | Specializing in Consulting and Mentoring in
Bate Consulting, Inc | Object-Oriented Technologies,
| Software Architecture, and Software Process
(972) 618-0208 voice
(972) 618-0216 fax
[EMAIL PROTECTED]
************************************************************************
* 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
*
*************************************************************************