Course overview
This course provides a general introduction to software engineering. It introduces concepts such as software processes and agile methods, and essential software development activities, from initial specification through to system maintenance. Formalisms and tools to assist in software development are also presented, including common design patterns and UML notation. There is a focus on software testing, from unit testing to the testing of software releases. Project management , software security, professional software engineering practice, ICT codes of ethics, and IT governance will also be covered. Case studies provide practical examples for many of these concepts.
Course learning outcomes
- Explain the issues of producing quality software
- Develop a system design using UML notation
- Explain human issues in the software engineering profession: ethics and professional practice
- Discuss the different aspects of project management in producing secure quality software