Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

jgs Spring 2022 | 00000010 Requirements Engineering

Slide 3

Slide 3 text

jgs Spring 2022 | 00000010 Concepts necessities requirements

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

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?

Slide 8

Slide 8 text

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.

Slide 9

Slide 9 text

jgs Spring 2022 | 00000010 Types of Non-Functional Requirements

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

jgs Spring 2022 | 00000010 Questions

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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.