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)

Javier Gonzalez-Sanchez

August 18, 2021
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 563
    Software Requirements and Specification
    Lecture 03: Concepts II
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View full-size slide

  2. jgs
    Previously …

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  5. jgs
    Functional vs Non-Functional

    View full-size slide

  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.

    View full-size slide

  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

    View full-size slide

  8. jgs
    Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8
    Verbs (& subject)
    (actions)
    Careful with adjectives

    View full-size slide

  9. jgs
    Spring 2022 | 00000011
    Examples
    What about
    • A video game?
    • Canvas?
    • MyASU?
    • Facebook App?
    Independent
    Negotiable
    Valuable
    Estimateable
    Small
    Testable
    NOT VERY
    Small

    View full-size slide

  10. jgs
    Spring 2022 | 00000011
    Functional vs Non-Functional
    NON-Functional
    Functional
    Functional
    Functional

    View full-size slide

  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.

    View full-size slide

  12. jgs
    Spring 2022 | 00000011
    Types of Non-Functional Requirements

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  15. jgs
    Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15
    Adjectives
    (quality)
    Careful with verbs + adjectives

    View full-size slide

  16. jgs
    Spring 2022 | 00000011
    Independent
    Negotiable
    Valuable
    Estimateable
    Small
    Testable
    NOT VERY
    Small
    Examples (Quality or Constraints)
    What about
    • Pac-man?
    • Canvas?
    • MyASU?

    View full-size slide

  17. jgs
    Spring 2022 | 00000011
    Homework 01

    View full-size slide

  18. jgs
    Spring 2022 | 00000011
    Questions

    View full-size slide

  19. jgs
    CSE 563 Software Requirements and Specification
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    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.

    View full-size slide