Software quality attributes. Software requirements. Requirements elicitation via interviewing, workshops, prototyping, and use case analysis. Vision document and Software Requirement Specification document standards. Formal software specification methods including operational and descriptive models. Design by contract. Verification and validation of requirements. Prerequisite: CMPUT 275. Credit may be obtained in only one of CMPE 310 or ECE 321.