use case components
TRANSCRIPT
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 loginWithdraw 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 façade, this glossary will be known as domain dictionary if we are doing domain engineering.
In the case of multiple facades, each façade 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????????