James, 

I've gotten this email a dozen times today, about once every hour I get
another copy.  The same thing happened to a lessor degree with another email
you sent to the list.  I don't know what's going on.  This could be the
mailing list's fault but this hasn't happened with any other messages on the
list.  Might want to check things on your mail server's end.  Until then
I'll just keep deleting them.

Rusty

-----Original Message-----
From: Couball, James [mailto:[EMAIL PROTECTED]]
Sent: Monday, December 04, 2000 2:13 PM
To: 'Williamson, Rusty'
Cc: 'Rose Forum'
Subject: RE: (ROSE) Separation of analysis and design (was:Use Case
Activi ty Diagram Location...)



Rusty,

I find the analysis class stereotyes in RUP to be rather useful.  They serve
as place holders for things you should consider.  Sometimes they collapse
onto one another (ask for clarification if you don't understand this --
unless you closely follow RUP and/or have taken the OOAD with UML class from
Rational you may not), but more often than not, they actually become more
than one class in the design (particularly the UI classes).

You mention a worry about having entity classes be containers for data and
control classes contain all the processing... I think this is mostly what is
intended for analysis and is consistent with other methods I have used in
the past.  The control classes contain the functions to orchestrate (or
control) the use-case.  Thus they contain the outwardly visible behavior.
As you get to lower levels of abstraction (late analysis/early design),
responsibilities are then divided between the entity classes via use-case
realizations.

Well, that's they way we do it.  I am sure there are other correct ways.

Sincerely,
James.



-----Original Message-----
From: Williamson, Rusty [mailto:[EMAIL PROTECTED]]
Sent: Monday, December 04, 2000 10:46 AM
To: Couball, James
Cc: 'Rose Forum'
Subject: RE: (ROSE) Separation of analysis and design (was:Use Case
Activi ty Diagram Location...)



James,

        >Do you have guidelines for what can be in a class model in analysis
vs. design?  

I working on these now.

        >Are they kept separate?  

I think I'm going to keep analysis separate but in the use-case realization
package.

        >If so, are analysis artifacts kept up to date?

I believe that the analysis artifacts will go away, after all they serve a
high level of abstraction and are used to determine design classes (some
analysis classes may become groups of classes, some operations, properties,
entire subsystems or 3rd party products).  In 'Version 1.1' (or the next
release) all of this will be in place.  But... if they go away you lose the
use-case realizations (the requirements trace).  Does this matter?  Will you
need this downstream -- like when you plan the next release -- and if you
use the existing use-cases to incorporate new functionality?  Bottom line,
I've decided to postpone this decision until I know more or see this more
clearly.

        >RUP seems to evolve analysis to design seamlessly without saving
the analysis level of detail.  Is that how you all see it?

Yes.  The way I did it before RUP was to go right to design classes from
nouns in the requirements: a first cut; refine further by exploring their
relationships and roles; refine further by defining responsibilities with
CRC sessions.  After this I pretty much merged with the RUP design
activities.  The point is, the RUP method of doing analysis is new to me.
The use of 'boundary', 'entity' and 'control' classes (model, view,
controller... sort of but not quite 'cause the abstraction level can be...
anything)-- these analysis classes almost seems like some kind of method
dreamed up to 'kick start' non-OO designers.  But then, that's what my
company has a lot of... and I'm not going to judge or knock the process yet.
What makes me nervous is that using this method you can wind up just putting
all data in 'entity' classes (private data with a public get and set for
each bit of data) and putting all processing in 'control' classes.  This is
exactly what procedural programmers do when they don't know any better and
they try to do OOP!  It looks like RUP try's to protect against this by
having you identify 'key abstractions' and then breaking them in to the 3
types of analysis classes.  Then you map these to mechanisms.  So an
different method that may work just fine.  I guess we'll see.

Rusty
------------------------------------------------------------
Rusty Williamson
> Sr. Systems Architect
GERS Retail Systems  
http://www.gers.com/
The Object Workshop 
http://home.san.rr.com/williamson/
Home Page
http://www.znet.com/~rusty/
------------------------------------------------------------




-----Original Message-----
From: Couball, James [mailto:[EMAIL PROTECTED]]
Sent: Monday, December 04, 2000 9:16 AM
To: 'Williamson, Rusty'; 'Charlie Mead'
Cc: 'Rose Forum'
Subject: RE: (ROSE) Separation of analysis and design (was:Use Case
Activi ty Diagram Location...)


Hello,

FWIW, I agree with Rational's decision to place analysis and design in the
same workflow.  The workflows don't indicate separation of concern, just
separation of work.    It so happens that the two sometimes coincide.  In
many of the projects I have run, analysis and design are activities done as
part of the same sequenece of activities.  

I agree that it sometime proves useful to consider them separate concerns
(but still in the same workflow).  

I think we all agree (a good assumption?) to the high level defintion of
analysis and design: analysis is domain oriented while design is solution
oriented.  I am interested in hearing how others draw the distinction
between the _artifacts_ of analysis and design.  Do you have guidelines for
what can be in a class model in analysis vs. design?  Are they kept
separate?  If so, are analysis artifacts kept up to date?

RUP seems to evolve analysis to design seemlessly without saving the
analysis level of detail.  Is that how you all see it?

Sincerely,
James.

-----Original Message-----
From: Williamson, Rusty [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 01, 2000 3:35 PM
To: 'Charlie Mead'; Williamson, Rusty
Cc: Couball, James; 'Rose Forum'
Subject: RE: (ROSE) Use Case Activity Diagram Location...


Hi Charlie,

Regarding 'Use Case Activity Diagram Location' -- the answer was never in
doubt in my mind (which is always a sure sign to seek confirmation when it
comes to UML!!) but our RUP instructor made some statements that confused
the issue and others in my organization were in danger of setting off in a
direction I felt was... not the best.  You are right in line with my
thinking on this and so, it seems, is Rational.  My rule on the use-case
model has always been "if its an 'external view' of 'what' the system does
it goes in the use-case model" (it looks like RUP puts storyboards in the
analysis model or use-case realization area so this is now kind of an
exception).  Anyway at the end of this email I've included an email from
Rational support on this and other matters that were being questioned.

Regarding 'blurred... by combining Analysis and Design': I'm willing to give
it a chance.  The decision was made to try to follow RUP 'as is' as much as
possible in the elements we use (that is we are forgoing elements we don't
feel we need).  Your question is timely for me as I am at this moment trying
to figure out how to get from 'use-case realization' analysis classes to
'design model' design classes.  Pretty much I'm just doing the analysis
model (and story boards) under 'use-case realizations'.  Use-case model to
'use-case realization' is cleanly represented by a stereotyped
<<realization>> dependency (as with include/extend, in Rose you use an
association... unbelievable!) and all of your analysis diagrams go 'under'
this realization.  Now for trace-ability between this and 'design' we should
do the 'many-to-many' analysis class to 'design class or subsystem or method
or whatever' using the trace dependency... but where exactly?  Anyway, I did
like the analysis model (although I was really brought up on a different
approach using CRC) but I think this will serve.

Regards,
Rusty 
------------------------------------------------------------
Rusty Williamson
> Sr. Systems Architect
GERS Retail Systems  
http://www.gers.com/
The Object Workshop 
http://home.san.rr.com/williamson/
Home Page
http://www.znet.com/~rusty/
------------------------------------------------------------

------------------------------------------------------------
>From Rational Support
------------------------------------------------------------
Hi Rusty,

I got the following comments from one of the RUP developers:


> ------------------------------
> Question 1: Regarding the reply from 'one of the Rational University
> trainers in Europe', he says:
>   >Without claiming this to be the only way to do things I will provide my
> view
>   >of things.
> Isn't there an 'official' RUP way of doing things?  Jacobson, Booch and
> Rumbaugh's "The Unified Software Development Process" 1999 Addison-Wesley
> states this in no uncertain terms.

The RUP is not quite as rigid as the your question makes it sound. For any
project, there is a range of appropriate solutions and formality of process.
The choice of how formal to be, and what parts of the process to use, is
driven by risk and specific observed process-related problems. This
configuration of the process is, in fact, a key benefit of the RUP.

So while RUP does provide a set of best practices, the choice of which best
practices to apply will vary based on the situation.  The instructor may not
have made this as clear as it should have been.

> Question 2: Regarding the reply from 'one of the Rational University
> trainers in Europe', he says:
>   >In the UC-view you can create an activity diagram to describe the
>   >normal flow and the alternative flows...
> Trying to answer from the view point of the RUP -- are statechart and
> interaction diagrams still used in this manner?  I say 'still' due to the
> following section from Jacobson, Booch and Rumbaugh's "The
> Unified Software
> Development Process" 1999 Addison-Wesley, page 159:
> "
> Sometimes however, as in complex real-time systems, the use cases
> may be so
> complex that it becomes necessary to use a more structured description
> technique. The interaction between the actors and the use cases may, for
> example, go through so many states and alternative transitions that it is
> almost impossible to keep a textual use-case description
> consistent. It may
> then be useful to use a visual modeling technique to describe the
> use cases.
> Such techniques can help the system analyst to better understand the use
> cases:
>
> *     UML statechart diagrams can be used to describe the states of the
> use case and the transitions between those states; see Figure 7. 16.
> *     Activity diagrams can be used to describe the transitions between
> states in more detail as sequence of actions. Activity diagrams can be
> described as a generalized form of SDL state transition diagrams
> [15], which
> is a well-proven technique used in telecommunications.
> *     Interaction diagrams can be used to describe how an instance of a
> use case interacts with an instance of an actor. The interaction diagram
> then shows the use case and the participating actor (or actors).
> "

This is a correct statement and the RUP needs to be more precise in stating
when and how different diagramming techniques can be applied.  The book
provides a good introduction to how and when these techniques could be used.

> Question 3: Regarding the reply from 'one of the Rational University
> trainers in Europe', he says:
>   >In the UC-view you can create an activity diagram to describe the
>   >normal flow and the alternative flows (partly replacing the need for a
>   >textual uc-description)
> I'm not sure I would ever use an activity diagram (or sequence or
> interaction diagram) to 'partly replace' the textual uc-description, but
> rather to explore, workout and display complex use case flows.  So that I
> could understand and know that we (the end user and myself) were
> on the same
> page with what the system should do under multiple decisions and
> circumstances.  Sending an example would be difficult but I'm sure you
> encountered these type of use cases.  Also the above quote from
> Jabcobson's
> book alludes to this.

Agreed.

> Question 4:
> Please confirm for me (actually for a co-worker) that you would not see
> analysis classes anywhere the use-case view.

That is correct; analysis classes would not appear in a use case view; they
are related to use case realizations but these are part of the logical view.

Best regards,
Sara
===============================
Sara Lerman
RUP/RPW/SoDA Technical Support Engineer
===============================
------------------------------------------------------------
------------------------------------------------------------


-----Original Message-----
From: Charlie Mead [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 01, 2000 7:12 AM
To: Williamson, Rusty
Cc: 'Couball, James'; 'Rose Forum'
Subject: RE: (ROSE) Use Case Activity Diagram Location...





It seems to me that the real question is "what is the diagram trying to
visualize?' -- and when you use an AD (with or without Swim Lanes -- I very
much
prefer the former) to visualize the flow and interaction between Actors and
the
System in a Use Case, you are looking at the system "from the outside,"
which is
what the UC view is supposed to do....the fact that you've used an AD is
immaterial...the fact that you've viewed the system from outside is the
critical
fact....

On a related subject:  I do think that Rational and RUP have
blurred/confused
things a bit by combining the Unified Process's view that there are two
distinct
workflows -- Analysis and Design -- into one single workflow (Analysis and
Design).....I have found considerable value in formalizing the Analysis
workflow
via UC realizations that are implementation independent and look basically
like
Jacobson's Robustness Analsysis stereotypes (and RUP's Analysis classes)
placed
in Collaboration (or responsibility-based Sequence) diagrams....the
advantage of
going through a round of UC realization a the "concept-not-class" and
"responsibility-not-operation/message" level is that it

a) helps you discover things about the UC you may have overlooked; and
b) firmly established a tracability link into the UC realizations at the
design
level.

Also, I have found that the ability to produce implementation-independent UC
realizations (vs implementation-specific design-level ones) may not lie with
the
same person....System Analysts are, in general, much more willing to be (at
least for the moment) blissfully ignorant of implementation details while
simply
modeling responsibility-based collaborations between instances of analysis
model
concepts rather than design-level classes .....designers, on the other hand,
tend to want to get immediately to the class and message level in the
realization....the Unified Process argues, I think, very convincinly for
having
a UC Realization--Analysis activity which is separate from the UC
Realization--Design activity.....I wonder if Rational combined the two UP
Workflows in large part because of their essentially identical tooling
requirements....but I don't know that.....

In the RUP class I took, the instructor said that Rational believes that
developers/designers can gather requirements, build Analysis models as
needed,
and move to design and that therefore the workflow Analysis and Design
should be
considered as a single workflow....maybe that's true....but I've found it
hard
to keep good designers at an implementation-independent level for too long.
--
and also found that their work is made much easier and traceable (i.e. their
implementation-specific compromises much easier to evaluate and potentially
negotiate with customer requimenets) in the presence of formal UC
Realizations
at the Analysis level....

charlie


************************************************************************
* 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