SOFTWARE DEVELOPMENT STUDY NOTES
Software Development Life Cycle (SDLC) - The various stages in designing and
implementing a new computer system. These stages - typically analysis, design,
implementation, testing and installation - are part of the systems life cycle performed by
the main design team. Not be too confused with the Software Development Cycle which
is part of the implementation stage of the systems life cycle.
Waterfall Model - An earlier abstract description of the system lifecycle where each
identified stage of development flows from the previous one and down to the next one.
Feedback from each to the previous takes place independently of the forward flow.
Agile Methodologies - Describes the responsive development of a system made of small
software modules (often web-based applications) by a group of collaborators who work
concurrently and closely under a leader who ensures engineering best practice and
delivery of the customer requirements.
Extreme Programming - A software development methodology which is intended to
improve software quality and responsiveness to changing customer requirements. It is a
form of agile development, and as such advocated frequent releases in short
development cycles, which is intended to improve productivity and introduce
checkpoints at which new customer requirements can be adopted. Other common
elements of XP include: programming in pairs or doing extensive code review, flat
management structures and avoiding programming of features until they are actually
needed.
Spiral Model - An abstract description of the systems life cycle where there are four
defined quadrants - planning, risk analysis, use of design methods, client and
management evaluation. Once one stage of development has gone full circle, the next
please takes place, and so on until completion.