Software Engineering For Sustainability

Module code: CO7520
Module co-ordinator: Dr Ruzanna Chitchyan

In this module you will study the basics of Systems Thinking and learn how to apply relevant systems engineering analysis methods in socio-technical software systems engineering.

We will discuss the relevance of software systems in fostering sustainability, contrasting the 'systems thinking' perspective with traditional reductionist 'computational thinking'. We will explore the relevance of holistic analysis to software systems engineering and the application of systems analysis and design methods that account for the economic, technical, environmental, social, and personal dimensions of the software system's impact. We will consider the long-term direct, indirect and systemic impact of software systems upon their situated environments and users.

We will also look at what is involved in continuous sustainability assessment and up-keep of a software system upon delivery. Finally we will investigate how sustainability engineering can be integrated into the software engineering processes (from agile to waterfall), and how, at various leverage points, the software can be used to foster sustainability in a socio-technical system.