Ciclo di vita di un software Ciclo de vida de um "software" Software-Lebenszyklus Cycle de vie d'un logiciel Ciclo de vida del software

Software lifecycle

The term software lifecycle describes the development of an application, from the concept phase right up to the retirement phase. The purpose of such a plan is to define the various intermediate phases required to the validate the development of the application, i.e. to ensure the software conforms to the requirements for the application and verification of development procedures, i.e. to make sure the methods employed are appropriate.

Such plans originate from the fact that errors detected late in the implementation phase can end up being costly to rectify. The lifecycle allows for errors to be detected at as early a stage as possible and therefore enable developers to concentrate on the quality of the software, implementation time frames and associated costs.

The basic software lifecycle involves the following procedures:

  • Defining goals defining the outcome of the project, and its role in a global strategy.
  • Analysis of requirements and feasibility, i.e. gathering, examining and formulating the customer's requirements and examining the set of restrictions that may apply.
  • General design General architectural requirements of the application.
  • Detailed design, precise definition of each application sub-set.
  • Programming (programming and implementation) is the implementation of a programming language to create the functions defined during the design stages.
  • Unit testing, individual testing of each application sub-set to ensure they are implemented according to specifications.
  • Integration, to ensure that the different modules integrate with the application. This is the purpose of the integration testing which is carefully documented.
  • Beta testing (or validation), to ensure that the software conforms to original specifications.
  • Documentation serves to document necessary information for software users and for future development.
  • Implementation,
  • Maintenance, all corrective procedures (corrective maintenance) and minor software updates (ongoing maintenance).

The order and presence of each of these procedures in the lifecycle of an application depends on the type of lifecycle model agreed between the client and the development team.

Lifecycle models

To facilitate a common methodology for client and software company, lifecycle models have been updated to reflect the development stages involved and the documentation required, so that each stage is validated before moving on to the next stage. At the end of each stage reviews are arranged so that (missing text?)

Waterfall model

The waterfall lifecycle model was designed in 1966 and then finalized around 1970. It is defined as a sequence of phases, at the end of each one documentation is gathered to ensure it conforms to specifications and requirements prior to moving on to the next phase:

waterfall lifecycle

V model

The V lifecycle model stems from the principle that procedures for testing that the application conforms to specifications must be have been created in the design phase.

V lifecycle



Last update on Thursday October 16, 2008 02:43:18 PM.This document entitled « Software lifecycle » from Kioskea (en.kioskea.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the licence, as this note appears clearly.

Best answers for « Software lifecycle » in :
Software lifecycle Show Software lifecycle The term software lifecycle describes the development of an application, from the concept phase right up to the retirement phase. The purpose of such a plan is to define the various intermediate phases required to validate the...
Agile Methods (RAD, XP) Show Agile methods "Agile methods" software development (also called Agile Modelling denoted AG for short) reduce software lifecycle time (thus speeding up development) by firstly developing a prototype version, then integrating functionality on an...
Computer-aided Software Engineering (CASE) Show Computer-aided Software Environment (CASE) Computer-aided Software Environment (or CASE) is a set of programming tools which use a common interface, and is used to design, develop and debug software.A CASE environment therefore comprises of tools...
Free Burning Software Download ShowFree Burning Software Download Burn My Files: The one clicking burning software CDBurnerXP Burnaware AVS Disc Creator Nero Edition 8 A burning software is an application mainly for storing data (files, audio and video etc) on CD...
Software for creating video game (RPG maker, Mugen, etc.). ShowSoftware for creating video game (RPG maker, Mugen, etc.) Software for creating versatile games Software to create fighting games Software for role play games Other software If you have no programming skills, but you want to create...
Audio Mixer Software ShowAudio Mixer Software For Windows users For Linux users For MacOS X users There is no need to be a professional DJ today to be able to mix some good music with excellent sound effects. Powerful softwares are available and allow you...
Download 007 Spy Software Show007 Spy Software is a software for monitoring the executed activities on a computer. This software allows to know all different activities carried out by all the users of a specific computer. 007 Spy Software enables to know: - the visited web...
Software engineering ShowSoftware engineering The term software engineering encompasses the set of methods, techniques and tools used in the production of an application beyond the primary activity of programming. The term "engineering" is a direct reference to civil...