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.
- 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.