This Module provides students with the application of theory, knowledge, and practice to develop software systems that satisfy users' requirements effectively and efficiently. Equipping students with skills to design, develop, test and maintain high-quality software systems, it covers the Software Development Life- Cycle (SDLC), process models, requirements engineering, system design, implementation strategies, testing methodologies and maintenance practices. Students will learn to apply software engineering principles to real-world projects.
Module Aim
This Module aims at equipping students with knowledge of all phases of the life cycle of a software system, including requirements analysis and specification, design, construction, testing, deployment, operation and maintenance.
Module Learning Outcomes
Upon completion of this module, the student should be able to:
1. Explain the different phases in software development.
2. Describe project management and risk management processes.
3. Apply software testing methods.
4. Explain the concept of a software life cycle.
5. Select and justify appropriate software development models and process elements for the development and maintenance of various software products.
6. Develop a medium-size software product.
7. Distinguish between program validation and verification.
8. Distinguish between the different types and levels of testing for medium-size software products and related materials.
9. Create, evaluate, and implement a test plan for a medium-size code segment.