$30 off During Our Annual Pro Sale. View Details »

CSE563 Lecture 02

CSE563 Lecture 02

Software Requirements and Specification
Concepts
(202201)

Javier Gonzalez-Sanchez
PRO

August 17, 2021
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

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

    View Slide

  2. jgs
    Spring 2022 | 00000010
    Requirements Engineering

    View Slide

  3. jgs
    Spring 2022 | 00000010
    Concepts
    necessities
    requirements

    View Slide

  4. jgs
    Spring 2022 | 00000010
    INVEST in good requirements
    § 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

    View Slide

  5. jgs
    Spring 2022 | 00000010
    Concepts
    necessities
    requirements
    functional
    requirement
    non-functional
    requirement

    View Slide

  6. jgs
    Spring 2022 | 00000010
    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 Slide

  7. jgs
    Spring 2022 | 00000010
    Examples
    § 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.
    What about
    • A video game?
    • Canvas?
    • MyASU?
    • Facebook App?

    View Slide

  8. jgs
    Spring 2022 | 00000010
    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 Slide

  9. jgs
    Spring 2022 | 00000010
    Types of Non-Functional Requirements

    View Slide

  10. jgs
    Spring 2022 | 00000010
    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 Slide

  11. jgs
    Spring 2022 | 00000010
    Examples (Constraints)
    § Should comply FERPA regulations.
    § Software is developed keeping downward compatibility intact.
    What about
    • Pac-man?
    • Canvas?
    • MyASU?

    View Slide

  12. jgs
    Spring 2022 | 00000010
    Questions

    View Slide

  13. jgs
    Spring 2022 | 00000010
    Homework
    § Read:
    Requirements Engineering: A Roadmap
    Nuseibeh, Bashar, and Steve Easterbrook
    Proceedings of the Conference on the Future of Software Engineering
    2000

    View Slide

  14. 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 Slide