CS 455: Software Engineering

Units: 3-0-0-9
Pre-requisites: CS210, CS202.

Course Contents:

  1. Software development lifecycle.
  2. Process models.
  3. Requirements specifications.
  4. Basic software architecture.
  5. Software design, UML modelling.
  6. Design patterns in software.
  7. Software implementation.
  8. Testing, verification and validation.
  9. Static analysis.
  10. Introduction to software model checking.
  11. Software metrics.
  12. Software project management.

Books and References:

  1. Ian Somerville, Software Engineering, 9th Ed., Pearson, 2010.
  2. C Ghezzi, M Jazayeri, D Mandrioli, Fundamentals of Software Engineering, 2nd Ed., Prentice-Hall, 2002.
  3. RN Taylor, N Medvidovic, EM Dashofy, Software Architecture: Foundations, Theory and Practice, John Wiley, 2009.
  4. R Jhala, R Majumdar, Software Model Checking, ACM Computing Surveys, 41(4), Article 21, 2009.
  5. AV Aho, MS Lam, R Sethi, JD Ullman, Compiler Design: Principles, Techniques and Tools, 2nd Ed., Prentice- Hall, 2006