Introduction to Software Engineering
New Version for Fall 2014

Activities and deliverables, as shown in an activity diagram, with references to Bruegge & DuToit chapters:

Or more specifically for CS 440 at UIC: ( Also available as a 3-page PDF file )





IEEE standard 1074describes in detail the activities that can be conducted in a software engineering process, broken down by processes and process groups:







Different approaches to software engineering differ in the amount of time and effort spent on each activity ( if any at all ), the order in which the activities are performed, how much iteration takes place, and the extent to which one activity must be completed before another can commence..
This is THE classic model of traditional software engineering, in which each activity must be completed before the next can begin. ( Water only flows downhill. Once you have started activity N+1, you can't go back to activity N. )

V-Model
This variation of the waterfall model emphasizes the relationship between test planning and development stages:

A classic iterative model:

A.k.a. the Unified Process, this approach was developed by Booth, Jacobson, and Rumbaugh, the original developers of UML, this is also an iterative model:



In practice real software development never follows any of the idealized models exactly, but rather blends ideas from the different models.