Defines a program’s goals
Analysis phase
Specifies how to build the application
Design phase
Writing the program
Implementation phase
Check program meets goals
Testing phase
In this approach earlier stages are not revisited
Waterfall
In this approach each stage is revisited
Agile (spiral)
Grouping of data (variables) and operations that can be performed
Object
User interacts with high level items while lower levels are hidden
Abstraction/ information hiding