CS 435 - Week 5 Lecture 2 - 2014-02-20 * discussed first 3 project milestones -- they are now posted along with these notes * note that Homework 5 will NOT come out tonight, so you can get 1st Project Milestone in by NEXT FRIDAY FEB 28, 11:59 pm ---------------- Jalote Chapter 3 - Software Requirements Analysis and Specification * Software Requirements Analysis Software Requirements Specification (SRS) * Jalote's contention: a high-quality SRS is a prerequisite to high-quality software * requirement: IEEE definition: (from Jalote p. 37) 1) a condition or capability needed by a user to solve a problem or achieve an objective 2) A condition or capability that must be met or possessed by a system ... to satisfy a contract, standard, specification, or other formally imposed document [another IEEE technical report] * one important characteristic of a requirements specification: * describes WHAT the proposed software should do without describing HOW the software will do it * desirable [pie-in-the-sky, perfect-world] characteristics of an SRS * correct * an SRS is correct if every requirement in it represents something required in the final system * complete * an SRS is complete if everything the software is supposed to do and the responses of the software to all classes of input data are specified in the SRS * unambiguous * an SRS is unambiguous if and only if every requirement stated has one and only one interpretation * verifiable * an SRS is verifiable if and only if every stated requirement is verifiable * consistent ...there is no requirement in the SRS that conflicts with another * ranked for importance and/or stability