20
Writing Requirements Writing Requirements the Use-Case Way the Use-Case Way Sreeram Kishore Chavali Sreeram Kishore Chavali

Use Case approach

Embed Size (px)

DESCRIPTION

Ideas to consider while defining requirements

Citation preview

Page 1: Use Case approach

Writing Requirements the Writing Requirements the Use-Case WayUse-Case Way

Sreeram Kishore ChavaliSreeram Kishore Chavali

Page 2: Use Case approach

What can go wrong in a What can go wrong in a product: examplesproduct: examples

Rich in FeaturesRich in Features Poor in presentationPoor in presentation Interface Not intuitively designedInterface Not intuitively designed Usability issuesUsability issues

Page 3: Use Case approach

AppealAppeal

Do not ever compromise at Do not ever compromise at requirements stagerequirements stage

Be Aggressive in specifying User Be Aggressive in specifying User Requirements (we are not stating Requirements (we are not stating our requirements)our requirements)

Always have the user in mindAlways have the user in mind Don’t get tied down by technology Don’t get tied down by technology

alone. Technology is changing fast.alone. Technology is changing fast.

Page 4: Use Case approach

Need for ChangeNeed for Change

Increased competitionIncreased competition New Technologies changing systemsNew Technologies changing systems user should be thrilled and excited and user should be thrilled and excited and

not just satisfiednot just satisfied Plan for on-line usage not off-line Plan for on-line usage not off-line

usageusage Think differentlyThink differently Do things differentlyDo things differently

Page 5: Use Case approach

Collecting User Collecting User Requirements Requirements

Identify usersIdentify users Identify their roles, responsibilities Identify their roles, responsibilities

and needsand needs Asking users is not enough observing Asking users is not enough observing

user in action only can give complete user in action only can give complete picture of what he needs.picture of what he needs.

User - Task AnalysisUser - Task Analysis Define Problem StatementsDefine Problem Statements

Page 6: Use Case approach

Use Case ModelUse Case Model

Use-Case Model is a model of the Use-Case Model is a model of the system’s intended functions (use system’s intended functions (use cases) and its surroundings (Actors)cases) and its surroundings (Actors)

The same use-case model is used in The same use-case model is used in requirements analysis, design and testrequirements analysis, design and test

The use case model’s primary purpose The use case model’s primary purpose is to communicate the system’s is to communicate the system’s functionality and behavior to the functionality and behavior to the customer or end usercustomer or end user

Page 7: Use Case approach

ActorActor

An actor represents anything that An actor represents anything that interacts with the systeminteracts with the system

Actors are not part of the system, they Actors are not part of the system, they represent roles a user of the system represent roles a user of the system can playcan play

An actor may actively interchange An actor may actively interchange information with the systeminformation with the system

An actor may be a passive recipient of An actor may be a passive recipient of informationinformation

Page 8: Use Case approach

ActorActor

An actor can represent a human, a An actor can represent a human, a machine or another system.machine or another system.

Page 9: Use Case approach

Finding Actors: useful Finding Actors: useful questionsquestions

Who is interested in a certain Who is interested in a certain requirement?requirement?

where in the organization is the where in the organization is the system used?system used?

Who will supply the system with the Who will supply the system with the information, use this information, information, use this information, remove this informationremove this information

who will use this functionwho will use this function

Page 10: Use Case approach

Finding Actors: useful Finding Actors: useful questionsquestions

Does the system use an external Does the system use an external resource?resource?

What actors do the use cases What actors do the use cases need?need?

Does one actor play several Does one actor play several different roles? Do several actors different roles? Do several actors play the same role?play the same role?

Page 11: Use Case approach

Use CasesUse Cases

A use case model is a dialogue between A use case model is a dialogue between actors and the systemactors and the system

A use case is initiated by an actor to A use case is initiated by an actor to invoke a certain functionality in the invoke a certain functionality in the systemsystem

A use case is a complete and A use case is a complete and meaningful flow of eventsmeaningful flow of events

Taken together, all use cases constitute Taken together, all use cases constitute all possible ways of using the system.all possible ways of using the system.

Page 12: Use Case approach

Finding Use Cases: Useful Finding Use Cases: Useful QuestionsQuestions

What are the tasks of the actor?What are the tasks of the actor? Will the actor create, store, change, Will the actor create, store, change,

remove or read information in the remove or read information in the system?system?

What use case will create, store, What use case will create, store, change, remove, or read, this change, remove, or read, this information?information?

Will the actor need to inform the system Will the actor need to inform the system about sudden, external changes?about sudden, external changes?

Page 13: Use Case approach

Finding Use Cases: Useful Finding Use Cases: Useful QuestionsQuestions

Does the actor need to be informed Does the actor need to be informed about certain occurrences in the about certain occurrences in the system?system?

Does the system supply the business Does the system supply the business with the correct behavior?with the correct behavior?

What use cases will support and What use cases will support and maintain the system?maintain the system?

Can all functional requirements be Can all functional requirements be performed by the use cases?performed by the use cases?

Page 14: Use Case approach

Who Reads Use-Case Who Reads Use-Case Documentation?Documentation?

Customers - approve what the system Customers - approve what the system should doshould do

Users - gain system understandingUsers - gain system understanding system developers- document system system developers- document system

behaviorbehavior reviewers - examine the flow of eventsreviewers - examine the flow of events system analysts (designer) - provide system analysts (designer) - provide

the basis for analysis and designthe basis for analysis and design

Page 15: Use Case approach

Who Reads Use-Case Who Reads Use-Case Documentation?Documentation?

System Tester - used as a base for System Tester - used as a base for test casestest cases

Project Leader - provide input to Project Leader - provide input to project planningproject planning

Technical Writer - Basis for writing Technical Writer - Basis for writing the user’s guide.the user’s guide.

Page 16: Use Case approach

Example:Time Tracking Example:Time Tracking SystemSystem

User will create a task. User will User will create a task. User will update the task status by entering update the task status by entering the efforts spent against each task, the efforts spent against each task, for each datefor each date

Actors are not identifiedActors are not identified Talks from system PerspectiveTalks from system Perspective

Page 17: Use Case approach

Example: Use Case Example: Use Case ApproachApproach

Actors:Team Managers, Team Actors:Team Managers, Team Members, Department HeadsMembers, Department Heads

Team Managers will use the system Team Managers will use the system to assign a task to subordinate. to assign a task to subordinate.

Team Member will view the task and Team Member will view the task and update the task status by specifying update the task status by specifying the details of the task executionthe details of the task execution

Page 18: Use Case approach

Use Case Model (Contd..)Use Case Model (Contd..)

Department head will access the Department head will access the system to view projects status in system to view projects status in his domain.his domain.

Page 19: Use Case approach

Summary and SuggestionsSummary and Suggestions

Always identify Actors Always identify Actors Prepare Actor - Attributes, Profiles, Prepare Actor - Attributes, Profiles,

ResponsibilitiesResponsibilities Identify Goals of each Actor Identify Goals of each Actor Arrive at Actor - Tasks, sub-tasksArrive at Actor - Tasks, sub-tasks While specifying requirements use Actor While specifying requirements use Actor

names names Make Language User Oriented in all Make Language User Oriented in all

concept documents and requirementsconcept documents and requirements

Page 20: Use Case approach

Summary and SuggestionsSummary and Suggestions

It is not necessary to use tools It is not necessary to use tools alone to document use-cases. alone to document use-cases.

It is the language used that is It is the language used that is going to make the difference.going to make the difference.