CSE460 Lecture 06

CSE460 Lecture 06

Software Analysis and Design
Requirements Analysis II
(202008)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez

July 06, 2020
Tweet

Transcript

  1. jgs CSE 460 Software Analysis and Design Lecture 06: Requirements

    Analysis II Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 2 jgs

    Announcement § Quiz 01 is due this Friday 11:59 PM AZ time.
  3. jgs Previously

  4. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 4 jgs

    Previously I want a Pacman videogame Requirements
  5. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 5 jgs

    Initial Idea
  6. jgs Requirements Analysis

  7. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 7 jgs

    Pac-Man § View Maze § View Characters § View Score § Move § Wall collision § Eat a dot § Eat power-up dot § Eat ghost § Pac-man dies And, then the enemy …
  8. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 8 jgs

    Another Idea
  9. jgs Explaining Details

  10. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 10 jgs

    Actions http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior
  11. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 11 jgs

    Actions Toru Iwatani (Pac-Man creator): § I wanted each ghostly enemy to have a specific character and its own particular movements, so they weren't all just chasing after Pac Man in single file, which would have been tiresome and flat.” § They'd attack and then they'd retreat. As time went by, they would regroup, attack, and disperse again. It seemed more natural than having constant attack."
  12. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 12 jgs

    Action § Red Ghost: target tile in Chase mode is defined as Pac-Man's current tile § Pink Ghost: attempts to move him to the place where Pac-Man is going, instead of where he currently is. Pinky's target tile in Chase mode is determined by looking at Pac-Man's current position and orientation, and selecting the location four tiles straight ahead of Pac- Man.
  13. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 13 jgs

    Action § Blue Ghost: difficult to predict, it uses both Pac-Man's position/facing as well as the red ghost's position in his calculation § Orange Ghost: calculates his distance from Pac-Man. If he is farther than eight tiles away, his targeting is identical to Red Ghost. However, as soon as his distance to Pac-Man becomes less than eight tiles, his target is set to the outside the bottom-left corner of the maze.
  14. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 14 jgs

    States What about: § New § Hunter § Hunted § Eaten
  15. jgs Activity and State Diagrams

  16. jgs (

  17. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 17 jgs

    Full Picture SRS (requirements) Use Case Diagram (functional structure) UC1 UC2 UC4 UC3 (non-functional) Use Case Template (functional details)
  18. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 18 jgs

    Full Picture Use Case Template
  19. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 19 jgs

    UML
  20. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 20 jgs

    Activities and States § Create an activity diagram when a use-case requires a graphical representation of the flow of interaction. § Create a state diagram when a use-case requires a list of the different states of a system. * they are not mandatory, and they can be combined.
  21. jgs Activity Diagram

  22. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 22 jgs

    Test Yourselves § What is an activity? § What is the difference between activity and requirement?
  23. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 23 jgs

    Activity Diagram § A graphical representation of the flow of activities 1. Sequence 2. Conditions and Loops 3. Parallel or Concurrent 4. Actor (if there are multiple actors involved in a specific use-case) responsibility for the action described
  24. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 24 jgs

    Key elements § rounded rectangles represent actions; § diamonds represent decisions; § bars represent the start (split) or end (join) of concurrent activities; § a black circle represents the start (initial node) of the workflow; § an encircled black circle represents the end (final node). § Arrows run from the start towards the end and represent the order in which activities happen. § Swim lane or functional band helps to visually distinguishes job sharing and responsibilities
  25. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 25 jgs

    Example 1
  26. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 26 jgs

    Example 2 ATM transaction
  27. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 27 jgs

    Example 3 (part 1/2) ATM transaction customer bank ATM machine
  28. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 28 jgs

    Example 3 (part 1\2/2)
  29. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 29 jgs

    Example | Astah
  30. jgs State Diagram

  31. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 31 jgs

    State Diagram State machine models show § states (as nodes) – a set of observable circumstances that characterizes the behavior of a system at a given time § Event (arc between nodes) —an occurrence that causes the system to exhibit some predictable form of behavior When an event occurs, the system moves from one state to another.
  32. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 32 jgs

    Example: MyASU
  33. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 33 jgs

    Example State machine diagram
  34. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 34 jgs

    Example State machine diagram
  35. jgs )

  36. jgs CSE 460 Software Analysis and Design Javier Gonzalez-Sanchez javiergs@asu.edu

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