Software development life cycle
Software development life cycle is a process used in software industry to design, test & develop high quality software. And this is also known as SDLC Model. And there is an essentially a series of steps or phases that provides a model for the development and life cycle management of an application or piece of software. The main goal of SDLC process is to capture, verify and implement all the requirements that needed to make the software. Each phase in the life cycle has its own process and deliverables that feed into the next phase. Those are the stages of SDLC. ISO/IEC 12207 is the international standard for SDLC processes.
Advantages of SDLC models
- Evey review crated at the end of the process to get the maximum use of it.
- These models have the ability to produce many of intermediate products that can be reviewed according to the clients user needs and basics.
- The SDLC can creates different kind of system documents.
Stages in SDLC
Types of SDLC models
- Waterfall model
- Spiral model
- RAD model
- Evolutionary development model
Waterfall model is a liner sequential life cycle model. Waterfall model is easy to understand and a simple model. In a waterfall model, each phase must be completed fully before the next phase can begin. This type of model is basically used in small projects. The principal stages of the waterfall model directly reflect the fundamental development activities. Because of the cascade from one phase to another, this model is known as Waterfall Model.
The main difference between the spiral model and the other models are explicit recognition of risk. A cycle of the spiral begins by elaborating objectives such as performance and functionality. Alternative ways of achiving these objectives, and dealing with the constrains on each of them, are then enumerated. Each alternative is assessed against each objective and sources of project risk are identified.
The next step is to resolving these risk by information- gathering activities such as more detailed analysis, prototyping and simulation. Once risks have been assessed, some development is carried out, followed by planning activity for the next phase of the process. Informally, risk simply means something that can go wrong.
Rapid Application Model(RAD) is a system development model that employs joint application design, prototyping, CASE technology, application generators, and slimier tools to expedite the design process. Rapid Application Development promotes fast, efficient, accurate system development and delivery.RAD generally improves designers communication, user cooperation, and user commitment, and promotes better documentations. More specifically, RAD is not suitable for mathematical or computationally oriented applications. Because RAD stresses speed, quality indicators such as consistency, standardization, reuseability, and reliability are easily overlooked.
Evolutionary development model
Evolutionary development model is a combination of iterative and incremental approach to software development. And this model is based on initial implementation will result in the user comments, so it can be repaired through many versions until an adequate system can be developed. In addition to having separate activities, this model provides feedback simultaneously.