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

CSE360 Lecture 11

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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.