Slide 1

Slide 1 text

CSE360 Introduction to Software Engineering Lecture 11: Use Cases II Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Test Yourselves

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Common Errors UC diagram for enrolling a class on MyASU

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Common Errors UC diagram for a web project

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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.