Book a Demo

Author Topic: Use Cases coverage from System Processes  (Read 24341 times)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Use Cases coverage from System Processes
« Reply #15 on: March 20, 2009, 07:40:58 am »
Quote
this is the <<business use-case realization>> stereotype for Collaboration class under Busines Modeling toolbox, i think this is UML compliant, isn't it?

Vi
So you are going to use a Collaboration after all :)
Sure that is UML compliant, no matter which stereotype you use.

Geert

viarellano

  • EA User
  • **
  • Posts: 36
  • Karma: +0/-0
    • View Profile
Re: Use Cases coverage from System Processes
« Reply #16 on: March 31, 2009, 07:31:15 pm »
Quote
LOL it's funny because now that you said that about the stereotyped "dependency" issue with the RTM, that IS the reason I went with "Realize!"

Thanks for helping me to remember what I had forgotten! :)

And I believe that the request to support RTM steretypes has been mentioned and requested previously too.

More about "realize" ...

I'm establishing dependency from my User Interface elements and my "System Services" (components that have the business logic in the system, that maybe will be implemented through EJB, Cobol ... and so. Then, which is the better connector stereotype that i might use? "Realize"?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Use Cases coverage from System Processes
« Reply #17 on: March 31, 2009, 08:25:57 pm »
I you wish to express that your user interface is actually calling "System Service" then I would not use Realize.
I would just use a plain dependency without any stereotype. If you really want to type the dependency maybe you could use the <<call>> stereotype.
From UML specs (2.2)
Quote
A usage dependency whose source is an operation and whose
target is an operation. The relationship may also be subsumed to
the class containing an operation, with the meaning that there
exists an operation in the class to which the dependency applies.
A call dependency specifies that the source operation or an
operation in the source class invokes the target operation or an
operation in the target class. A call dependency may connect a
source operation to any target operation that is within scope
including, but not limited to, operations of the enclosing
classifier and operations of other visible classifiers.

bioform

  • EA User
  • **
  • Posts: 230
  • Karma: +0/-0
  • Forty-Two?
    • View Profile
Re: Use Cases coverage from System Processes
« Reply #18 on: April 01, 2009, 02:23:01 am »
Quote
More about "realize" ...

I'm establishing dependency from my User Interface elements and my "System Services" ...

What about in the other direction (upward?)
When I model a use case in what I call my "overview" diagram, I would:

  • Place UC in middle of diagram
  • Place Actor to left of UC
  • Add an association (not use) from Actor to UC, then on association property target, change to navigable (this makes the arrow appear)


I do this to clearly indicate that the actor intitiates the UC. Rarely do I have two actors, but sometimes I do (kind of old school on that point -  <<uses>> does not display the specified navigation info. Not that important but  I do use it as a source of information that I can mine for training, and some other doc gen tricks...)

  • Place the business domain element (identified from the UC's verb-noun forms) and draw a dependency FROM domain element to UC
  • Directly below the UC I drop a stereotyped element (screen, from the Custom tool list) and then add dependency from Screen to UC)
  • IF, and rarely there are, you have an association between that UC and another UC, I then drag these onto the diagram and place on the right side so the association links lead to the UC.


Sometimes I will see additional links that were added somewhere else, so I just set their visibility on the diagram to not show.

If there are quite a few related UCs (like when I am diagramming the general form, and I have several specialized UCs) then I will show that "view" on another diagram and just place a hyperlink to it.

BTW I use a consistent pattern of hyperlinks (both name and location) to allow you to quickly navigate the UC's related diagrams, like:

  • Return to Catalog,
  • Overview,
  • Domain, - Class diagram with only those elements that have context with the UC
  • Requirements, - Display Stakeholders associated with the UC and their Needs (requirement stereotype used during stakeholder analysis. You might want to see my post on the {search term}Onion Model {search term} of stakeholders.) The actual requirements that this UC must deliver are usually associated with the activities in my Flow diagram.)
  • Flow, - Activity diagram that diagrams the flows through the use case, formatted to easily show Basic and Alternate pathways leading to the UC's desired result, and Exception flows that lead to the UC's undesired result. Note: If you follow good modeling practices, then you should ONLY have 1 partition defined for each UC actor. Then when you document the flows, each actor that participates has their own partition (aka swim lane) in the diagram.

HINT: This info can be mined for testing, discussing and identifying  security roles, building scenario data sets, and of course TRAINING documentation and scope…

  • UI. - Class diagram, the "Screen" element, that I name with the UC's name - format "UC Name-UI". This class is then where the high level requirements of the UI are placed. The lower level requirements are either attached to a wireframe built in EA, or to a Class that "Stands-In" for the UI - attributes (elements both displayed and not displayed and operations (features) of UI.


This VIEW has great use to the UI developers...

[/list]

I just believe it is so critical to document the UC clearly and have the views (diagrams) that each stakeholder group needs and wants.

Think this should become a separate topic? (e.g. Diagramming Approaches to UCs)

As always, if anyone wants to see some examples or talk offline, just send me a message.

David aka Bioform
Time is what keeps everything from happening at once, Space is what keeps it all from happening to you. <unknown>

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Use Cases coverage from System Processes
« Reply #19 on: April 01, 2009, 03:09:00 am »
Quote
What about in the other direction (upward?)

Yes sure an upward relation to the use case, but when your screen is using system services I think the screen would be dependent on the system service, and not the other way around.

BTW, I like your approach, I've used variations to this theme at several clients.

bioform

  • EA User
  • **
  • Posts: 230
  • Karma: +0/-0
  • Forty-Two?
    • View Profile
Re: Use Cases coverage from System Processes
« Reply #20 on: April 01, 2009, 06:48:29 am »
Thanks,

The "screen" I was referring to is not the realization, but rather an abstract collection point for the highest level UI requirements.

The class(es) I use that are dependent on the "screen" is where the developer's aggregation of mid-level requirements reside (those things that are independent of the solution, but must be met by the selected UI design.)

It always is a challenge to get the UI requirements right, so many people think the solution IS the requirements.

Rather the solution is a solution set that fulfills the UI requirements. Another completely different UI could fulfill the same set of requirements,

It is so important to understand where requirements stop and UI design begins... :) LOL just like every OTHER part of requirements engineering!

bioform

« Last Edit: April 01, 2009, 06:50:59 am by bioform »
Time is what keeps everything from happening at once, Space is what keeps it all from happening to you. <unknown>