1 SEII Casos de Uso

Post on 29-May-2017

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

UMLPrimera Herramienta

Casos de Uso

Roadmap• Use case and use case diagram• Break • Challenges and visions for software modeling

Steps Before CodingPhase Action Results

Initiation Raise a business need domain model, business use cases

Requirement What to accomplish(abstract)

use case, activity diagrams

Design How the system works(more details: software architecture, components, data types, algorithms)

component, class, sequence diagrams, formal specifications

Source of Requirements- Where they came from?

• Initial requirements come from the customer, by:1. Documents, such as RFI/RFP 2. Meetings, reports

• Advanced requirements come from the analysts, after studying scope and price 1. Feasibility (technological, organizational etc)2. Prototypes

• Final requirements are stabilized in an iterative process.

Types of RequirementsVisible Functional Requirements

“The system will deliver cash to the customer” “Cash will be delivered after card was taken out”

Qualitative Requirements “The authorization process will take no more than 1 sec” “The user interface will be easy to use”

Hidden Requirements “Database maintenance processes will occur every night”

Intro: Use Case and Use Case Diagram

Use Cases as Means of Communication

The use case should stimulate a discussion about what the system should do, mainly with people who are outside of the development team.

Customer Designer User

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

Use Case DiagramA use case diagram illustrates a set of use cases for a system, the actors, and the interactions between actors and use cases.

A graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.

Use Case Diagram Objectives1. Create a semi-formal model of the functional

requirements

2. Analyze and define: • Scope • External interfaces • Scenarios and reactions

What makes a good Use Case Diagram?

Lack of ambiguity - Each requirement must be interpreted in a single manner.

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

Consistency - Requirements should not conflict with each other. If there are, tradeoffs must be detected and discussed.

Avoid design- Requirements should raise a need, not answer it.

Construct a Use Case Diagram

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

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)

Association: Actor and Use Case

Solid line:

Interaction between actors and use case

Arrowhead (optional)

• Control flow

• Initial invocation, primary actor

Use Case Levels

Use Case Relationships

• Goal: enable flexibility in requirements specification 1. Isolating functionality 2. Enabling functionality sharing 3. Breaking functionality into manageable chunks

• Relationships1. Include 2. Extend 3. Generalization

IncludeGoal: 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.

Extendthe 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

Example: Amazon

Actors?

Base Use Cases?

Include?

Extend?

Generalization

use case may have common behaviors, requirements, constraints, and assumptions with a more general use case.

Example: Cellphone Company System

Hint - Actors: Phones, Phone Companies

Writing Use Cases

• Name: • Actors:• Descriptions: – Precondition– Main flow– Sub flow– Alternative flow

Precondition

• What the system needs to be true before running the use-case. – User account exists – User has enough money in her account – There is enough disk space

Main flowThe 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)

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

Sub flow

Used to describe exceptional functionality

Examples: 1. Errors 2. Unusual or rare cases 3. Failures 4. Starting points 5. Endpoints 6. Shortcuts

Alternative flows

Write Include in User CaseReference

Write Exclude in Use Case

Extension Point

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

Effective Use Cases

“Get the amount form the user and give him the money”

“User click the enter key”

ATM

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

Effective Use Cases – Common Mistakes

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

Common Rules

• 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.

• Abstraction: All use-cases should be in similar abstraction levels.

• Size: Use cases should be described in half a page or more. - split using include/exclude

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:

Use Case and Use Case Diagram a Summary

When to useWhat is Use Case and Use Case DiagramHow to Construct Use Case DiagramHow to Write Use Case

Questions?

Traceability Matrix

• A traceability matrix is a document, usually in the form of a table, that correlates any two baselined

documents that require a many-to-many relationship to determine the completeness of the relationship. It is often used with high-level requirements (these often consist of marketing

requirements) and detailed requirements of the product to the matching parts of high-level

design, detailed design, test plan, and test cases.

Traceability Matrix

• A requirements traceability matrix may be used to check to see if the current project requirements are being met, and to help in the creation of a request for proposal, software requirements specification, various deliverable documents, and project plan tasks.

MATRIX EXAMPLE

Wild and Crazy Ideas Session

Extreme Programming (coding, testing, listening, and

designing)

vs. Product life cycle…….

top related