EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials Software Engineering Tutorial SDLC Methodologies
Secondary Sidebar
Software Engineering Tutorial
  • Basic
    • What is Software Engineering?
    • What is SDET
    • What Is SDLC
    • SDLC Methodologies
    • Software Classification
    • Software Design
    • Software Design Principles
    • Software Metrics
    • Utility Software Types
    • UI Design Tools
    • User Interface Design Principles
    • Architectural Design in Software Engineering
    • Software Configuration Management
    • Software Configuration Management Tools
    • What is Risk Management?
    • System Engineering
    • Object oriented programming paradigm
    • CASE Tools
  • Models
    • Prototype Model
    • What is Spiral Model
    • Waterfall?Model
    • Prototyping Tools
    • Incremental Model
    • Iterative Model
    • RAD Model
    • Fish Model
    • What is Scrum Methodology?
    • RUP? Methodology
    • COCOMO Model
    • Big Bang Model
    • System Models
    • People Capability Maturity Model
    • Analysis Modeling
    • User Interface Design
    • Capability Maturity Model Integration
    • What is Agile Development?
    • Agile Model Advantages and Disadvantages
    • Agile Process Model
    • Rational Unified Process
  • UML Daigram
    • StarUML
    • Architecture of UML
    • StarUML? Download
    • Types of UML Diagrams
    • UML Activity Diagram
    • UML Component?Diagram
    • UML Deployment Diagram
    • UML Diagram Softwares
    • UML Object?Diagram
    • UML Sequence Diagram
    • UML Use Case Diagram
    • State Diagram
    • Class Diagram
    • UML Dependency
    • UML Interaction Diagrams
    • Data Flow Diagrams
  • Advanced
    • Functional Point Analysis
    • Software Quality Control
    • Quality Assurance Tools
    • Prototype model advantages and disadvantages
    • UML Modelling Tools
    • Tomcat Server
    • Quality Software
    • UI Prototyping
    • Hybrid Model
    • Behavioral Model in Software Engineering
    • Flowchart symbols
    • Critical System
    • Legacy System
    • SOA Architecture
    • Software Quality Attributes
    • Software Maintenance
    • Software Cost Estimation
    • Software Inspection
    • Cohesion in Software Engineering
    • Coupling in Software Engineering
    • Component-based Software Engineering
    • Design Modeling in Software Engineering
    • Iterative Methodology
    • System Flow Diagram
    • Data Flow Architecture
    • SEICMM
    • Function Oriented Design
  • Interview Questions
    • Software Engineering Interview Questions
    • SDLC Interview Questions

Related Courses

Software Testing Course

Cyber Security Training

Software Development Course Training

SDLC Methodologies

By Priya PedamkarPriya Pedamkar

SDLC Methodologies

Introduction to SDLC Methodologies

SDLC Methodologies are a standard procedure or a method followed by the software industry to describe the way to defining, building, implementing, develop an application and it follows the software development life cycle(SDLC) process. It is also known as a blueprint for designing software. Depending on the project, we choose an appropriate methodology to develop it and it upgrades the quality of software and the Software development process. The software methodology is a part of software engineering, to develop a software application. It provides guidelines to develop an application.

Popular SDLC Methodologies

There are several types of SDLC methodologies or models, but here we discuss some popular SDLC Methodologies, such as:

1. Fish Model

It is a time-consuming and expensive SDLC model. Here both verification and validation are done parallel by the different teams.

Fish Model

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

It looks like fish so the model name shows the Fish model. In this model first, we go for Project Initiation Node (PIN) i.e. service level agreement would be signed for the starting of the project. Then the requirements are gathering from the client and analyze it, to prepare SRS (Software Requirement Specifications).In every step, we go for a review of the process i.e. verification. After that, we go for coding, Integration of module, acceptance, release, and maintenance of the development. For this process, we go for each level of testing i.e. validation.

All in One Software Development Bundle(600+ Courses, 50+ projects)
Python TutorialC SharpJavaJavaScript
C Plus PlusSoftware TestingSQLKali Linux
Price
View Courses
600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (86,818 ratings)

Advantages:

  • It provides a high-quality software product.
  • It is mostly used for secured projects.

Disadvantages:

  • It is a time-consuming process to develop the product.
  • It is expensive to process.

2. Waterfall Model

It is a rigid model, where requirements are fixed. So it is called the Sequential model. Here, until one phase is completed, we can’t go for the next phase.

Waterfall Model

In this model, after coding the planning, preparation and execution of the test are possible. So that is rigid and has a bottleneck activity of testing. (Less time for testing).

Advantages:

  • It is a straight model and simple.
  • It is easy to implement.

Disadvantages:

  • 100% requirements are needed at the beginning of the project and no change later.
  • Testing could become a bottleneck activity.
  • Late Validation.

3. V Model

It is also called the Overlapping model. In this model, every phase we have test preparation & planning is done simultaneously, after coding we go for execution.

v model

Advantages:

  • It produces a high quality of the product.
  • The testing process started early.

Disadvantages:

  • 100% requirements are needed at the beginning of the project and no change later.
  • It is a time consuming and expensive process.
  • Late Validation.

4. RAD Model

It stands for Rapid Application Development. In waterfall and V-model, one cycle of SDLC is required to complete the entire project, but in this model, multiple cycles of SDLC is required to complete the entire project. Here the project is broken down into the number of releases and for each release, there is one cycle of SDLC.So it is also called the Iterative model. In every release, the number of requirements should be the same. After all the releases are completed, then integrate it and go for integration testing. One module or release is completer then show to the client, keep aside i.e. without release. It overcomes all the problems of waterfall & V-model.

SDLC Metodologies

Advantages:

  • We don’t need 100% requirements at the beginning of the project.
  • Testing is not a bottleneck activity.
  • No late Validation by the client.

Disadvantages:

  • It is a complex model.
  • Late return on investment i.e. client can’t use the software even after complete earlier.

5. Incremental Model

It is also known as the Spiral model. In this methodology the project is broken down into different releases, at the end of each release, we show to the client, get it to approve and release the basic version of the software product. In this model, the testing process is complicated and takes much time as release version increases. So it is incremental in nature.

Requirements Requirements Requirements Requirements
Analysis Analysis Analysis Analysis
Design Design Design Design
Coding Coding Coding Coding
Testing Testing Testing Testing
Release  Version 1.1
Release  Version 1.2
Release  Version 1.3
Release  Version

1.4

Advantages:

  • Early Return of Investment (ROI).
  • The client can start to use the basic version of the software.

Disadvantages:

  • It is a complex model.
  • Time-consuming Testing process.
  • Risk of regression is more (side effect)

6. Agile Model

Nowadays this model is mostly preferred by software organizations to develop the application. It is the combination of the Iterative and Incremental model. Every release is broken into different small parts is called sprint and each sprint having one cycle of SDLC. The number of requirements should be varying in every sprint, at the last sprint we integrate the entire sprint and go for integration testing. For each sprint, there is a time limit (2 – 4 weeks) to complete. It is also known as an adaptive model.

Advantages:

  • It can deliver frequently and satisfy the client or customer.
  • Continuous attention for sustainable development.
  • The client can change or add the requirements at any stage of development.
  • It deals with self-organizing teams to work together.
  • It helps customer collaboration and responding to change.

Disadvantages:

  • It is an expensive model.
  • For a small project, it is not useful.

Conclusion

In this article, we discuss some popular SDLC methodologies briefly. Similarly, there are other SDLC methodologies like Lean model, DevOps model, Big Bang Model, etc. the selection of appropriate SDLC methodology for developing a software application is very important. The most popular SDLC methodology is Agile model.

Recommended Articles

This is a guide to SDLC Methodologies. Here we discuss the Introduction to SDLC Methodologies like Fish Model, RAD  Model, Waterfall Model, etc. along with Advantages and Disadvantages. You can also go through our other suggested articles to learn more –

  1. SDLC vs STLC
  2. What is Agile Testing?
  3. SDLC vs Agile
  4. SDLC Interview Questions
Popular Course in this category
Software Testing Training (11 Courses, 2 Projects)
  11 Online Courses |  2 Hands-on Projects |  65+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course

Related Courses

Cyber Security Training (10 Courses, 3 Projects)4.9
All in One Software Development Bundle (600+ Courses, 50+ projects)4.8
0 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

C# Programming, Conditional Constructs, Loops, Arrays, OOPS Concept

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more