ArticlePDF Available

Use Cases as Views: A Formal Approach to Requirements Engineering in the Unified Process

Authors:

Abstract and Figures

In Requirements Engineering structural and functional requirements for a new software system are gathered, analyzed, and manifested. Unfortunately the connection between these aspects gets lost in the standard object oriented methodology and has to be re-established later on. Not only is this tedious work but the detection of conflicts and inconsistencies in early phases is hindered by the separation of static and dynamic aspects. We propose the use of graph transformations to specify the connection between these aspects. Based on what we call an integrated business model, consistency analysis at the requirements model level becomes possible.
Content may be subject to copyright.
Use Cases as Views: A formal approach to Requirements
Engineering in the Unified Process
Jan Hendrik Hausmann and Reiko Heckel
Dept. of Mathematics and Computer Science
University of Paderborn, Germany
Abstract
In Requirements Engineering structural and functional
requirements for a new software system are gathered, an-
alyzed, and manifested. Unfortunately the connection be-
tween these aspects gets lost in the standard object ori-
ented methodology and has to be re-established later on.
Not only is this tedious work but the detection of conflicts
and inconsistencies in early phases is hindered by the sep-
aration of static and dynamic aspects. We propose the use
of graph transformations to specify the connection be-
tween these aspects. Based on what we call an integrated
business model, consistency analysis at the requirements
model level becomes possible.
Keywords: UML, Unified Process, functional specifi-
cations, integrated business model, graph transformation
1 Introduction
At the beginning of each software development there are
several ideas or visions of what the system to be build
should achieve. The techniques developed in the area of
requirements engineering are concerned with gathering,
structuring and integrating these different ideas for the
new system. It is the goal of this process to achieve a
set of reasonable and consistent requirements for the fur-
ther development process. The main problem is the de-
tection and resolution of inconsistencies and conflicts be-
tween competing requirements. The application of formal
methods and notations promises to support this task by
enabling automated analysis. Although multiple formal
methods have been proposed by scientists (see e.g. [7] for
a survey), the standard methodologies in object oriented
software engineering still use very informal and impre-
cise techniques in this phase of the development process.
In particular, what is missing is a coupling between the
structural (data) description (captured in class diagrams)
and the behavior of the system (captured in activity and
use case diagrams). In this paper we will show how to im-
prove this situation by giving use cases a precise descrip-
tion, thus achieving a coupling of the dynamic and static
parts of the model. This allows to apply formal techniques
of consistency analysis.
The paper is organized as follows: Section 2 gives
an introduction to the requirements analysis phase in the
Unified Process (UP) and points out some weak points of
this approach. We will advance the basic ideas presented
in the UP by further elaborating the ideas of a business
model and formalizing their notion in Section 3. Section 4
introduces use case diagrams and their new role in the
context of the integrated business model. Section 5 ex-
tends the notion of views to structure the whole require-
ments model and the concluding Section 6gives perspec-
tives toward furtherwork on this topic.
2 Requirements Capture in the Uni-
fied Process
The Rational Unified Process [6] specifies an object ori-
ented software developmentprocess consisting of a series
of core workflows starting with the Requirements Cap-
ture workflow. Artifacts of this workflow may either be a
domain model and a use case diagram, or an integrated
business model. The domain model captures all relevant
objects existing in the context of the forthcoming system
as well as the relations between them. It is expressed in
the form of an UML class diagram. Accompanying the
domain model, a description of the main workflows of the
system is given in terms of activity diagrams structured
into use cases. A use case is a grouping of actions from
the viewpoint of an actor. An important observation at this
point is that no tight connection exists between the ele-
ments in the domain model and the workflows happening
on them. Neither activities nor use cases contain explicit
links to the objects involvedin their execution, nor do el-
ements of domain models contain operations that would
1
Card
cash
Good
price
Receipt
Item
price
Bill
total
1
to
for
0..1
1..*
Figure 1: Class diagram of the shop example
indicate their behavior.Thus, these models do not support
the basic object-oriented paradigm of coupling structure
and behavior. Later phases of the development process
(analysis) will be needed to reconnect the behavior to the
components. The information for this re-connection is ei-
ther passed on implicitly or additional use case annota-
tions are required [1]. In these annotations e.g. pre- and
post conditions are dened in natural language [2]. We
feel that this information connecting the behavior to the
structure of the system is important and should be speci-
ed in a unambiguous way. Furthermore there is the prob-
lem that without a common underlying domain model,
inconsistencies and conicts between different activities
in use cases are hard to spot and automated checks are
impossible. It would thus be advisable to obtain a model
which integrates (even at this early stage) the structural
and the behavioral results of the Requirements Capture
workow. The Unied Process already notes this problem
and introduces the term business model for an integrated
model in which the connections between use cases and the
objects realizing them are displayed. Unfortunately these
business models are not a mandatory part of the UP so
that later phases always build on the weaker notionof do-
main models. Moreover, business models are never for-
mally dened. It is our intention to present an approach
in which the use of graph transformations is employed to
achieve the necessary integrationof the structural and be-
havioral aspect of requirements.
3 The Integrated Business Model
We will introduce a simple example to illustrate our ap-
proach: A shop requests the development of an electronic
cash box system. Typically a customer will choose her or
his goods in the shop and advance towards the exit where
a shop clerk will enter the prizes of the good into the cash
box. The customer will pay the goods, e.g., by using a
credit card. After the payment is completed, a receipt for
the customer is issued.
Collect Goods
Enter Item
Display Total
Create Bill
Client Clerk
Cash Box System
[goods
remaining] [finished]
Figure 2: Activity diagram of the shop example
The relevant classes of this scenario and their rela-
tions are depicted in Figure 1. While a Good represents
the physical object selected by the customer, the Item is
merely its representation on the Bill. The main activities
of the workow are given in Figure 2. Activities are de-
picted in rectangles with rounded sides. The arrows be-
tween them indicate the ow of control. The diamond on
the right side represents a choice. Depending on the con-
dition (given in square brackets) either the loop into the
enter item activity is selected or the exit towards the Dis-
play Total activity. This activity diagram is already struc-
tured by swimlanes according to the actors performing
the actions. Furthermore a system border (shaded grey)
has already been dened, leaving the activity of selecting
the goods outside the scope of the cash box system.
In addition to this static and the dynamic diagram of
the model we now introduce the functional specication.
While the dynamic aspect focuses on the general ow of
control between the activities, the functional aspect will
describe the pre- and post condition of a single activity in
the form of a graph transformation rule. Figure 3 depicts
the functional aspect of the activity Enter Item. The left
side of the diagram represents the precondition of the ac-
tivity. The right side shows the effect of the execution of
the activity on the objects involved. As the result of the
activity, the Bill is extended by a new Item and its prize
(which should be identical to that of the good) is added
on the amount of the bill.
This specication of the functional aspect can be given
the form of an UML diagram as well, as graph transfor-
mations can be denoted as UML collaboration diagrams
[4]. For the sake of simplicity we do not perform this
2
:Good
prize=p
:Good
prize=p
:Bill
total=f
:Bill
total=f+p
:Item
prize=p
enter item
Figure 3: Functional Specication of the activity Enter
Item
transformation in this paper but stick to the presentation
as shown in Figure 3.
The advantage of specifying this functional aspect of
the model is that it connects the activities to the objects
underlying them. Thus an integration between the static
and the behavioral aspect of the specication is given in
terms of a graph transformation. We will call a model that
contains diagrams to represent all three aspects an inte-
grated business model.
Notice, that we still do not have an integration of struc-
ture and dynamics like in object orientation as we do not
associate the actions to the objects they belong to, but
rather associate a set of objects with a single action. Thus,
the integration of the static and dynamic aspect towards an
object oriented system still remains a task for later stages
in the development process. But with the specication of
the functional aspect, a verication of this object oriented
integration becomes possible.
4 Defining Use Cases
Once the domain model and the workows are dened,
the Unied Process proposes the denition of use cases.
A use case should group parts of an overall workow
from the viewpoint of a user. The grouping should be per-
formed in a way that the execution of the use case satis-
es some user goal. It abstracts from the tasks to reach
this goal and is thus able to present more (in some cases
all) behavioral requirements of a software system in a sin-
gle diagram. When dening use cases on the basis of the
integrated business model introduced in Section 3, a use
case becomes a view on the underlying model. We will
demonstrate this by dening the use cases of our exam-
ple.
We identify two actors in the scope of the Cash Box
system: A Client and a Clerk (which may turn out to be
the same person if a clerks buys something at work).The
whole workow shown in Figure 2 is reduced to two use
cases. On the one hand, there is the creation of the bill
which is something the actor Client is not really involved
Client
Cash Box System
Clerk
Billing
Pay Bi ll
Figure 4: Use case diagram of the shop example
Enter Item
displa y Total
Create Bill
[goods
remaining] [finished]
Figure 5: View on the behavioral model as dened by use
case Billing
nor interested in. But the payment of the bill is something
both actors participate in (the Client by presenting his
card, the Clerk by printing and handing out the receipt).
This participation is shown as a connecting line between
actor and use case. It should be stressed that only those
activities are grouped into use cases that fall inside the
system border that was established in the denition of the
domain model. Activities outside this border(like collect-
ing the goods) are not considered for the denition of use
cases. Therefore, the more abstract goal of the client Buy
goodsis not visible in this model since it contains parts
that are not supported by the Cash Box System.
When dening use cases out of an integrated business
model, use cases acquire a more formal meaning. By se-
lecting the activities included in the use case, it becomes
a view on the overall workow. As each of the activities
is described by a functional specication in the form of a
graph transformation, the use case species a view on the
functional diagrams as well as on the static parts by iden-
tifying the objects related to the activity described. This
interpretation of a use case is shown in Figures 5-7. Here,
the view of the use case Pay Bill on the diagrams of the
shopping example is presented.
The behavioral view of the use case contains the ele-
ments of the workow that are included in the use case
Billing. As only three of the six activities of the workow
are present, only a subset of the functional requirements
3
:Good
prize=p
:Good
prize=p
:Bill
total=f
:Bill
total=f
:Bill
total=f
:Bill
total=0
:Bill
total=f+p
:Item
prize=p
enter item
create Bill
display Total
Figure 6: View on the functional model as dened by use
case Billing
Good
price
Item
price
Bill
total
1
0..1
1..*
Figure 7: View on the static model as dened by use case
Billing
Billing
Clerk
\
Billing
oo
Client CashBox Clerk
Client
\
PayBill
OO
//PayBill
OO
Clerk
\
PayBill
OO
oo
Figure 8: Views and view relations identied by the use
case diagram in Figure 4
applies to the use case (see Figure 6). With these func-
tional requirements we are now able to identify the ele-
ments of the static model that are relevantto this use case.
We say that the use case species a view on the static
model (Figure 7) as well as on the behavioral and func-
tional model.
5 Identifying Further Views
While the use case Billing could be established by regard-
ing the actions of a single actor, the denition of the use
case Pay Bill represents a more general situation: The card,
which is central to the customer, is irrelevant from the
viewpoint of the clerk, who hands out the receipt. As the
use case involves both objects, they should appear in the
static view of the use case. Thus, both actors dene their
own views on the common use case they are participating
in. Furthermore, the system border is a view on the busi-
ness model given by the union of the views of all relevant
use cases.
Figure 8 shows the identied views and their relations.
All views are based on the integrated business model
which provides a common context for the requirement
specication, but is not shown in the diagram.Each of the
view relations (depicted as arrows from the smaller to the
larger view) represents an inclusion of all three aspects of
the model. Each view has to be consistent in itself, e.g.,
not contain objects in the functional model that are not
dened in its static model. Finally, all viewrelations have
to be compatible with the inclusion of their source and
target view in the business model.1
As these relations are formally dened, the consistency
between views can be analyzed, see [3]. In the example
shown above, it might, e.g., be unclear whether the class
Goods is part of the business model. As the activity of
collecting goods is not part of the system, it might seem
1Formally, the diagram is interpreted in the category of views over
the integrated business model and view relations among them, which
can be built as a comma category in a category of graph transformation
systems and view morphisms as dened, for example, in [5].
4
right to leave the class outside as well. On the other hand,
the functional specication of Add Item requires the pres-
ence of a good. Thus, it must be represented in the model.
At this point further investigations on the nature of the
good, its meaning in the context of an automated cash box
and its representation inside or outside the systems can be
triggered.
6 Conclusion and Perspective
In this paper, we have introduced an integration of the dy-
namic and the structural aspect of the business model in
the Unied Process, based on a specication of the func-
tional requirements. By supplying graph transformations
to describe the pre/post conditions of actions, a relation
between the elements of the static and dynamic model
is established. Using this integrated business model, we
were able to dene further artefacts of the modeling pro-
cess as views on a common underlying model, making
automated consistency checks and further analysis possi-
ble.
This is a step towards a more formal methodology for
the treatment of requirements in the Unied Process or
other OO development processes. Further work is needed
to assess the usability of the approach as well as its re-
lation with other techniques in requirements engineering.
The potential for automated analysis, especially in view
of the semantic consistency between the requirements of
different actors has to be explored.
References
[1] A. Cockburn. Writing Effective Use Cases. Addison-
Wesley, Reading, MA, 2000.
[2] D. DSouza and A. Wills. Components and Frame-
works with UML: The Catalysis Approach. Addison-
Wesley, 1998.
[3] G. Engels, R. Heckel, G. Taentzer, and H. Ehrig. A
combined reference model- and view-based approach
to system specication. Int. Journal of Software
and Knowledge Engeneering, 7(4):457477, 1997.
Preprint at
http://tfs.cs.tu-berlin.de
[4] T. Fischer, J. Niere, L. Torunski, and A. Z¨undorf.
Story diagrams: A new graph transformation lan-
guage based on UML and Java. In H. Ehrig, G. En-
gels, H.-J. Kreowski, and G. Rozenberg, editors,
Proc. 6th Int. Workshop on Theory and Applica-
tion of Graph Transformation (TAGT’98), Paderborn,
November 1998, volume 1764 of LNCS. Springer-
Verlag, 2000.
[5] R. Heckel, M. Llabr´es, H. Ehrig, and F. Orejas. Con-
currency and loose semantics of open graph transfor-
mation systems. Mathematical Structures in Com-
puter Science, 2001. To appear.
[6] I. Jacobson, G. Booch, and J. Rumbaugh. The Uni-
fied Software Development Process. Addison Wesley,
1999.
[7] A. Lamsweerde. Requirements engineering in the
year 00: A research perspective. In Proc. Interna-
tional Conference on Software Engineering (ICSE
2000), Limerick (Ireland), 2000.
5
... It was chosen to use the iterative project development cycle and Microsoft Solution Framework (MSF) (Hansen, 2004;Thomsen, 2004) as a method of project management. MSF is generally similar to Rational Unified Process (RUP) (Booch, 1998;Rumbaugh, 1998;Jacobson, 1998;Krutchen, 2000;Hausmann, 2001;Heckel, 2001) and defines iterative project development with each iterative loop having the following development phases: envisioning, planning, developing, stabilizing and deploying. ...
... It was chosen to use the iterative project development cycle and Microsoft Solution Framework (MSF) (Hansen, 2004;Thomsen, 2004) as a method of project management. MSF is generally similar to Rational Unified Process (RUP) (Booch, 1998;Rumbaugh, 1998;Jacobson, 1998;Krutchen, 2000;Hausmann, 2001;Heckel, 2001) and defines iterative project development with each iterative loop having the following development phases: envisioning, planning, developing, stabilizing and deploying. ...
Article
Full-text available
This article describes the functional and technical side of Railways Ltd. mobile terminals project. The advantage of mobile terminals lies in the greater efficiency of railway tickets vending, the control and real-time supervision of complete process of vending tickets in the country. Mobile terminals allow railway conductors to automatically vend and verify tickets. Also, information about each sold ticket is transmitted wirelessly via GSM/GRPS in real time or near real time. The information about sold tickets is received by the central server and stored in the main database. The data are available for analysis and report making.
Conference Paper
Sollen Geschäftsprozesse (Business Cases) für mobile Anwendungen (Pervasive Computing) evaluiert werden, ist es notwendig, ein Portfolio von Anwendungsszenarien zusammenzustellen. Hierzu wird ein methodisches Vorgehen definiert, mit dessen Hilfe man einen priorisierten Überblick über mögliche Business Cases erhält sowie weitere Details hinsichtlich organisatorischer und technischer Aspekte untersucht. Aufgrund bestimmter Kriterien lassen sich Anwendungsszenarien auswählen, die fur die Evaluierung herangezogen werden. Für diese wird ein ausführlicher Fragenkatalog erarbeitet, der als Entscheidungsgrundlage für die Realisierung der Business Cases dient.
Article
Full-text available
Software systems become more and more complex. Despite significant advances in code-centric technologies such as advanced programming languages and integrated development environments (IDEs), developing complex software systems is still a laborious task. Model-centric software development has emerged as a promising paradigm, indicating a shift from "code-centric" to "model-centric" engineering. This paradigm puts forward a necessity as well as a challenge of a formal foundation for presenting precisely models and supporting automatic model manipulations. This thesis focuses on a model-driven approach in which metamodeling and model transformation are seen as the core of the approach. On the one hand, metamodeling, which is a means for defining modeling languages, aims to precisely present models for specific purposes. On the other hand, model transformation is a robust approach for (1)~transforming models from one language into another language, (2)~tackling the challenge how to choose a right level of abstraction, and to relate levels of abstraction with each other, and (3)~supporting software evolution and maintenance. We propose an integration of two light-weight formal methods, the Object Constraint Language (OCL) and Triple Graph Grammars (TGGs), in order to form a core foundation for the model-driven approach. TGGs incorporating OCL allow us to explain relationships between models in precise way. On this foundation, we develop a textual language in order to describe transformations and to realize transformations. From such a declarative description of transformations, we propose employing OCL in order to derive operational scenarios for model transformation. This results in an OCL-based framework for model transformation. This framework offers means for transformation quality assurance such as verifying model transformations in an on-the-fly way, checking well-formedness of models, and maintaining model consistency. We explore case studies showing the practical applicability of our approach. Especially, TGGs incorporating OCL allow us to describe the operation semantics of use cases in a precise way. This approach on the one hand can be broaden in order to describe the operational semantics of modeling languages. On the other hand, it allows us to generate scenarios as test cases, to validate system behavior, and to check the conformance between use case models and design models. This supports basic constructions of an automatic and semi-automatic design.
Article
Full-text available
Personal authentication is an important process we encounter almost every day; when we are logging on a computer, entering a company where we work, or a restricted area, when we are using our plastic credit cards to pay for a service or to complete some other financial transaction, etc. In each of these processes of personal authentication some kind of magnetic or optical token is required. But by using novel technologies like mobile computing and wireless networking, it is possible to avoid carrying multitude of ID cards or remembering a number of PIN codes. Article shows how to efficiently authenticate users via Personal Area Networks (PAN) like Bluetooth or IrDA using commonplace AES (Rijndel) or MD5 encryption. This method can be implemented on many types of mobile devices like Pocket PC PDA with Windows CE (Windows Mobile 2003) real-time operating system, or any other customized OS, so we will explain all components and key features of such basic system.
Article
Full-text available
this paper we present a specification technique based on graph transformations which supports such a development approach. The use of graphs and graph transformations supports an intuitive understanding and an integration of static and dynamic aspects on a well-defined semantical base. On this background, formal notions of view and view relation are developed and the behaviour of views is described by a loose semantics. The integration of two views derived from a common reference model is done in two steps. First, dependencies between the views which are not given by the reference model are determined, and the reference model is extended appropriately. This is the task of a model manager. If the two views and the reference model are consistent, the actual view integration can be performed automatically. For the case of more than two views more general scenarios are developed and discussed. All concepts and results are illustrated at the well-known example of a banking system.
Article
Graph transitions represent an extension of the DPO approach to graph transformation for the specification of reactive systems. In this paper, we develop the theory of concurrency for graph transitions. In particular, we prove a local Church–Rosser theorem and define a notion of shift-equivalence that allows us to represent both intra-concurrency (within the specified subsystem) and inter-concurrency (between subsystem and environment). Via an implementation of transitions in terms of DPO transformations with context rules, a second, more restrictive notion of equivalence is defined that captures, in addition, the extra-concurrency (between operations of the environment). As a running example and motivation, we show how the concepts of this paper provide a formal model for distributed information systems.
Conference Paper
Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. The processes involved in RE include: domain analysis, elicitation, specification, assessment, negotiation, documentation, and evolution. Getting high quality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of utmost importance in software engineering research and practice. The paper presents a brief history of the main concepts and techniques developed to date to support the RE task, with a special focus on modeling as a common denominator to all RE processes. The initial description of a complex safety-critical system is used to illustrate a number of current research trends in RE-specific areas such as goal oriented requirements elaboration, conflict management, and the handling of abnormal agent behaviors. Opportunities for goal based architecture derivation are also discussed together with research directions to let the field move towards more disciplined habits