Report about about the Workshop on Use Case Modeling at
UML-2004
“Open Issues in Industrial Use Case Modeling”
Gonzalo Génova, Carlos III University of Madrid
Juan Llorens, Carlos III University of Madrid
Pierre Metz, Cork Institute of Technology, Ireland
Rubén Prieto-Díaz, James Madison University, VA, USA
Hernán Astudillo, Universidad Técnica
Federico Santa María,
Chile |
 |
REFEREED
ARTICLE

PDF Version |
Abstract
Use Cases have achieved wide use as a specification tool for observable
behavior of systems. However, there is still much controversy, inconsistent
use, and free-flowing interpretations of use case models, in fact,
not even experts widely recognized in the community agree on the meaning
of concepts. Consequently, use case models are dangerously ambiguous,
and there is an unnecessary divergence of practice. The purpose of
the workshop was to identify and characterize some sources of ambiguity.
It gathered specialists from academia and industry involved in modeling
use cases to exchange ideas and proposals, with an eye to both clear
definition and practical application. Some presented topics were discussed
in-depth (the UML metamodel for use cases, use case instances, use
cases in MDD/MDA, use case model vs. conceptual model, and tools for
use cases specification), while others were left as open issues for
future research. We hope our suggestions will be useful to improve
the understanding of use cases, and stimulate further research to reach
a stronger coupling between the use case model and other static, behavioral
and architectural models.
1 MOTIVATION AND GOALS
In UML there are two main representations for use cases: textual
specifications and diagrams. From a methodological standpoint, these “two worlds” have
been evolving in isolation to each other. A full semantic connection
between use case specification items and UML use case diagrams as initially
desired by Jacobson et al. in the OOSE method does not exist. This
important topic is still open to discussion and agreements, and the
original impetus of the workshop comes from this dichotomy between
textual vs. graphical representations for use cases.
The Graphical World
UML has been aiming to formalize use cases through object-oriented
techniques by declaring the metamodel element UseCase as a subtype
of Classifier, which contains Attributes, Operations and Methods, while
not defining use case documentation properties or providing a tailorable
use case template. This has given use cases an explicit OO formalization
as desired by Jacobson et al. in OOSE. However, the absence of a reconciling
explanation of this formalization with textual use case specifications
as promoted by the literature, and of guidance on how to actually document
use cases, has caused a certain lack of understanding among both practitioners
and researchers.
The graphical world of diagrams is dominated by use case relationships.
UML’s explanations of Include and, in particular, of Extend remain
vague, and may even seem to be contradictory, tending to confuse readers
about when to use Include or Extend. Precise and unambiguous definitions
of terms are missing. Therefore, UML's explanations for Include and
Extend are still subject to ongoing debates. Moreover, UML appears
to mix the instance and the type view when defining the use case relationships
Include and Extend.
Another aspect where UML fails to be fully clear is regarding the
meaning of use case Generalization: there is no indication whether
subtyping
and/or inheritance are meant.
The Textual World
The literature commonly emphasizes and promotes written use case
specifications for functional requirements capture, which are organized
according
to a template; there is an implicit commitment to what a use case template
should include. In contrast, use case diagrams have been used merely
as an adequate graphical view on, or “entry point” to,
these written specifications.
Practitioners and experts in the community frequently warn against
over-emphasizing use case diagrams and strenuously advise never to
neglect the use case textual specifications: in practice a use case
diagram serves as a support for text but not vice versa (“a bubble
does not tell us the story”). Furthermore, the techniques in
the textual world are much more expressive and powerful compared to
the use case relationship capabilities in UML. Finally, UML does not
provide graphical modeling means for many aspects used in the textual
world such as linking use cases through pre- and post-condition relations.
The current literature avoids making any commitment and prefers to
highlight UML’s current elusive use case relationship semantics,
add to these semantics, or even arbitrarily modify these semantics,
thereby keeping the practical use case concepts fuzzy. Some authors
even fully discourage the use of particular use case relationships,
or recommend getting rid of variety and having only a single but powerful
use case relationship.
2 OPEN AREAS FOR RESEARCH
Some of the open areas identified before the workshop were:
- Alignment of textual specification and graphical representation:
use case relationships, use case standard templates, use case contracts,
any information missing or extra in the two representations.
- Little semantic connection between use case specification items
and UML use case diagrams. In particular, UML lacks support for the
connection proposed by Jacobson et al. in OOSE.
- Collaboration vs. participation among actors of a use case. Actors
may have a collaborative or participatory role in a use case, yet
UML diagrams do not allow distinguishing them.
- Functional vs. structural view of use cases. Use cases may be expanded
to represent functional characteristics of parts of systems, yet this
expansion is not possible in UML’s
graphical view.
- Relationships among use cases, composition: UML allows include and
extend, yet composition has a different semantics; some meaningful
relationships could be borrowed from other notations, such as “precedes” from OPEN/OML
and “mitigates” from
Misuse Cases; dependency information encoded in pre- and post-conditions
cannot be depicted graphically either.
3 ORGANIZATION
The workshop was organized by Gonzalo Génova (Carlos III University
of Madrid, Spain), Juan Llorens (Carlos III University of Madrid, Spain),
Pierre Metz (Cork Institute of Technology, Ireland), Rubén Prieto-Díaz
(James Madison University, VA, USA) and Hernán Astudillo (Universidad
Técnica Federico Santa María, Chile).
Submitted papers were reviewed by an international team of experts
composed by the organizers and Shane Sendall (University of Geneva,
Switzerland), Roderick Coleman (Free consultant, Germany), Wolfgang
Weber (University of Applied Sciences, Darmstadt, Germany), Sadahiro
Isoda (Toyohashi University of Technology, Japan), Joaquin Miller
(X-Change Technologies, USA), Guy Genilloud (IT/business consultant,
Switzerland),
Paul Bramble (Independent consultant, USA) and Bruce Anderson (Managing
Consultant, Application Innovation, IBM Business Consulting Services,
UK).
Each paper received between 2 and 4 reviews before being accepted
for presentation at the workshop. Revised versions of those papers
are
published now in this special issue.
4 INITIAL POSITIONS OF THE AUTHORS
The initial two sessions of the workshop were devoted to presentation of
the accepted papers, which represented a good mixture of experiences and
researches both from academia and industry, as was one of the goals of the
workshop. The authors came to the workshop with the following positions:
- Bruce Anderson. Use case modelling is widely used as a technique
for requirements gathering but does not always lead to clear agreement
between
users and developers, or to effective system development. This
is often because the model does not have a clear role in a clear
process, with a corresponding
lack of agreed standards and techniques. Taking a considered approach
and tailoring the available guidance to the situation at hand can
produce more
appropriate use cases that are more useful in the overall process.
This paper outlines a sound approach in a context of ideas and technique,
and discusses
several common issues in use case modelling, with suggested resolutions.
- Nelly Bencomo, Alfredo Matteo. The software life cycle of Distributed
Object applications spans requirements specification to design
and implementation. Support for traceability has been established
as an important task in the
life cycle. Concepts in analysis and design should have a clear
correspondence to implementation artifacts. Our article describes
artifacts associated with
Use Case, Analysis, Design, Implementation and Deployment models
when developing Distributed Object applications. The work proposes
a clear traceability from
Analisis to Implementation and Deployment models based on the use
cases approach. An example involving web access to bank accounts
is presented.
- Clay Williams, Matthew Kaplan, Tim Klinger, and Amit Paradkar.
We argue that use case modeling should be done in the context of a rich
conceptual
model. Use cases are written in terms of this model using structured
natural language. We also discuss problems that arise when trying to align
this representation
with the UML 2.0 metamodel, including metaclass misalignment and
the lack of a representation for use case content. We close by discussing
four applications
of our representation: prototyping, estimation, refinement to design,
and test case creation
- Michal Smialek. Use cases should have precisely defined notations
which are comprehensible by various groups of people in a software development
project. In order to meet these diverse views, several notations
are necessary.
These notations should be easily transformable and should have
clear mappings to other models including the conceptual model.
-
Sadahiro Isoda. The current UML's use-case specification has a lot
of problems and even nonsense. All these problems are due to three fundamental
defects originated in OOSE. These are the illusionally "actors call
use cases" conjecture, mixing-up designer's simulation with real execution
and poor understanding of OO. The problems can be easily solved by
recognizing anew what a use case is and then modeling it guided by plain
OO technology.
-
Gonzalo Génova, Juan Llorens. In UML, use cases are meta-modeled
as classifiers. Classifiers specify a set of instances, and use case instances
are said to be concrete system-actor interactions. But it is not
clear how
an interaction can have classifier features such as attributes, operations
and associations. Therefore, we challenge the notion that use case
instances are interactions. We also propose a notion of use case (a coordinated
use
of system operations) that is very close to the traditional protocol,
therefore concluding that use cases and protocols are not essentially different
things.
-
Guy Genilloud, William F. Frank. The UML ontology is unnatural and
limited (at odds with the categories of thought people use for engineering
in natural languages such as Japanese and in mathematics). As a consequence,
the UML standard confuses use case specifications, types, and instances,
as well as confusing a use case model with what it is a model of. The Extends
relationship illustrates these problems. ISO’s RM-ODP provides a
richer ontology based on logical theory. ODP explains Extends as a relationship
between specifications, while opening the door for relationships
between
the actions so specified, and reconciling diagrammatic and textual
use case techniques.
- Joaquin Miller. I suggest we take an indirect approach to finding
techniques to specify use cases using UML: look at use cases from the ODP
viewpoint;
choose ODP concepts well suited to specifying a use case; find
corresponding UML constructs; adapt the UML constructs as required. I arrive
at: A particular
use case of a certain system is a part of the community contract
of a community of a certain type. That community is represented as a UML
collaboration.
I discuss how that community can be specified using UML.
5 WORKSHOP RESULTS
The remaining two sessions of the workshop were devoted to discussions
and synthesis work, trying to reach agreement wherever it was possible.
We first established a list of open issues and related them to the presented
papers. Then the issues related to two or more papers were discussed in-depth:
the UML metamodel for use cases [Williams, Isoda, Génova, Genilloud,
Miller], use case instances [Isoda, Génova, Genilloud], use cases
in MDD/MDA [Anderson, Bencomo, Smialek], use case model vs.
conceptual model [Williams, Smialek], and tools for use cases specification
[Smialek,
Isoda]. Other issues related to only one paper, or not particularly
related to any of the papers, were not specifically discussed, due to lack
of time.
A full account of workshop discussions can be found in [1].
6 CONCLUSIONS AND FUTURE WORK
The summary of workshop discussions [1] shows that our main interests
lie all around two main poles: a) problems posed by
deficiencies in the UML2 Specification regarding use cases, i.e. semantics
of use cases;
and b) the use case model in the context of MDD/MDA,
i.e. pragmatics of use cases. We hope our suggestions will be useful
to improve the understanding
of use cases, and stimulate further research to reach
a stronger coupling between the use case model and other static, behavioral
and architectural
models. These two issues are closely related too, i.e.
the quality of the UML Specification has a practical impact: a better
explanation of
the intended meaning of use case concepts is required
to achieve a wider consensus about good practices in writing use cases
and to build tools
that can effectively support a use case driven development
(MDD/MDA); also, UML2 should not ignore well-established industrial practices.
The workshop discussions were extremely participative
and fruitful. This workshop has been the first in
a series of Workshops
on Use Case Modeling (WUsCaM) that will be continued
at future UML Conferences (from now on called MoDELS
Conference).
More information can be found on the workshop web
sites [2, 3].
REFERENCES
[1] Gonzalo Génova, Juan Llorens, Pierre Metz, Rubén
Prieto-Díaz, Hernán Astudillo. “Open Issues
in Industrial Use Case Modeling”. The 7th International
Conference on the Unified Modeling Language-UML'2004 Satellite
Activities.
Lisbon, Portugal, October 11-15, 2004. Lecture Notes in Computer
Science 3297, Springer 2004.
[2] I International Workshop on Use Case Modeling, “Open
Issues in Industrial Use Case Modeling”, http://www.ie.inf.uc3m.es/uml2004-ws6/.
[3] II International Workshop on Use Case Modeling, “Use
Cases in Model-Driven Software Engineering”, http://www.ie.inf.uc3m.es/wuscam-05/.
About the authors
 |
|
Gonzalo Génova received in
2003 his PhD in Computer Science at the Carlos III University
of Madrid, Spain, where he is currently an Associate Professor
of Software Engineering. His main research subject is modeling
and modeling languages in model-driven software engineering. He
can be reached at ggenova@inf.uc3m.es. |
| |
|
|
 |
|
Juan Llorens is a Professor of the Computer Science Department
at the Carlos III University of Madrid, Spain, where he is the
leader of the IE (Information Engineering) research group. He
is also a Visiting Professor at Aland’s Institute of Technology
- ATL, Mariehamn, Finland. His current research involves the
integration of Knowledge technologies and Software Engineering
techniques towards Software and Information Reuse. He can be
reached at llorens@inf.uc3m.es.
|
| |
|
|
 |
|
Pierre Metz received his PhD in Computer
Science in 2005 from Cork Institute of Technology, Ireland and
HETAC, a statutory board. Pierre is working in the SW industry
in various domains such as defence, automotive, banking, and telecommunications
as an ISO/IEC 15504-SPiCE assessor, CMMI and IEC EN DIN 61508
(functional safety) exponent, requirements engineering & management
and object-oriented technology specialist. His research interests
reflect the latter. He is also a part-time lecturer at Darmstadt
University of Applied Sciences, Computing Dept. Pierre can be
contacted at pmetz@cit.ie or pm@synspace.com. |
| |
|
|
 |
|
Rubén Prieto-Díaz earned
his PhD in information and computer science from University of
California, Irvine, 1985. His areas of expertise include software
reusability, reuse libraries, domain analysis, information modeling
and software architecture. His current research interests include
security requirements, Common Criteria evaluation process and
trustworthy architectures. Dr. Prieto-Díaz is Associate
Director for Information Assurance at the Institute for Infrastructure
and Information Assurance (IIIA) and Associate Professor of Computer
Science both at James Madison University in VA, USA. He can be
reached at prietodiaz@cisat.jmu.edu. |
| |
|
|
 |
|
Hernán Astudillo got
his Ph.D. in Information and Computer Science from Georgia Institute
of
Technology in 1996. He worked several years as applications architect
for systems integrators and consulting companies, and is currently
full-time professor at the Informatics Department of Universidad
Técnica Federico Santa María (UTFSM), in Valparaíso,
Chile. His research and practice interests include software architecture
modeling, derivation and reuse, COTS, and middleware. He can be
reached at hernan@acm.org. |
Cite this article as follows: Gonzalo Génova, Juan Llorens,
Pierre Metz, Rubén Prieto-Díaz, Hernán Astudillo. “Open
Issues in Industrial Use Case Modeling”, in Journal of Object
Technology, Vol. 4, No. 6, Special Issue: Use Case Modeling at UML-2005,
Aug 2005, pp. 7-14 http://www.jot.fm/issues/issue_2005_08/article1
|