Software Development Life Cycle Model

Feb 24 • General • 7564 Views • 12 Comments on Software Development Life Cycle Model

Software Development Life Cycle Model

Software process model is a Software Development Life cycle Model or Software paradigm. Software development life cycle (SDLC) model is a diagrammatic representation of various activities required to make software product. Along with this diagrammatic representation description of each phase of the SDLC must be given. Each phase of software life cycle consists various activities to develop the software product gradually. The software life cycle also specifies the order in which each phase must be executed.
The basic activities that can be carried out in life cycle model are –
1)    Feasibility study
2)    Requirement analysis and specification
3)    Design
4)    Coding
5)    Testing
6)    Maintenance

These are typically called phases of life cycle model. Various software development activities that can be carried out in different phases of SDLC may differ from model to model.The process model can be defined as an abstract representation of process. The process model is chosen based on nature of software project.

There are various life cycle models and those are :

1) Waterfall Model – It is also called “linear sequential model” or “classic life cycle model”. It is the oldest paradigm. This model suggests a systematic,sequential approach to software development.The software development starts with requirements gathering phase. Then progresses through analysis, design,coding, testing and maintenance.

download
Benefit:
The waterfall model is simple to implement.                                                                            

Drawback:

  • The requirement analysis is done initially and sometimes it is not possible to state all requirements explicitly in the beginning. This causes difficulty in the project.
  • The customer can see the working model of the project only at the end.

2) Prototyping Model – In prototyping model initially the requirement gathering is done. Developer     and customer define overall objectives; identify areas needing more requirement gathering. Then quick design is prepared. From a quick design a prototype is prepared. Customer or user evaluates the prototype in order to refine the requirements. Thus, prototype is important to identify the software requirements.ss
Benefit:
When the developer is unsure of the efficiency of an algorithm or the
adaptability of an operating system then prototype serves as a better choice.

Drawback:
In the first version itself, customer often wants “few fixes” rather than rebuilding of the system, whereas rebuilding of new system maintains high level of quality.

3)  Spiral Model -This model possess the iterative nature of prototyping model and controlled and systematic approaches of the linear sequential model.This model gives efficient development of incremental versions of software. In this model, the software is developed in series of increments. The spiral model is divided into a number of framework activities. These framework activities are denoted by task regions.download (1)
Benefit:

  • Requirement changes can be made at every stage.
  • Risks can be identified and rectified before they get problematic.

Drawback:

  • It is based on customer communication.
  • It demands considerable risk assessment.

4) Rapid Application Development Model – The rapid application developmental model is type of incremental software process model in which there is extremely short development cycle. This model is similar to waterfall model which achieves the high speed development using componentimages based construction. To develop the fully functional system within short time period using this model it is necessary to understand the requirements fully and to have a restricted project scope.
Benefit:
It has short developmental cycle.
Drawback:

  • It requires heavy resources.
  • It finds difficult to adopt new technologies.

5) Incremental Model – The incremental model has same phases that are in waterfall model.But it is iterative in nature. It has the following phases:

1. Analysis            2. Design                3. Code                 4.Test

The incremental model delivers series of releases to the customer. These releases are called increments. More and more functionality is associated with each increments. The first increment is called core productin this release the basic requirements are implemented and then indownload (2) subsequent increments new requirements are added.
Benefit:

  • The incremental model can be adopted when there are less number of people involved in the project.
  • Technical risks can be managed with each increments.

Drawback:
It can only be used when requirements  are reasonably well-defined.

6) Component Assembly Model – It uses object oriented technologies.In object oriented technologies, the emphasis is on creation of classes. Classes are the entities which encapsulates data and algorithms. It uses various characteristics of spiral model. This model is evolutionary by images (1)nature. Hence software development can be done using iterative approach. This model uses multiple classes . These classes are basically the prepackaged components.

Benefit:

This model emphasizes on reusability of software components. This reusability of component reduces the development cycle by 70% and project cost by 84%.

Need for software development life cycle model –

The software development team must decide the life cycle model that is to be used for software product development and then the entire team must adhere to it. This is necessary because the software product development can then be done systematically. Each team member will understand – what is the next activity and how to do it. Thus life cycle model will bring the definiteness and discipline in overall development process.
Every life cycle model consists of definite entry and exit criteria for each phase. Hence the transition of the product through various phases is definite. If the life cycle mode is not followed for software development than any team member can perform any software development activity, this will ultimately cause a chaos and software product will definitely fail without using life cycle model, it is difficult to monitor the progress of software product.

Tell us Your Queries, Suggestions and Feedback

Your email address will not be published.

12 Responses to Software Development Life Cycle Model

  1. Olivia Jennifer says:

    PMI’s Project Management Professional (PMP) ®
    credential is the most important industry-recognized certification for project
    managers. Recently I went for a <a
    PMP prep course by the training provider mentioned above, the
    instructor was too good and I passed with relative ease. Looking forwards to
    apply what I learned in <a PMP
    class in my company.

  2. Rishu Goel says:

    “SDLC” a life cycle for the development of software…There are 8 phases which are very important for the development of it…

  3. Sumit Mukherjee says:

    The motto of the software life cycle model is basically to provide the proper performance of the software with minimal cost. Now the six main activities of that cycles are mentioned on this article. Even the main six models of it are mentioned here. So, I suggest that before performing a good task please read the article for keeping some important issues in mind…

  4. Abhinav Shrivastava says:

    nice article….it will be veryy help full for the begginners …….computer engg….must refer this.

  5. Rashmi Rani says:

    This article clearly explains the software development cycle . Along with this diagrammatic representation description of each phase of the SDLC is given. The different types of software development models are elaborated and also its need.This will surely help you to understand SDLC.

  6. diya mukherjee says:

    software development is a pictorial representation of the different phases involved in development of a software product.this article provides every minute details of different life cycle models which includes different steps in that life cycle model, its merits and its demerits. It helps you understand them in a much simpler way.

  7. oishi chatterjee says:

    How well this article has explained about SDLC about its basic need ,benifit ,drawbacks and the other lifecycle models like waterfall model,prototype model. This topic is an very important part of software engineering subject. Its a structure that is imposed on development of software product. The software development activities in this article are not explained in a brief way ,i.e also a part of Software development process.

  8. Saheli Dasgupta says:

    How i wish this article was published last year when i had this very subject in my semesters. I could bet i would have scored a lot better! This is such an organized summary of software development life-cycle model. I quite brushed up my knowledge. The ideal model for software development is-‘the waterfall model’ which is then modified to make the various other models. I would suggest all computer engineers like me out there to go through this one definitely and brush up your knowledge, this piece has got the correct things in a nutshell. Very good work, i must say.

  9. SHRUTI PRIYA says:

    Knowledge fetching article…. Today in this world every body has its own life cycle…. now its turn for softwares…. check this article to know about SOFTWARE DEVELOPMENT LIFE CYCLE…. Its activities, components and benefits.

  10. Manisha Chawla says:

    Software Development Life Cycle (SDLC) describes all the necessary stages for the development of any software. Generally people who are interested in developing software do not have actual idea that what are the basic requirements of developing any software and how to develop them in right manner. This article explaining SDLC gives all the needed information.

  11. Seema Mishra says:

    SDLC is a framework that describes the activities performed at each stage of a software development project.The software industry includes many different processes, for example, analysis, development, maintenance and publication of software. This industry also includes software services, such as training, documentation, and consulting.
    This article is so helpful. I actually enjoyed reading through this article.

  12. sibanjan says:

    it is a structure imposed on the development of a software product.the international standard for describing the method of selecting, implementing and monitoring the life cycle for software is ISO/IEC 12207.Software life cycle models describe phases of the software cycle and the order in which those phases are executed.

« »