0% found this document useful (0 votes)
24 views41 pages

5 Elaboracion de La Especificacion de Requerimientos

Uploaded by

ricardosanjurg
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)
24 views41 pages

5 Elaboracion de La Especificacion de Requerimientos

Uploaded by

ricardosanjurg
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
You are on page 1/ 41

UML

Primera Herramienta
Casos de Uso

Dr. Juan José Saldaña


Dr. Juan José Saldaña
Steps Before Coding

Phase Action Results


Initiation Raise a business need domain model,
business use cases
Requirement What to accomplish use case, activity
(abstract) diagrams
Design How the system works component, class,
(more details: software sequence diagrams,
architecture, components, formal specifications
data types, algorithms)

Dr. Juan José Saldaña


Source of
• Initial requirements come from the
customer, by:
• Documents, such as RFI/RFP
Requirements- • Meetings, reports

Where they • Advanced requirements come from


the analysts, after studying scope and

came from? price


• Feasibility (technological,
organizational etc)
• Prototypes

• Final requirements are stabilized in an


iterative process.

Dr. Juan José Saldaña


Types of Visible Functional
Requirements
Qualitative
Requirements
Requirements “The system will “The authorization
deliver cash to the process will take
customer” no more than 1
“Cash will be sec”
delivered after “The user interface
card was taken will be easy to
out” use”

Hidden Requirements
“Database
maintenance
processes will
occur every
night”

Dr. Juan José Saldaña


Intro: Use Case and
Use Case Diagram

Dr. Juan José Saldaña


Use Cases as Means of Communication

Customer Designer User

The use case should stimulate a discussion about


what the system should do, mainly with people who
are outside of the development team.
Dr. Juan José Saldaña
Use Case

• A use case is a contract of an


interaction between the system
and an actor.

• Use Case Diagram: an integration of


use cases

Dr. Juan José Saldaña


• A use case diagram illustrates a
set of use cases for a system, the
actors, and the interactions
between actors and use cases.
Use Case
• A graphical overview of the
Diagram functionality provided by a system
in terms of actors, their goals
(represented as use cases), and
any dependencies between those
use cases.

Dr. Juan José Saldaña


Use Case Diagram Objectives

• Create a semi-formal model of the functional requirements

• 2. Analyze and define:


• Scope
• External interfaces
• Scenarios and reactions

Dr. Juan José Saldaña


Dr. Juan José Saldaña
• Lack of ambiguity
• - Each requirement must be interpreted in a
single manner.

What • Completeness
• - The collection of all use cases is everything
makes a that can be done to/with the system.

good Use • Consistency


• - Requirements should not conflict with each
Case other. If there are, tradeoffs must be detected
and discussed.
Diagram? • Avoid design
• - Requirements should raise a need, not
answer it.

Dr. Juan José Saldaña


Construct a Use Case
Diagram

Dr. Juan José Saldaña


Use Case Levels

Dr. Juan José Saldaña


Finding actors
External objects that produce/consume data:

1. Must serve as sources and destinations for data


2. Must be external to the system

Humans
Machines
External systems
Sensors
Dr. Juan José Saldaña
Association: Actor and Use Case

Solid line:

Interaction between actors


and use case

Arrowhead (optional)

• Control flow

• Initial invocation, primary


actor
Dr. Juan José Saldaña
Use Case Relationships
• Goal: enable flexibility in requirements specification
1. Isolating functionality
2. Enabling functionality sharing
3. Breaking functionality into manageable chunks

• Relationships
1. Include
2. Extend
3. Generalization

Dr. Juan José Saldaña


Actor Relationships –
Generalization/Specialization
Define hierarchy for actors

Notation

The child actor inherits all use-


cases associations

Should be used if (and only if),


the specific actor has more
responsibility than the
generalized one (i.e., associated
with more use-cases)
Dr. Juan José Saldaña
Include
Goal:
1.Decomposing complicated behavior
2.Centralizing common behavior

the behavior of the included use case is inserted into the


behavior of the including use case - The first use case often
depends on the outcome of the included use case.

Dr. Juan José Saldaña


Extend
the behavior of the extension use case may be inserted in the
extended use case under some conditions

Note the direction of the arrow


The base use-case does not know which use-case extends it

Dr. Juan José Saldaña


Example: Amazon

ACTORS? BASE USE INCLUDE? EXTEND?


CASES?

Dr. Juan José Saldaña


Dr. Juan José Saldaña
Generalization
use case may have common behaviors, requirements,
constraints, and assumptions with a more general use case.

Dr. Juan José Saldaña


Example: Cellphone Company System
Hint - Actors: Phones, Phone
Companies

Dr. Juan José Saldaña


Dr. Juan José Saldaña
Writing Use Cases

Name: Actors: Descriptions:


Precondition
Main flow
Sub flow
Alternative flow

Dr. Juan José Saldaña


• What the system needs to be true before
running the use-case.
– User account exists

Precondition – User has enough money in her account


– There is enough disk space

Dr. Juan José Saldaña


Main flow
The success scenario is the main story-line of the use-case
• Assumption: everything is okay, no errors or problems
occur, and it leads directly to the desired outcome of the
use-case
• It is composed of a sequence of subflows

Example:

Step 1: Administrator enters course name, code and description


(interaction)
Step 2: System validates course code
Step 3: System adds the course to the db and shows a confirmation
message (interaction) Dr. Juan José Saldaña
Sub flow
Branches:
If the user has more than 10000$ in her account, the system
presents a list of commercials
Otherwise…

Repeats:
User enters the name of the item he wishes to buy
System presents the items
User selects items to buy
Systems adds the item to the shopping cart
User repeats steps 1-4 until indicating he is done
Dr. Juan José Saldaña
• Used to describe exceptional functionality

• Examples:
• Errors

Alternative • Unusual or rare cases


• Failures
flows • Starting points
• Endpoints
• Shortcuts

Dr. Juan José Saldaña


Write Include in User Case
Reference

Dr. Juan José Saldaña


Write Exclude in Use Case

Extension Point

Dr. Juan José Saldaña


Effective Use Cases

• Only one side (system or actor) is doing something


in a single step

• Write from an “objective” point of view using


active tense

• Any step should lead to some progress

Dr. Juan José Saldaña


Effective Use Cases
ATM
“Get the amount form the
user and give him the money”

“User click the enter key”

Dr. Juan José Saldaña


Effective Use Cases – Common
Mistakes
1. No actor
2. Too many user interface details “User types ID
and password, clicks OK or hits Enter”
3. Very low goal details
• User provides name
• User provides address
• User provides telephone number

Dr. Juan José Saldaña


From Use-Case to Use-Case Diagrams
• Top down ?
Starting with an overview of the system, and then
splitting Use-cases

• Bottom up ?
Starting with throwing all scenarios on the page,
and then combining them:

Most of the analysis process are actually


combined
Dr. Juan José Saldaña
• Number Limit: The diagram should have
between 3 to 10 base use-cases. No more than
15 use cases (base + included + extending).

---- If the dependency between two parts of a


use-case is weak, they should be divided.

Common • Abstraction: All use-cases should be in similar


Rules abstraction levels.

• Size: Use cases should be described in half a


page or more.

- split using include/exclude

Dr. Juan José Saldaña


When we are done
• When every actor is specified.
• When every functional requirement has a use-
case which satisfies it.
• A tractability matrix can help us determine it:

Dr. Juan José Saldaña


• When to use
• What is Use Case and Use Case Diagram
• How to Construct Use Case Diagram
• How to Write Use Case

Use Case and Use


Case Diagram
a Summary • Questions?

Dr. Juan José Saldaña


Dr. Juan José Saldaña
Wild and Crazy Ideas Session

Extreme Programming (coding,


testing, listening, and designing)

vs. Product life cycle


…….

Dr. Juan José Saldaña

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy