ICS 470

Software Engineering

4 Undergraduate credits
Effective February 21, 2001 – Present

Graduation requirements this course fulfills

This course focuses on the theory and practice of effectively and efficiently building software systems that satisfy the requirements placed upon them by customers. This course gives an overview of the software life cycle, and introduces various process models used to develop software. Other topics include system verification and validation, software project management and software inspection.

Special information

Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.First day attendance is mandatory.

Learning outcomes


  • Elucidate requirements.
  • Design a software system to fulfill elicited requirements.
  • Select an architecture for a software system.
  • Manage the software lifecycle either in waterfall or agile model.
  • Select an appropriate process model for a project.
  • Determine an adequate test and verification structure.
  • Manage a software project including estimating effort time and resources needed.
  • Quantify and manage risk.