Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

CHAPTER 5

USE CASE COMPONENTS





STRUCTURING THE USE CASE MODEL
TO ENSURE COMPONENT REUSE
To ensure component based
development at all stages, from
requirements capturing to
implementation, it is critical to
identify the most feasible components
to reuse.
If we want to get high levels of reuse,
we want the requirements to match
the available use case components.
Contd..
We will also need to structure the
application use case model carefully to
match the use case components.
The sooner we can identify a component
and integrate it into an appropriate model
of the application system, the faster and
more accurately we can build the target
system.
The reuse business does this by providing
reusable use case components within the
component systems.
Contd.
If start by reusing use case components to
build the use case model, we set the stages
for later being able to more easily express
analysis, design and implementation
models in terms of corresponding
components that are known to work
together.
On the other hand, if we do not express our
specific use case model in terms of the use
case components, we will find it harder to
reuse object components in the later
models.
HOW USE CASE MODEL SHAPES
THE SYSTEM
The use case model defines what a
system should do for its users.
The use case model is used during
requirement capturing by the stake
holders as they decide what the
system should do.
It gives the behavioral representation
of the system.
Contd
In use case model, users of the
systems are known as actors.
Each actor defines a distinct role
assumed by a person or a machine
interacting with the system.
Each way an actor uses the system is
a distinct use case.
Each use case defines a set of
interactions with the system.

Components of use case model
Actors
Use cases
Relationships ( interactions and
connections)
Contd..
The use case model must define how
responsibilities are allocated to actors
and use cases.
A responsibility is something that an
actor or use case needs to do or keep
track of as the system is used.
Examples of use cases:
User login
Withdraw money
Example: UCD for ATM

REUSING COMPONENTS TO BUILD
THE USE CASE MODEL
Use case components can be reused during
requirements capture by treating the
component systems as a toolbox of
reusable model elements.
Each use case component defines some
system responsibilities in problem oriented
terms.
If a particular use case component is
reused, then its corresponding type and
class components should be considered for
reuse in later development phases.
Contd..
There are several reasons to reuse
use case components. By this a
stakeholder will gain following
benefits:
Effectiveness
Quality
Predictability
Uniformity
Rapid learning
Effectiveness:
The use case components can be
used as a toolbox expressing system
functionality.
Stake holders can capture
requirements faster and more
accurately by picking and choosing
among predefined use case
components.
Quality
Stakeholders can improve the quality of
the requirements captured by reusing
certified use case components.

Predictability
Project estimates can be improved by
reusing use cases, since more will be
known about how to implement them.
Most use case components come with
mappings to the analysis, design and
implementation models.
Uniformity
By reusing the same use case
components in several application
systems the engineers will design
systems in a uniform way.
The use case components provide a
common shape and set of
functionality for each application
system.
Rapid learning
The use case provide usage-oriented
documentation of the component system.
This documentation allows new engineers
to learn more quickly how to design
applications from the component system.
They can see how the component system
is intended to be used by looking at the
use cases.
DESIGNING THE USE CASE
COMPONENTS FOR EFFECTIVE REUSE
When we engineer a component
system, we must ensure that we
really meet the needs of the
component reusers.
By identifying use case components
the component engineers can build
the right object models for the
component system.
Contd..
The terminology used to describe the
actors and use cases is very
important.
A common and consistent glossary of
terms used to describe the problem
requirements and features should be
developed as component systems are
created, and also used as application
systems are engineered.


Contd.
Careful use of the terms help reusers
distinguish and relate variants.
Each component should have its own
glossary of terms.
Some of those terms will be used to
describe the components exported
from the component system, and will
help reusers understand how to use
it.
Domain dictionary
A subset of the glossary is described
in one of the documents attached to
the faade, this glossary will be
known as domain dictionary if we are
doing domain engineering.
In the case of multiple facades, each
faade might provide a separate
document of key terms.

Contd..
This glossary is also useful later when
developing object models of a system.
The use of standard terms to name
components and variants will help
reusers to relate the components to the
use case models and requirements.
When developing the analysis, design,
implementation, or testing models of a
component system, use cases serve
just as they do for application system.

Questions????????

You might also like