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

CSC308 Lecture 23

CSC308 Lecture 23

Software Engineering I
Requirements
(202303)

Javier Gonzalez-Sanchez

March 12, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 308 Software Engineering 1 Lecture 23: Software Requirements

    Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  2. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    2 Complete your Course Evaluations Closes March 17
  3. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    6 Stories and Tasks … move the pacman … show the pacman … move a ghost … show a ghost … show power pills stories tasks (new) … show a maze
  4. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    7 Storyboarding MOVE EAT SHOW DETECT COLLISION MOVE/ HUNT SHOW SHOW/ CREATE SCORE HANDLING WINNER DETECTOR MOVE/ HUNT
  5. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    9 Concepts necessities requirements functional requirement non-functional requirement
  6. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    10 a) May state what (reactions, behaviours, or services) the system should not do. b) services the system should provide, c) how the system should react to particular inputs, and d) how the system should behave in particular situations. Functional Requirement
  7. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    11 § Search option given to user to search from various invoices. § User should be able to mail any report to management. § Users can be divided into groups and groups can be given separate rights. Examples What about • A video game? • Canvas? • Facebook App?
  8. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    12 § Independent – loosely coupled with one another § Negotiable – Stories are what and why , not how ( 99% ). § Valuable – for the customer! § Estimatable – Effort/Cost of design, build, and test. § Small (sized appropriately) § Testable – pass or fail INVEST in good requirements
  9. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    13 Non-functional requirements a) Constraints on the services or functions offered by the system, such as Standards to apply, development platform, timing constraints, constraints on the development process, etc. b) Quality attributes, such as performance specifications, robustness, usability, etc. Non-functional Requirement
  10. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    14 Types of Non-Functional Requirements
  11. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    15 Examples (Quality) Property Measure Speed • Processed transactions/second • User/event response time • Screen refresh time Size • Mbytes • Number of ROM chips Ease of use • Training time • Number of help frames Reliability • Mean time to failure • Probability of unavailability • Rate of failure occurrence • Availability Robustness • Time to restart after failure • Percentage of events causing failure • Probability of data corruption on failure Portability • Percentage of target dependent statements • Number of target systems
  12. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    16 § Should comply FERPA regulations. § Software is developed keeping downward compatibility intact. Examples (Constraints)
  13. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    17 Functional vs Non-Functional NON-Functional Functional Functional Functional
  14. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    20 Requirements Product Requirement Task As a (role), I want (feature), So that (benefit)
  15. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    21 Requirements Product Requirement Task As a (role), I want (feature), So that (benefit)
  16. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    24 a) Actors b) Use Cases a) Relationships Diagram child father base addition extension base << include >> << extend >>
  17. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    25 Diagram | Example Nurse Medical receptionist Manager Register patient View personal info. View record Generate report Export statistics Doctor Edit record Setup consultation
  18. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    26 § Show that behavior of the included use case (addition) is inserted into the behavior of the including (base) use case. § A dashed line with an open arrowhead directed from the including use case (base) to the included (addition) use case. The arrow is labeled with the keyword «include». § The include relationship is used to (1) simplify large use case by splitting it into several use cases, (2) extract common parts of the behaviors of two or more use cases. Inclusion base addition
  19. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    28 § Extending use case defines optional behavior that is not necessarily meaningful by itself. § Extend relationship is shown as a dashed line with an open arrowhead directed from the extending use case to the extended (base) use case. The arrow is labeled with the keyword «extend». Extension base extension
  20. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    32 Office Hours Tuesday and Thursday 3 - 5 pm But an appointment required Sent me an email – [email protected]
  21. jgs

  22. jgs CSC 308 Software Engineering 1 Lab 23: Use Case

    Diagram Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  23. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    35 § What are the Use Cases (stories) that can be used to describe your final project? § Which are the actors? § Is there inheritance, including, or extending relationships? § Draw a UML Use Case Diagram. Lab
  24. jgs CSC 308 Software Engineering I Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Fall 2022 Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly. They cannot be distributed or used for another purpose.