“…The creation of traditional, procedural, algorithmic software has led to three major schools of development: (1) those who use a methodological approach that follow stage-based process models such as Boehm's spiral model (Boehm, 1988;Boehm & Hansen, 2001) or Royce's waterfall model (Royce, 1970), (2) those who advocate prototyping (Ribeiro Justo et al, 1997), and (3) those who advocate the utilisation of formal methods of specification (Jones, 1980). More recent object-oriented methodologies rely on processes such as the unified process (Jacobson et al, 1999).…”