Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE360 Lecture 11

CSE360 Lecture 11

Introduction to Software Engineering
Use Cases II
(201805)

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE360 Introduction to Software Engineering Lecture 11: Use Cases II

    Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment
  2. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 2 Previously

    child father base addition extension base << include >> << extend >>
  3. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 3 Rules

    for Use Cases • Titles begin with a verb – A use case models an action so the name should begin with a verb. • Make the name descriptive – This is to give more information for others who are looking at the diagram. For example “Print Invoice” is better than “Print”. • Highlight the logical order – For example if you’re analyzing a bank customer typical use cases include open account, deposit and withdraw. Showing them in the logical order makes more sense. • Place use cases to the right of the primary actor and to the left of secondary actors • Place inheriting use case below parent use case
  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 Rules

    for Actors • Give meaningful business relevant names for actors • Actors model roles (not positions) • External systems are actors • Actors don’t interact with other actors • Place inheriting actors below the parent actor
  5. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 6 Test

    Yourselves Draw car Draw Car with flower
  6. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 7 Test

    Yourselves Draw car Draw Car with flower << include >> << include >> << extend >> << extend >>
  7. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 8 Test

    Yourselves Draw Ghost Draw Ghost Red Draw Ghost Blue
  8. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 9 Test

    Yourselves Draw Ghost Draw Ghost Red Draw Ghost Blue << include >> << include >> << extend >> << extend >> it is not because the color, but they behave different http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior
  9. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 10 Test

    Yourselves Draw car Draw Car with flower Draw Ghost Draw Ghost Red Draw Ghost Blue
  10. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 11 Test

    Yourselves Draw car Draw Car with flower Draw Ghost Draw Ghost Red Draw Ghost Blue
  11. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 12 Test

    Yourselves Make Payment VISA payment PayPal Payment
  12. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 13 Test

    Yourselves Make Payment VISA payment PayPal Payment
  13. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 14 Test

    Yourselves Drop a Class Search Class Enroll a Class
  14. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 15 Test

    Yourselves Drop a Class Search Class Enroll a Class << include >>
  15. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 16 Test

    Yourselves Make Payment VISA payment Drop a Class Search Class Enroll a Class PayPal Payment
  16. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 17 Test

    Yourselves Make Payment VISA payment Drop a Class Search Class Enroll a Class PayPal Payment
  17. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 19 Case

    1 • What about external systems? • unambiguous, and verifiable • Example 7 in Lecture 9
  18. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 20 Case

    2 • Where is the user and/or the external systems? • unambiguous, and verifiable • Example 7 in Lecture 9
  19. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 21 Case

    3 • unambiguous, and verifiable • Example 7 in Lecture 9
  20. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 22 Case

    4 • unambiguous, and verifiable • Example 7 in Lecture 9
  21. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 23 Case

    5 • UML notation • unambiguous, and verifiable • Example 7 in Lecture 9
  22. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 25 Case

    7 • UML notation • unambiguous, and verifiable • Example 7 in Lecture 9
  23. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 28 Case

    1 • functional requirement: service, reaction, or behavior • functional vs non-functional • unambiguous, and verifiable • UML notation
  24. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 29 Case

    2 • Where is the user? • functional requirement: service, reaction, or behavior • functional vs non-functional • unambiguous, and verifiable
  25. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 30 Case

    3 • functional vs non-functional (quality, organization (technical) • unambiguous, and verifiable
  26. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 31 Case

    4 • Who is the actor? User? • unambiguous, and verifiable • UML notation
  27. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 32 Case

    5 • Who is the actor? User? • functional vs non-functional • unambiguous, and verifiable • UML notation
  28. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 33 Case

    6 • functional vs non-functional (quality, organization (technical) • UML notation
  29. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 34 Case

    7 • Actor represent 1 user in 1 rol • functional requirement: service, reaction, or behavior • functional vs non-functional (quality, organization (technical) • unambiguous, and verifiable • UML notation
  30. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 35 Case

    8 • functional requirement: service, reaction, or behavior • functional vs non-functional (quality, organization (technical) • unambiguous, and verifiable • UML notation
  31. CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez [email protected] Summer

    2017 Disclaimer. These slides can only be used as study material for the class CSE360 at ASU. They cannot be distributed or used for another purpose.