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
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
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?
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
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
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
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 >>
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
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
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
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]
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
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
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.