Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Writing Requirements the Use-Case Way Sreeram Kishore Chavali
What can go wrong in a product: examples <ul><li>Rich in Features </li></ul><ul><li>Poor in presentation </li></ul><ul><li...
Appeal <ul><li>Do not ever compromise at requirements stage </li></ul><ul><li>Be Aggressive in specifying User Requirement...
Need for Change <ul><li>Increased competition </li></ul><ul><li>New Technologies changing systems </li></ul><ul><li>user s...
Collecting User Requirements  <ul><li>Identify users </li></ul><ul><li>Identify their roles, responsibilities and needs </...
Use Case Model <ul><li>Use-Case Model is a model of the system’s intended functions (use cases) and its surroundings (Acto...
Actor <ul><li>An actor represents anything that interacts with the system </li></ul><ul><li>Actors are not part of the sys...
Actor <ul><li>An actor can represent a human, a machine or another system. </li></ul>
Finding Actors: useful questions <ul><li>Who is interested in a certain requirement? </li></ul><ul><li>where in the organi...
Finding Actors: useful questions <ul><li>Does the system use an external resource? </li></ul><ul><li>What actors do the us...
Use Cases <ul><li>A use case model is a dialogue between actors and the system </li></ul><ul><li>A use case is initiated b...
Finding Use Cases: Useful Questions <ul><li>What are the tasks of the actor? </li></ul><ul><li>Will the actor create, stor...
Finding Use Cases: Useful Questions <ul><li>Does the actor need to be informed about certain occurrences in the system? </...
Who Reads Use-Case Documentation? <ul><li>Customers - approve what the system should do </li></ul><ul><li>Users - gain sys...
Who Reads Use-Case Documentation? <ul><li>System Tester - used as a base for test cases </li></ul><ul><li>Project Leader -...
Example:Time Tracking System <ul><li>User will create a task. User will update the task status by entering the efforts spe...
Example: Use Case Approach <ul><li>Actors:Team Managers, Team Members, Department Heads </li></ul><ul><li>Team Managers wi...
Use Case Model (Contd..) <ul><li>Department head will access the system to view projects status in his domain. </li></ul>
Summary and Suggestions <ul><li>Always identify Actors  </li></ul><ul><li>Prepare Actor - Attributes, Profiles, Responsibi...
Summary and Suggestions <ul><li>It is not necessary to use tools alone to document use-cases.  </li></ul><ul><li>It is the...
Upcoming SlideShare
Loading in …5
×

Use Case approach

777 views

Published on

Ideas to consider while defining requirements

Published in: Technology, Business
  • Be the first to comment

Use Case approach

  1. 1. Writing Requirements the Use-Case Way Sreeram Kishore Chavali
  2. 2. What can go wrong in a product: examples <ul><li>Rich in Features </li></ul><ul><li>Poor in presentation </li></ul><ul><li>Interface Not intuitively designed </li></ul><ul><li>Usability issues </li></ul>
  3. 3. Appeal <ul><li>Do not ever compromise at requirements stage </li></ul><ul><li>Be Aggressive in specifying User Requirements (we are not stating our requirements) </li></ul><ul><li>Always have the user in mind </li></ul><ul><li>Don’t get tied down by technology alone. Technology is changing fast. </li></ul>
  4. 4. Need for Change <ul><li>Increased competition </li></ul><ul><li>New Technologies changing systems </li></ul><ul><li>user should be thrilled and excited and not just satisfied </li></ul><ul><li>Plan for on-line usage not off-line usage </li></ul><ul><li>Think differently </li></ul><ul><li>Do things differently </li></ul>
  5. 5. Collecting User Requirements <ul><li>Identify users </li></ul><ul><li>Identify their roles, responsibilities and needs </li></ul><ul><li>Asking users is not enough observing user in action only can give complete picture of what he needs. </li></ul><ul><li>User - Task Analysis </li></ul><ul><li>Define Problem Statements </li></ul>
  6. 6. Use Case Model <ul><li>Use-Case Model is a model of the system’s intended functions (use cases) and its surroundings (Actors) </li></ul><ul><li>The same use-case model is used in requirements analysis, design and test </li></ul><ul><li>The use case model’s primary purpose is to communicate the system’s functionality and behavior to the customer or end user </li></ul>
  7. 7. Actor <ul><li>An actor represents anything that interacts with the system </li></ul><ul><li>Actors are not part of the system, they represent roles a user of the system can play </li></ul><ul><li>An actor may actively interchange information with the system </li></ul><ul><li>An actor may be a passive recipient of information </li></ul>
  8. 8. Actor <ul><li>An actor can represent a human, a machine or another system. </li></ul>
  9. 9. Finding Actors: useful questions <ul><li>Who is interested in a certain requirement? </li></ul><ul><li>where in the organization is the system used? </li></ul><ul><li>Who will supply the system with the information, use this information, remove this information </li></ul><ul><li>who will use this function </li></ul>
  10. 10. Finding Actors: useful questions <ul><li>Does the system use an external resource? </li></ul><ul><li>What actors do the use cases need? </li></ul><ul><li>Does one actor play several different roles? Do several actors play the same role? </li></ul>
  11. 11. Use Cases <ul><li>A use case model is a dialogue between actors and the system </li></ul><ul><li>A use case is initiated by an actor to invoke a certain functionality in the system </li></ul><ul><li>A use case is a complete and meaningful flow of events </li></ul><ul><li>Taken together, all use cases constitute all possible ways of using the system. </li></ul>
  12. 12. Finding Use Cases: Useful Questions <ul><li>What are the tasks of the actor? </li></ul><ul><li>Will the actor create, store, change, remove or read information in the system? </li></ul><ul><li>What use case will create, store, change, remove, or read, this information? </li></ul><ul><li>Will the actor need to inform the system about sudden, external changes? </li></ul>
  13. 13. Finding Use Cases: Useful Questions <ul><li>Does the actor need to be informed about certain occurrences in the system? </li></ul><ul><li>Does the system supply the business with the correct behavior? </li></ul><ul><li>What use cases will support and maintain the system? </li></ul><ul><li>Can all functional requirements be performed by the use cases? </li></ul>
  14. 14. Who Reads Use-Case Documentation? <ul><li>Customers - approve what the system should do </li></ul><ul><li>Users - gain system understanding </li></ul><ul><li>system developers- document system behavior </li></ul><ul><li>reviewers - examine the flow of events </li></ul><ul><li>system analysts (designer) - provide the basis for analysis and design </li></ul>
  15. 15. Who Reads Use-Case Documentation? <ul><li>System Tester - used as a base for test cases </li></ul><ul><li>Project Leader - provide input to project planning </li></ul><ul><li>Technical Writer - Basis for writing the user’s guide. </li></ul>
  16. 16. Example:Time Tracking System <ul><li>User will create a task. User will update the task status by entering the efforts spent against each task, for each date </li></ul><ul><li>Actors are not identified </li></ul><ul><li>Talks from system Perspective </li></ul>
  17. 17. Example: Use Case Approach <ul><li>Actors:Team Managers, Team Members, Department Heads </li></ul><ul><li>Team Managers will use the system to assign a task to subordinate. </li></ul><ul><li>Team Member will view the task and update the task status by specifying the details of the task execution </li></ul>
  18. 18. Use Case Model (Contd..) <ul><li>Department head will access the system to view projects status in his domain. </li></ul>
  19. 19. Summary and Suggestions <ul><li>Always identify Actors </li></ul><ul><li>Prepare Actor - Attributes, Profiles, Responsibilities </li></ul><ul><li>Identify Goals of each Actor </li></ul><ul><li>Arrive at Actor - Tasks, sub-tasks </li></ul><ul><li>While specifying requirements use Actor names </li></ul><ul><li>Make Language User Oriented in all concept documents and requirements </li></ul>
  20. 20. Summary and Suggestions <ul><li>It is not necessary to use tools alone to document use-cases. </li></ul><ul><li>It is the language used that is going to make the difference. </li></ul>

×