Module 1 The software development life cycle, a tour of Agile methodologies, and scenarios for describing use cases KIT206 Software Design & Development KIT506 Software Application Design & Implementation Outline The bigger picture: software engineering The software development life cycle Refresher: the requirements trace matrix Agile software development (a brief tour) Scenarios: making use cases concrete A foretaste of prototyping in systems design Reading 1: Software Engineering Section 1.1 (5 pages) in Software Engineering: Principles and Practice, 3rd ed, by Hans van Vliet, 2008 Location: accompanying readings PDF Summary: This optional reading provides some context for the unit as a whole and the notes that follow. Software engineering is an multi‐ disciplinary problem‐solving process for creating non‐trivial software systems. SDLC While all human‐created products have a life cycle (from conception through to realisation and ultimate disposal) software is unusual in that it is extremely flexible and, as a consequence, software products can become highly complex very quickly. The processes employed over the lifecycle of software are intended to manage this complexity so that a reliable and useful product is created. Reading 2: SDLC Section 1.2 (5 pages) in Software Engineering: Principles and Practice, 3rd ed, by Hans van Vliet, 2008 Location: accompanying readings PDF Summary: The software development life cycle can be thought of in terms of distinct phases (although the reality is rarely so neat). Indeed, different projects and different software development approaches may arrange the phases differently. Idealised SDLC Requirements Analysis &