Use case modeling & analysis v 1
- 2. Requirement elicitation
• A requirement describes a condition or
capability to which a system must conform.
• Requirements are supposed to represent what
system should do as opposed to how the system
should be built.
• Requirements elicitation is the process of
defining your system.
- 3. Use Case modeling for requirements
elicitation
• A use case is a sequence of transactions
performed by a system that produces a
measurable result for a particular actor.
• A good use case must represent the point of view
of the people who will use or interact with the
system.
- 4. Use case modeling techniques
• It is the process of describing the behavior of the
target system from an external point of view.
• Use case analysis allows the designer to focus on
the requirements of the system, rather than
on its implementation.
• Use case analysis is a very useful tool for the
designer to communicate with the client.
- 5. Use case model?
• A use case model is a diagram or set of diagrams
that show what the proposed s/w system is
designed to do.
components
Actors
Use case & their
documentations
Additional
documentation such as
use case
descriptions and
problem statements
to identify use cases.
- 6. Actors
• They are the entities that interact with the
system.
• An actor, represent a group of users taking on a
particular role.
actor
People
Computer
h/w &
devices
External
system
- 7. Types of actor
Primary actor Secondary actor
Primary actor
• They are completely outside the system
and drive the system requirements
Secondary actor
• They often appear to be more inside the
system than outside
- 8. Use case
• A use case is a sequence of actions a system
performs to yield an observable result.
- 9. System boundaries
• It defines the scope of the system being
developed and are represented by rectangles
in uml notation.
- 10. Use case analysis techniques
• During the use case analysis process, the client
and the users of the system are usually
interviewed.
• Describing a system’s use case is useful and
important exercise because it helps to identify
redundant or unclear functionalities.
- 11. Use case analysis may helpful in
following areas:
• Discovering new features(requirements).
▫ New use case often help generate new requirements as
the system is analyzed and as the design takes shape.
• Communicating with the clients.
▫ Their national simplicity makes use case diagrams a
mechanism for early discussion with potential users
and domain experts.
• Generating test cases.
▫ A use case is a generalized description or template of a
sequence of transaction, while a scenario is an instance
of the use case which describes how the use case will
be executed in a specific situation.
- 12. Uml notation for use case
Use case
Actor
System
boundary
Association
Generalization
Extend
Include
<<extend>>
<<include>>
- 13. Structuring use case with relationships
UML supports three types
of relationship for use case
<<include>>
<<extend>>
generalization
- 14. The <<include>> relationship
• <<include>> relationship are used when two or
more use case share some common portion in
the flow of events.
Withdraw
money
Deposit money
Login account
<<include>>
<<include>>
- 15. • <<extend>> relationship are used when two use
cases are similar, but one does a bit more than
the other.
The <<extend>> relationship
Withdraw
money
Process extra
amount
<<extend>>
User
- 16. The generalization relationship
• A child use case can inherit the behaviors,
relationships and communication links of parent
use case.
• The relationship between the child use case
and the parent use case is the generalization
relationship.
Pay bill
Pay credit
card bill
Pay utility
bill
Customer
- 17. Base use case versus abstract use
cases
• Self study
Documenting use cases
Use case template
- 18. Prioritizing use cases
factors to consider:
• Architectural significance of the use case.
• Use of new and untested technologies.
• Problems that require substantial research
effort.
• Great improvement in efficiency of the business
process.
• Use cases that support major business processes.
- 19. Use case modeling and analysis
process
• Developing the problem statement.
• Identifying the major actors and use cases.
• Creating an initial use case diagram.
• Describing briefly the use cases(with initial
descriptions).
• Identifying / refining candidate classes
using textual analysis
- 20. Refining the use case model includes
the following steps.
• Developing base use case descriptions.
• Iteratively elaborating on the base use cases
descriptions and determining the
<<extend>>,<<include>> and generalization
relationships.
• Developing instance scenarios.
• Prioritizing use cases.
- 21. Tricks and tips in use case analysis
• Use case as a communication tool.
• Finding the right use cases.
• Correct focus of base use case.
• Good use case should be observable.
• Use case versus process charts.
• Apply textual analysis in different contexts.
• Use bi-directional communication associations.
• Structure use case models.
• Specify use cases in detail… but not too much.
• Fit use cases into system architecture.