Software Engineering I Oct. 4, 2013 Notes Types of requirements documents Based upon -Size of system -Need to interface with other systems -Target Audience -Contractual arrangements for development -Stage in requirements gathering -Experience with domain and technology -Cost incurred if requirements are wrong Requirements need review Should have/be: -benefits that outweigh the costs of development -important for solution to the problem -expressed clearly with consistent notation -unambiguous -logically consistent -lead to system of sufficient quality -realistic with available resources -verifiable -uniquely identifiable -should not over constrain the system -complete and well organized -clear reasoning Stakeholders should agree upon requirements This includes: -the problem/scope -background information -environment/system models -functional requirements -quality platform and system requirements Look out for -misunderstandings -changing requirements -over-committing yourself -conflicting requirements sets Next up - Unified Modeling Language (UML)