Entire software Development Lifecycle

Entire software development life cycle

Types of Software development life cycles (SDLC)

·        Waterfall Model

·        V-Shaped Model

·        Evolutionary Prototyping Model

·        Spiral Method (SDM)

·        Iterative and Incremental Method

·        Extreme programming (Agile development)


Waterfall Model:

The waterfall Model is a linear sequential flow. In which progress is seen as flowing steadily downwards (like a waterfall) through the phases of software implementation. This means that any phase in the development process begins only if the previous phase is complete. The waterfall approach does not define the process to go back to the previous phase to handle changes in requirement. The waterfall approach is the earliest approach that was used for software development.

Requirement--> Design-->Development-->Testing-->Release

The Usage: Projects don't focus on changing the requirements, for example, projects initiated from requests for proposals (RFPs)

V-Shaped Model:

It is an extension of the waterfall model, Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The major difference between v-shaped model and waterfall model is the early test planning in the V-shaped model.

The Usage

·        Software requirements clearly defined and known

·        Software development technologies and tools are well-known


Prototyping Model:

It refers to the activity of creating prototypes of software applications, for example, incomplete versions of the software program being developed. It is an activity that can occur in software development. It used to visualize some component of the software to limit the gap of misunderstanding the customer requirements by the development team. This also will reduce the iterations may occur in waterfall approach and hard to be implemented due to the inflexibility of the waterfall approach. So, when the final prototype is developed, the requirement is considered to be frozen.

Spiral Method (SDM):

It is combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects. This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations.

The Usage: It is used in shrink-wrap large applications and systems which built-in small phases or segments.

Iterative and Incremental Method:

It is developed to overcome the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interactions in between. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during the development of earlier parts or versions of the system.

The Usage: It is used in shrink-wrap application and large system which built-in small phases or segments. Also can be used in a system has separated components, for example, ERP system. Which we can start with the budget module as a first iteration and then we can start with an inventory module and so forth.

Extreme programming (Agile development):

It is based on iterative and incremental development, where requirements and solutions evolve through collaboration between cross-functional teams.

The Usage: It can be used with any type of the project, but it needs more involvement from the customer and to be interactive. Also, it can be used when the customer needs to have some functional requirement ready in less than three weeks.


要查看或添加评论,请登录

Abhishek Pandey的更多文章

  • Is there any difference between Quality Assurance and Software Testing?

    Is there any difference between Quality Assurance and Software Testing?

    What is Software Quality Assurance? Software Quality Assurance is an approach which contains a proper order or a…

  • JMeter

    JMeter

    1) What is JMeter: · The Apache JMeterTM is pure Java open source software · JMeter designed to load test functional…

  • Selenium Introduction

    Selenium Introduction

    Selenium Introduction: Selenium is an open source (Free) automated testing suite for web applications across different…

  • Top 11 Difference Between Developer and Tester

    Top 11 Difference Between Developer and Tester

    Simple and Best Difference between Developer and Tester Software Developer Software Tester 1. A good developer is one…

  • Interview Questions and their best possible answers

    Interview Questions and their best possible answers

    Interview Questions and their best possible answers Q.No 1) Why should we hire you? Ans.

  • Agile Methodology

    Agile Methodology

    Agile is a methodology for software development. The main feature of agile is that it works on Time Limited Module.

社区洞察

其他会员也浏览了