Book a Demo

Author Topic: Specializing Use Cases  (Read 12302 times)

hglathe

  • EA Novice
  • *
  • Posts: 17
  • Karma: +0/-0
    • View Profile
Specializing Use Cases
« on: June 19, 2009, 05:57:40 pm »
Hi everyone.

I'm interested in your opinion about my perception of specializing use cases as follows:

A short abstract example:
- We have a Use Case "Edit File"

- "Edit File" includes/contains activities (Load File->Parse File Content->Edit Content->Save Content into File) modeled using an activity diagram below the Use Case

- The activities "Load File", "Parse File Content", "Save Content into File" are marked as abstract assuming that that they must be explicitely specified elsewhere

- Now I define another Use Case - "Edit XML File" - as a specialization (Gen/Spec-Relationship) of Use Case "Edit File"

- I assume that this new Use Case specializes the behavior represented by the general Use Case "Edit File"

- So, Use Case "Edit XML File" also contains an Activity Diagramm with activities (Load XML File->Parse XML File Content->Edit Content->Save Content into XML File)

- Here, the activities "Load XML File", "Parse XML File Content", "Save Content into XML File" are instead not marked as abstract.

- These activities are something like a realization of the abstract activities

Is my interpretation ok? What do you think?
Do i missinterpreting the meaning of a Gen/Spec of use cases? How is it possible expressing that an Activity realizes an Abstract Activity? I've found the realize-Relationship, but I think that this Relationship-Type has a different meaning with respect to my intention.

Best regards, Helko



philchudley

  • EA User
  • **
  • Posts: 750
  • Karma: +22/-0
  • EA Consultant / Trainer - Sparx Europe
    • View Profile
Re: Specializing Use Cases
« Reply #1 on: June 19, 2009, 06:15:29 pm »
Putting on my developer hat on for a while, I would agree with your interprettation and use of Gen-Spec with use Cases and have created similar models myself.

From a UMl perspective I would consider your interprettation just fine as well.

I haven't modelled the activites in the same way as you have, but I can see the thinking behind it, which is quite sound.

As far as linking the "Concrete" activities to the "Abstract" activities I would use UML classifiers rather than a Realize relationship. For example, right click an Abstract Activitiy (Load File), right click and select Instance Classifier..., choose namespace <any> and then select the concrete Activity (Load XML File)

The Abstract activity should now read Load File : Load XML File

This indicates in UML that Load File is classfied (implemented / realise by) Load XML File. Is this is your intention?

Also, have you noticed, that according to UML Abtract elements are shown in italic font, but in EA an abstract activity does not render in italic font?

Cheers
Phil
Models are great!
Correct models are even greater!

hglathe

  • EA Novice
  • *
  • Posts: 17
  • Karma: +0/-0
    • View Profile
Re: Specializing Use Cases
« Reply #2 on: June 19, 2009, 07:29:45 pm »
Hi Phil!

Quote
This indicates in UML that Load File is classfied (implemented / realise by) Load XML File. Is this is your intention?
Yes, but isn't Load File still abstract when using a non abstract classifier? If not, than it is ok and a usefull solution. I will try it.

Quote
Also, have you noticed, that according to UML Abtract elements are shown in italic font, but in EA an abstract activity does not render in italic font?

Yes. That is confusing me too. I think also that names of abstract Activities shall be shown using italic font.


Thank you very much! Helko