CPEN 321

Software Engineering

Engineering practices for the development of non-trivial software-intensive systems including specification, software design, implementation, verification and validation. Iterative development. Recognized standards, guidelines and models.

4 credits

Course Outline

  • Overview of Software Engineering
  • Software Process
  • Agile Software Development
  • Requirements Engineering
  • Software Modeling and Analysis
  • Software Architecture
  • Software Construction
  • Software Quality and Testing
  • Software Management
  • Software Evolution and Maintenance
  • Advanced Software Engineering Topics


Software Engineering (9th  ed.), Sommerville, 2011, Pearson Education

Credit will only be given for one of CPSC 310 or CPEN 321.

ONE of
CPEN 221 – Principles of Software Construction
CPSC 261 – Basics of Computer Systems

More Information

UBC Course Page