0% found this document useful (0 votes)
4 views31 pages

Use Case Specification for Software Analysis

This document discusses the Unified Process methodology and use case analysis. It describes the different types of classes in object-oriented analysis, including entity, boundary, and control classes. It also provides examples of use case specifications, including normal and alternate scenarios. Finally, it discusses two case studies: a point-of-sale system and a home access control system, outlining the inception and elaboration phases for analyzing the point-of-sale system use cases.

Uploaded by

taufiqmuh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views31 pages

Use Case Specification for Software Analysis

This document discusses the Unified Process methodology and use case analysis. It describes the different types of classes in object-oriented analysis, including entity, boundary, and control classes. It also provides examples of use case specifications, including normal and alternate scenarios. Finally, it discusses two case studies: a point-of-sale system and a home access control system, outlining the inception and elaboration phases for analyzing the point-of-sale system use cases.

Uploaded by

taufiqmuh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

GV Phi Loan - Khoa CNTT – HUI

Content
• Analysis workflow
• Types of classes
• Use case specification
– Normal scenarios
– Alternate scenarios
• Case study 1:
– Inception phase
– Elaboration phase

GV Phi Loan - Khoa CNTT – HUI


Analysis workflow
• To obtain a deeper understanding of the
requirements.
• To describe those requirements in such a
way that the resulting design and
implementation are easy to maintain.

GV Phi Loan - Khoa CNTT – HUI


Type of classes
• The Unified Process is use-case driven.
• During the analysis workflow, the use
cases are described in terms of the
classes of the software product.
• Three types of classes:
– Entity classes
– Boundary classes
– Control classes.

GV Phi Loan - Khoa CNTT – HUI


Entity class
• Entity class models information that is
long lived.
– Ex: in a banking software, Account Class is
an entity class because information on
accounts has to stay in the software
product.

GV Phi Loan - Khoa CNTT – HUI


Boundary class
• Boundary class models the interaction
between the software and its actors.
Boundary classes are generally
associated with input and output.
– Ex: in POS, login screen is a boundary class.

GV Phi Loan - Khoa CNTT – HUI


Control class
• Control class models complex
computations and algorithms
– Ex: In POS, the calculation the total of a sale
is a control class.

GV Phi Loan - Khoa CNTT – HUI


Type of classes
• The Unified Process itself does not
describe how classes are to be extracted.
• In OOAD, the entity classes are
considered first.

GV Phi Loan - Khoa CNTT – HUI


Entity class extraction
Consists of three steps that are carried out
iteratively and incrementally:
1. Functional modeling: use cases
specification
2. Entity class modeling: class diagram.
3. Dynamic modeling: statechart.

GV Phi Loan - Khoa CNTT – HUI


Functional Modeling
• A use case describes a sequence of
interactions between actors and the system.
• Usually written as usage scenarios or scripts
• Scenario describes in a step-by-step manner
activities that an actor does and how the
system responds.
• Scenario is also called a use case instance, it
represents only one of several possible
courses of action.
GV Phi Loan - Khoa CNTT – HUI
Use case specification
• “normal” scenario  main success
scenario  Sunday scenario
– assumes that everything goes perfect.
– Usually does not include any conditions or
branching
– Just a causal sequence of action/reaction or
stimulus/response pairs.

GV Phi Loan - Khoa CNTT – HUI


Main scenario for “Withdraw Cash”

GV Phi Loan - Khoa CNTT – HUI


Use case specification
• Alternate scenarios  extensions can
result from:
– Inappropriate data entry, such as the actor
making a wrong menu-item choice or the
actor supplies an invalid identification.
– System’s inability to respond as desired

GV Phi Loan - Khoa CNTT – HUI


Scenarios for “Withdraw Cash”
Main Scenario

GV Phi Loan - Khoa CNTT – HUI


A general schema for UML use cases

GV Phi Loan - Khoa CNTT – HUI


Case study 2: Home Access Control System

GV Phi Loan - Khoa CNTT – HUI


Case study 2: Home Access Control System

GV Phi Loan - Khoa CNTT – HUI


Case study 2: Home Access Control System

GV Phi Loan - Khoa CNTT – HUI


Case study 2: Home Access Control System

GV Phi Loan - Khoa CNTT – HUI


Case study 1: POS system

GV Phi Loan - Khoa CNTT – HUI


Use Case “Process Sale” (cont’)

GV Phi Loan - Khoa CNTT – HUI


Use Case “Process Sale” (cont’)

GV Phi Loan - Khoa CNTT – HUI


Use Case “Process Sale” (cont’)

GV Phi Loan - Khoa CNTT – HUI


Role of use cases
• Use cases are decidedly process-oriented
rather than object-oriented, for they
focus on the description of activities.
– Focus on the interaction protocol between
the actor(s) and the system.
• Only at the stage of building the domain
model the objects are encountered.

GV Phi Loan - Khoa CNTT – HUI


Use Cases for Requirements
Engineering
• Use cases are a popular tool for gathering
requirements and specifying system
behavior.
– best suited for the reactive and interactive
systems.
– But do not adequately capture activities for
systems that are heavily algorithm-driven or
data-intensive
• Ex: virtual biology lab, financial markets simulation

GV Phi Loan - Khoa CNTT – HUI


Case study POS and Unified Process
Inception phase
• Activities and artifacts in inception include:
– a short requirements workshop
– most actors, goals, and use cases named
– most use cases written in brief format; 10-20% of
the use cases are written in fully
– most influential and risky quality requirements
identified
– version one of the Vision and Supplementary
Specification written
– risk list
–…

GV Phi Loan - Khoa CNTT – HUI


Use Cases in POS Inception Phase

GV Phi Loan - Khoa CNTT – HUI


Case study POS and Unified Process
Elaboration phase
• Elaboration often consists of between
two and four iterations;
• Elaboration is not a design phase or a
phase when the models are fully
developed in preparation for
implementation in the construction
phase.

GV Phi Loan - Khoa CNTT – HUI


Case study POS and Unified Process
Iteration 1 of the elaboration phase
• Implement a basic, key scenario of the
Process Sale use case
• Implement a Start Up use case as necessary
to support the initialization needs of the
iteration.
• There is no collaboration with external
services, such as a tax calculator or product
database.
• No complex pricing rules are applied.
GV Phi Loan - Khoa CNTT – HUI
Use case implementation may be
spread across iterations

GV Phi Loan - Khoa CNTT – HUI


Artifacts may start in Elaboration
• Domain Model
• Design Model
• Software Architecture Document
• Data Model
• Test Model

GV Phi Loan - Khoa CNTT – HUI

Common questions

Powered by AI

In the Unified Process, use cases play a crucial role during the inception phase, where short workshops are conducted to identify actors, goals, and use cases, with brief descriptions written for most use cases. During the elaboration phase, key scenarios are developed over multiple iterations, focusing on discovering and reducing risks while laying foundational models essential for further system development .

Alternate scenarios in use case specification can arise due to events such as inappropriate data entry, where an actor makes a wrong choice or inputs invalid data, or when the system fails to respond as desired. These scenarios extend the main use cases to cover potential deviations from the expected workflow .

During the elaboration phase of the Unified Process, several artifacts may be developed, including the Domain Model, Design Model, Software Architecture Document, Data Model, and Test Model. These artifacts contribute to refining system specifications and preparing for implementation .

Use cases are essential in requirements engineering for articulating and specifying system behavior, especially in reactive and interactive systems. They focus on describing activities and interactions between the system and actors. However, use cases have limitations in capturing activities for systems that are heavily driven by algorithms or data processing, such as virtual biology labs or financial market simulations .

Entity classes model information that is long-lived, such as an account in banking software, because this information needs to persist within the system. Boundary classes, on the other hand, model interactions between the software and its actors, typically involving input and output processes, like a login screen in a POS system. Control classes are responsible for handling complex computations and algorithms, such as calculating the total sale in a POS system .

The purpose of analysis workflow in use case specification is to achieve a deeper understanding of the requirements and to describe those requirements in a way that makes the resulting design and implementation easy to maintain .

When using use cases for algorithm-driven or data-intensive systems, challenges include insufficiently capturing the complexities and nuances of algorithmic processing and data handling. Use cases primarily focus on actor-system interactions and may not adequately represent the internal logic and data transformations. As a result, additional modeling techniques, such as flowcharts or data flow diagrams, might be necessary to fully articulate the system requirements .

Use cases are considered more process-oriented because they focus on describing the sequences of activities and the interaction protocols between actors and the system rather than detailing the objects in play. This process-oriented perspective helps clarify functional requirements and interaction patterns, guiding developers in understanding system operations before engaging in detailed object modeling or domain analysis .

A 'normal' scenario in use case specifications, also known as the main success scenario or Sunday scenario, assumes that everything proceeds perfectly without any issues. It typically does not include conditions or branching but presents a straightforward chain of action and reaction or stimulus and response pairs .

In OOAD, functional modeling is the first step in entity class extraction. It involves specifying use cases that describe interactions between actors and the system. These use cases inform the development of class diagrams for entity class modeling and statecharts for dynamic modeling. This iterative and incremental process ensures that entity classes are accurately represented and aligned with user interactions and system behavior .

You might also like