Software Engineering and System Development
Module code: CO2006
According to a report of the British Computer Society, only about 16% of IT projects can be considered truly successful and over 60% of them experience severe problems. The difficulties of software development led to the coining of the phrase "the software crisis" and the birth of software engineering as a discipline. However, in many companies, software is still being developed in an ad-hoc way. The purpose of this module is to teach object-oriented methods for the analysis, specification, design, implementation, and testing of software systems.
At the end of this course, successful students will be able to: explain the main phases in a software development process; analyse customer requirements following an agile methodology; produce Object-oriented system designs by applying design patterns and architectural styles; use UML for consistent specification of software systems and business processes; incorporate security into specifications and designs by following a flexible security specification process; and use appropriate techniques for software development and testing, including mechanisms for software reuse.