What is sdlc?

SDLC is an acronym for Software Development Life Cycle. It is also sometimes referred to as System Development Life Cycle. In simple words it the process or method applied to create or alter software projects. Each of these methodologies defines unique way to create a new software module or program. So what basically are the sdlc methodologies? There are basically five common types of approach and methodologies which builds the foundation pillar of the SDLC, viz- Waterfall model, Incremental Model, Spiral model, Prototyping model and Win-Win Spiral Model.

SDLC Definition

SDLC is a process used by IT analysts in order to develop or redesign high quality software system which meets both the customer and the real world requirement taking into consideration all associated aspects of pros and cons of software testing, analysis and post process maintenance. Continue reading

Agile Vs Waterfall

Agile development undoubtedly offers advantages that a waterfall approach can’t begin to address. Where the waterfall approach is based in predictability and processes, an Agile approach focuses on adaptability and response time to changing requirements. Another important advantage of Agile over the waterfall model is the recursiveness of the work pattern. This means that we can make modifications to the completed stage in Agile while it is not allowed under waterfall model.

Agile Vs Waterfall Model

It is worth mentioning here that the Waterfall model is the primitive model type and has been implemented in the development phase time after time. Hence in the due course if time developers found many drawbacks in this model which were later rectified to form various other development models. Continue reading

Commonly asked Interview Questions with Answers

These are some of the most commonly asked Question by an interviewer on SDLC topic.

Interview Questions

1. What are the Disadvantages of Prototype Model?
Ans. Implementing the prototype model for creating the software has its disadvantages. Since it is being built out of concept, most of the models presented in early stage are not complete. They lack flaws that the developer still needs to work on them again and again. The Integration cannot be very difficult for prototype models. Hence this often happens when the other programs are already stable.

2. What is the difference between an Iterative model and the Waterfall model?

Ans. Waterfall Model is a flow based model, in which we pass every phase once, and can not go back to that phase again. Its most emminent drawback is that if there is any change in requirements, we cannott make any changes to the requirement section. Iterative Model is somewhat simialr to waterfall model but herein we can always come back to previous phases, and make the changes accordingly. Continue reading

Software Development Life Cycle Models and Methodologies

Different types of projects have different requirements. Therefore, it may be required to tailor the SDLC phases according to the specific needs of the project. This gives rise to various software development approaches. Continue reading

Spiral Model

The spiral Model includes the iterative nature of the prototyping model and the linear nature of the waterfall model. This approach is ideal for developing software that is revealed in various versions.

In each iteration of the spiral approach, software development process follows the phase-wise linear approach. At the end of first iteration, the customer evaluates the software and provides the feedback. Based on the feedback, software development process enters into the next iteration and subsequently follows the linear approach to implement the feedback suggested by the customer. The process of iteration continues throughout the life of the software. Continue reading

Error

During any part of the Software development life cycle phase, diverse error may get introduce in the software creation. This type of error can be broadly categorized into three different types –

  1. Leakage errors: These are the errors that are not detected at a particular stage in the development life cycle and are carried forward to the next stage.
  2. New Errors: In addition to the errors that leak into a particular stage from the previous stage, new errors may get introduced at every stage.
  3. Compatibility Errors: Sometimes two or more modules in a program work correctly when run in isolation but show erroneous results when integrated. These types of errors are called compatibility errors.

Prototyping Model

Prototyping approach, also known as evolutionary approach, came to picture because of failures that occurred in the final version of the software application developed using the waterfall approach. The failure generally occurs because of the changes in the requirement of the proposed system or because of the gap in understanding the customer requirement by the development team. A gap in the first version of the developed application, inevitably leads to the need for redoing the application. To overcome these limitations, the concept of prototyping was introduced. Continue reading

Win Win Spiral Model

The Win-Win spiral approach is an extension of the spiral approach. The phase in this approach is same as the phase in the spiral approach. The only difference is that at the time of the identifying the requirements, the development team and the customer hold discussion and negotiate on the requirements that need to be included in the current iteration of the software. Continue reading

Incremental Model

In an incremental Model, software requirements are initially broken downed into varied serviceable modules. These useable modules constitute a corresponding task gather. A send activity move is chainlike to rank the prompt units with a variety of activities to be performed in every operable effort. Every useful endeavor is implemented in an increment and the last product is achieved after all the useful units are implemented in the development process. Continue reading

Waterfall Model

The waterfall Model illustrates the software development process in a linear sequential flow. 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. Therefore, different projects may follow different approaches to handle such situations.

The waterfall approach is the earliest approach that was used for software development. Initially, most projects followed the waterfall approach because they did not focus on changing requirements. Continue reading