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.

Use Case Diagram

107,238 views

Published on

Use Case Diagram for Requirements Modelling

Published in: Technology

Use Case Diagram

  1. 1. UML Lecture Series UML SIG Requirements Modeling (Use Case Diagram + Use Case Description) UML Lecture Series Requirements Modeling (Use Case Diagram + Use Case Description)
  2. 2. Session Objectives <ul><li>At the end of this lecture You will be able to : </li></ul><ul><li>Draw a use case diagram to depict functional </li></ul><ul><li>requirements of a system. </li></ul><ul><li>Expose typical mistakes by students. </li></ul><ul><li>Write use case description for a use case. </li></ul>
  3. 3. <ul><li>use case </li></ul><ul><li>use case diagram </li></ul><ul><li>functional requirements </li></ul><ul><li>non-functional requirements </li></ul><ul><li>actor </li></ul><ul><li>include </li></ul><ul><li>extend </li></ul><ul><li>use case specification/definition/description </li></ul><ul><li>flow of events </li></ul><ul><li>alternate flow of events / alternate pathway </li></ul><ul><li>exception flow of events / exception pathway </li></ul><ul><li>basic flow of events / happy pathway </li></ul><ul><li>non-functional requirements / shadow use cases </li></ul>Keywords used in this lecture
  4. 4. Thoughts to Ponder … To my knowledge, no other software engineering language construct as significant as use cases has been adopted so quickly and so widely among practitioners. I believe this is because use cases play a role in so many different aspects of software engineering. Ivar Jacobson Founding Father of UML and Creator of Use Case Diagram
  5. 5. Functional vs. Non-Functional Requirements Functional Non-Functional Functional requirement are user ‘visible’ features and are typically initiated by stakeholders of the system – generate report, login, etc. Non-functional requirements are ‘non-visible’ features and but required for a effective running of an application – security, backup, etc.
  6. 6. Session Objectives <ul><li>At the end of this lecture You will be able to : </li></ul><ul><li>Draw a use case diagram to depict functional </li></ul><ul><li>requirements of a system. </li></ul><ul><li>Expose typical mistakes by students. </li></ul><ul><li>Write use case description for a use case. </li></ul>
  7. 7. Use Case Diagram Definition: A diagram that shows a set of use cases and actors and their relationships. Use cases represent system functionality, the requirements of the system from the user’s perspective .
  8. 8. Notations use case A description of a set of sequences of actions, including variants, that system performs that yields an observable value to an actor. actor The people or systems that provide or receive information from the system; they are among the stakeholders of a system. include Specifies that the source use case explicitly incorporates the behaviour of another use case at a location specified by the source extend Specifies that the target use case extends the behaviour of the source. <<include>> <<extend>>
  9. 9. Actors Actors Could be human beings, other systems, timers and clocks or hardware devices. Actors that stimulate the system and are the initiators of events are called primary actors (active) Actors that only receive stimuli from the system are called secondary actors (passive)
  10. 10. Actors Actors Who/what will be interested in the system? Who/what will want to change the data in the system? Who/what will want to interface with the system? Who/what will want information from the system?
  11. 11. Use Case Diagram – Guidelines & Caution <ul><li>Use cases should ideally begin with a verb – i.e generate </li></ul><ul><li>report. Use cases should NOT be open ended – i.e Register (instead should be named as Register New User) </li></ul>2. Avoid showing communication between actors. <ul><li>Actors should be named as singular. i.e student and NOT students. NO names should be used – i.e John, Sam, etc. </li></ul>4. Do NOT show behaviour in a use case diagram; instead only depict only system functionality. 5. Use case diagram does not show sequence – unlike DFDs.
  12. 12. Example – Include and Extend
  13. 13. The use of include and extend is discouraged simply because they add unnecessary complexity to a Use Case diagram. Since the primary purpose of use cases is to show user centred functionality, the precedence of use cases takes little importance. Include and Extend
  14. 14. Quiz 1 Which use case is NOT valid?
  15. 15. Quiz 2 Identify TWO(2) mistakes
  16. 16. Granularity of Use Cases Add reference Remove reference Search for reference User List references Fine Grained or Course Grained?
  17. 17. Granularity of Use Cases Manage Reference User Generally, a use case should embody sufficient levels of granularity without which the use case may not be rendered as useful.
  18. 18. Session Objectives <ul><li>At the end of this lecture You will be able to : </li></ul><ul><li>Draw a use case diagram to depict functional </li></ul><ul><li>requirements of a system. </li></ul><ul><li>Expose typical mistakes by students. </li></ul><ul><li>Write use case description for a use case. </li></ul>
  19. 19. Mistake 1
  20. 20. Mistake 2
  21. 21. Mistake 3
  22. 22. Mistake 4
  23. 23. Mistake 5
  24. 24. Discussion Exercise Inventory System In order to generate an invoice a clerk must log in. If a clerk is a first time user, one must have themselves registered. There should be an option for a user to register oneself within the login page. Any user can use the system to view products online. The option of login is also provided when a user views products online. Draw a use case diagram for the scenario below:
  25. 25. Exercise - Solution
  26. 26. Session Objectives <ul><li>At the end of this lecture You will be able to : </li></ul><ul><li>Draw a use case diagram to depict functional </li></ul><ul><li>requirements of a system. </li></ul><ul><li>Expose typical mistakes by students. </li></ul><ul><li>Write use case description for a use case. </li></ul>
  27. 27. Use Case Specification Is a use case diagram alone sufficient in capturing user requirements?
  28. 28. Use Case Specification
  29. 29. Use Case Specification Use case specification is synonymous to use case description and use case definition and can used interchangeably. Use case specification defines information that pertains to a particular use case which is important in understanding the purpose behind the use case. Use case specification is written for every use case. A use case specification has one or more flow of events or pathways association with it.
  30. 30. Flow of Events / Pathways A flow of events or pathway is a textual description embodying sequence of events with regards to the use case and is part of the use case specification. Flow of events is understood by the customer. A detailed description is necessary so that one can better understand the complexity that might be involved in realising the use cases.
  31. 31. Flow of Events / Pathways Flow of events describes how and when the use case starts and ends, when the use case interacts with the actors, and the information exchanged between an actor and the use case. Flow of events is derived from a what perspective, NOT how perspective. Hence, specific information like: interface details and technical specifications should NOT be included in a use case description. Use case description serves as a ‘bridge’ between stakeholders of a system and the development team.
  32. 32. Flow of Events / Pathways Use case description serves as a ‘bridge’ between stakeholders of a system and the development team. Use Case Diagram Use Case Specification Programmers look at use case specification to understand complete requirements - SRS Systems analyst produce use case diagram & use case specification in consultation with end users
  33. 33. Flow of Events / Pathways Flow of Events Describes how and when use case starts and ends. Does NOT describe user interface details. Is generally a text-based file that is included under its use case in Rational Rose/Visual Paradigm
  34. 34. Types Flow of Events / Pathways Types of Flow of Events Basic Flow of Events@ Happy Path - is the most common pathway. It usually depicts a perfect situation, in which nothing goes wrong. Alternate Flow of Events @ Alternate Pathway - is a pathway that is still considered a good pathway; it’s just not the most heavily travelled one Exception Flow of Events @ Exception Pathways @ Unhappy Pathway – things don’t always go as planned. An exception is an error condition that is important enough to the application to capture.
  35. 35. Types Flow of Events / Pathways Basic Flow of Events@ Happy Path – You get to the ATM and successfully withdraw money Alternate Flow of Events @ Alternate Pathway - You get to the ATM but could not withdraw money due to insufficient funds in your account. Exception Flow of Events @ Exception Pathways @ Unhappy Pathway – You get to the ATM machine but your valid pin number is not accepted.
  36. 36. See Example Word Document on Use Case Specification based on Remulak Productions Use Case Specifications - Example
  37. 37. Review Questions
  38. 38. Review Question A use case specification cannot be done for an included use case. True False
  39. 39. Review Question Use case specification together with a use case diagram become part of what is know as system requirements specification (SRS) True False
  40. 40. Review Question Although non-functional requirements (i.e shadow use cases) are not “technically speaking” a use case, are still considered a use case to acknowledge the importance it has in the overall system. True False
  41. 41. Review Question Basic Flow of Events @ Happy Path is a series of events that happens some of the time True False
  42. 42. Review Question Alternate Flow of Events @ Alternate Pathway is a series of events that happens all the time True False
  43. 43. Review Question Exception Flow of Events @ Exception Pathway is a series of events that is impossible to happen. True False
  44. 44. Review Question Both use case diagram and use case specification should not be too detailed. True False
  45. 45. Use Case Diagram - In Class Exercise Write use case specification based on the case diagram for Inventory System.
  46. 46. Summary <ul><li>Use Case Diagram as a means to model functional requirements of a system. </li></ul><ul><li>Awareness of typical mistakes by students. </li></ul><ul><li>Write use case description for a use case. </li></ul>
  47. 47. Further Reading http://download.boulder.ibm.com/ibmdl/pub/software/dw/rationaledge/jan03/UseCaseFAQS_TheRationalEdge_Jan2003.pdf Use Case FAQs
  48. 48. Reference Jacobson I. 2003, “ Use Case – Yesterday, Today and Tomorrow ”, The Rational Edge, IBM

×