The purpose of this course is to study methods necessary to cost-effectively address difficult problems arising in the development, management and evolution of software systems.Topics include requirements engineering and analysis; different methods for software design; techniques for building dependable software systems; verification and validation of systems cost estimation, resource estimation and project management; and maintenance issues. [Offered: F] Prereq: MSCI 240