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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  5. Test Yourselves

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  18. Common Errors
    UC diagram for enrolling a class on MyASU

    View full-size slide

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

    View full-size slide

  20. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  24. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 24
    Case 6
    • Example 7 in Lecture 9

    View full-size slide

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

    View full-size slide

  26. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 26
    Case 8

    View full-size slide

  27. Common Errors
    UC diagram for a web project

    View full-size slide

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

    View full-size slide

  29. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  34. 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

    View full-size slide

  35. 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

    View full-size slide

  36. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 36
    Homework
    Chapter 4

    View full-size slide

  37. 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.

    View full-size slide