This module introduces essential concepts, theories and principles relating to software development. The module will focus on requirements engineering to design software solutions to meet business requirements. The emphasis will be on the use of modelling techniques in software design and development. The module will also introduce students to generic software product development following agile approaches. Students will be introduced to tools used for the design, development, testing and documentation of software solutions The module will consider legal, social, ethical and professional issues relating to software development. It will also discuss inclusivity, security, sustainability issues relating to the development and deployment of software products. In this module, students will be required to work in teams to analyse, specify and design a software solution for a real-life problem.

Software applications are ubiquitous and their role is indispensable in the operation and success of activities in many fields. The ability to analyse, specify, design, implement and validate software systems is an essential skill of graduates in computing, and this is a skill which they will be able to apply to their projects in other modules of their course, like the Graduation Project.

 

On successful completion of this module, students will have gained the necessary competencies to take a professional and methodical approach to software application development and aid them in business analyst, software development or project management roles.