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

CSE563 Lecture 03

CSE563 Lecture 03

Software Requirements and Specification
Concepts II
(202201)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez
PRO

August 18, 2021
Tweet

More Decks by Javier Gonzalez

Other Decks in Programming

Transcript

  1. jgs CSE 563 Software Requirements and Specification Lecture 03: Concepts

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

  3. jgs Spring 2022 | 00000011 Concepts necessities requirements functional requirement

    non-functional requirement
  4. jgs Spring 2022 | 00000011 INVEST in good requirements §

    Independent – loosely coupled with one another § Negotiable – Stories are what and why , not how ( 99% ). § Valuable – for the customer! § Estimateable – Effort/Cost of design, build, and test. § Small (sized appropriately) § Testable – pass or fail
  5. jgs Functional vs Non-Functional

  6. jgs Spring 2022 | 00000011 Functional Requirement 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.
  7. jgs Spring 2022 | 00000011 Examples a) Search option given

    to user to search from various invoices. b) User should be able to mail a report to management. c) Users can be divided into groups and groups can be given separate rights. d) Move the ghost in the Pac-man video game
  8. jgs Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8

    Verbs (& subject) (actions) Careful with adjectives
  9. jgs Spring 2022 | 00000011 Examples What about • A

    video game? • Canvas? • MyASU? • Facebook App? Independent Negotiable Valuable Estimateable Small Testable NOT VERY Small
  10. jgs Spring 2022 | 00000011 Functional vs Non-Functional NON-Functional Functional

    Functional Functional
  11. jgs Spring 2022 | 00000011 Non-functional Requirement 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.
  12. jgs Spring 2022 | 00000011 Types of Non-Functional Requirements

  13. jgs Spring 2022 | 00000011 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
  14. jgs Spring 2022 | 00000011 Examples (Constraints) a) Should comply

    FERPA regulations. b) Software is developed keeping downward compatibility intact. c) Use Java as programming language
  15. jgs Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15

    Adjectives (quality) Careful with verbs + adjectives
  16. jgs Spring 2022 | 00000011 Independent Negotiable Valuable Estimateable Small

    Testable NOT VERY Small Examples (Quality or Constraints) What about • Pac-man? • Canvas? • MyASU?
  17. jgs Spring 2022 | 00000011 Homework 01

  18. jgs Spring 2022 | 00000011 Questions

  19. jgs CSE 563 Software Requirements and Specification Javier Gonzalez-Sanchez, Ph.D.

    javiergs@asu.edu Spring 2022 Copyright. These slides can only be used as study material for the class CSE563 at ASU. They cannot be distributed or used for another purpose.