Author Topic: Analysis, Boundary/Control/Entity self message?  (Read 1961 times)

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Analysis, Boundary/Control/Entity self message?
« on: February 25, 2004, 05:28:41 am »
drawing a sequence with these analysis level classifiers, is it possible or even standard in UML to have them send self messages?

I can do this when drawing sequence diagrams but not with the analysis diagrams :(

I have a boundary called home page, when the user invokes a UI control on home page I want the home page to send a self message to itself, not sure how to represent this one apart from leave the self messages out of my sequences.

- Fluxtah

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #1 on: February 25, 2004, 01:16:44 pm »
I'm not sure that what you're trying to achieve is valid, or at least optimal, with Analysis diagrams.  

I'm assuming that when you say you want the boundary object to self-message, you mean that some client-side script is manipulating the UI based on user input, without engaging other portions of the system.  Is that more or less correct?

If so, that's more granular than I believe the Analysis diagram is intended to function, and it's not probably very useful to a developer if you express it that way.  At the same time, it's too detailed to be useful to the folks that normally participate in creating and validating Analysis diagrams.  Remember that the audience for Analysis diagrams are really the customer and system analysts, working at a more functional level ("I want to do X and have the system respond by doing Y").  

So, without discounting the value that this information might have to a developer, let me make some alternate suggestions on how to capture it so that it's more usable at a detailed level:

- If you want to note a general business rule or other behavioral characteristic, you may express it in the body of the Use Case that invokes the UI.

- Or perhaps as a Note in a low-fidelity mockup of the UI, if a simple explanation would make the intent obvious.  See EA's Custom toolbox, or use another tool like Visio for creating the mockups.

- If there's some tricky or non-obvious logic happening within the UI that needs to be captured, you might consider using an Activity diagram to express it (careful though, since that's now defunct in UML 2.0).  You could even divide it up into swimlanes to show division of responsibility between the browser (IE) and client-side objects that you create at runtime (e.g. objListFormatter, or something).

- If the logic involves non-trivial interactions between multiple run-time objects, you may even consider a Sequence diagram, but I think may be taking it kind of far.  If you have that many objects interacting within the UI it's likely that you have some business logic embedded in your UI that ought to be somewhere else.  

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #2 on: February 25, 2004, 01:40:01 pm »
I knew there was something else I was forgetting  :P.  You probably should look into the UML Profile for Web Modeling too.  This is available to you on the Resource View tab, located in the UML Profiles folder.  I haven't played with it much, but it seems like it should be useful for what you're trying to accomplish.  I know that there's an OMG book on this very topic too, so you may check out Amazon to do some background research on it, as well as OMG's website.  

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #3 on: February 26, 2004, 01:05:39 am »
Hi Dave,

Thanks! yep that is exactly what I am trying to capture, most .NET web pages have event handlers that are fired when the user clicks. The way I was thinking was that if my boundary "Home Page" has a UI control invoked on it, lets say just a button, they click the button and this invokes an event handler, also like you say client side script might kick into effect when the user clicks on the button.

I haven't checked out the profile for web yet though I hear it is based on Jim Connalen's book on modelling for web which I am working from amongst a few other recent books that explain modelling for web further.

Thanks for the help, that cleared up a few things :]

- Fluxtah

Thanks for the help!

- Fluxtah

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #4 on: February 26, 2004, 02:36:56 pm »
Fluxtah,

The profile is based on Conallen's original work, so it may differ slightly from the book.

However, I dont have the same problem you are describing?  Whereas you are using an analysis diagram, I use a collaboration diagram.  But I just tried the same thing using an analysis diagram with no problem.

Are you creating the self association link first?

Bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #5 on: February 26, 2004, 02:50:20 pm »
JD,

To some extent, although it may not be optimal UML, we use a similar approach here in analysis to decide at a conceptual level what can be handled on the client side and what actions need to be passed back to the server side for action.  As we dont have the business side technical people trained on UML past the use cases, activity models, and other "top level" UML tachniques we model behaviour that they need to understand using MVC (or OOSE if you prefer) collaboration models  - typically using boundary and entity objects only.

Consider, as a simple example, a login form.  Two textboxes and two buttons.  The "requirements" for validating the form are:
  • user name must be entered
  • password must be entered
  • username password pair must be valid/known


The first two can be resolved at the client end, without invoking server traffic, using client side scripts.  Obviously the third requires a submit/POST and server side validation.

We use collaboration diags to show the business what actions are occuring on the client side and what on the server.  (Obviously our examples are much more complex than this.)

Make sense?

Bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #6 on: February 26, 2004, 02:53:25 pm »
oops!

p.s.  In doing the previous, several times what we thought was client side achievable, needed to be done on the server side.  i.e. the business was able to pick up our misunderstandings!
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #7 on: February 26, 2004, 06:27:34 pm »
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: Analysis, Boundary/Control/Entity self message
« Reply #8 on: February 27, 2004, 05:51:56 am »
Ello Guys,

when I try to create the self-message like above I am just dragging the relationship from the boundary classifier to itself, for some reason the connector does not appear, however when I go to the Classifier properties and look at the relationship table it does exist, but just doesn't show up on the diagram :(

Ian
« Last Edit: February 27, 2004, 05:52:36 am by fluxtah »