Adaptive maintenance - adapting to changes in external environment
Perfective maintenance - adding extra polishes/adapting to a change in user requirements
Preventive maintenance - failproofing for the futur
Issues with software - heterogenity (many different device platforms to run on), new technologies constantly emerging, security and trust
CBSD - component based development, SPL - software product lines, COTS - commercial off the shelves, SOA - service orientation
V-Model - basically waterfall but test at every stage before development as well
spiral model - go around in iterations, each loop being a phase. Parts of the loops in the spiral are decided/changed depending on what is required. Good for things that are likely to change a lot
spiral sectors include: objective setting for that phase, risk assessment and reduction, development and validation, planning for the next phase
plan driven model = all activities planned in advance and progress measured against said plan.Agile model = incremental planning that is easier to adapt