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