Open In App

Advantages and Disadvantages of various Software Models

Last Updated : 22 Mar, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Software Model is an abstract representation of the process. Each phase in the software model consists of various activities to develop software products gradually. It also specifies the order in which each phase must be executed. 

These are various software engineering models and their advantages and disadvantages – 

1. Waterfall Model : 
It requires a well understanding and knowledge of requirements and technology related to it. 

Advantages : 
 

  • It is very easy and convenient to implement the waterfall model.
  • For implementation of small systems, it is very useful.

Disadvantages : 
 

  • It may cause some confusion if some of the changes are made at some phases.
  • Firstly, the requirement analysis is done and in the beginning, sometimes it is not possible to state all the requirements explicitly.
  • Only at the end, the customer can see the working model of the project.
  • Linear nature of the waterfall model induces blocking states.

2. Spiral Model : 
It is developed in iterations and used for risk management. Hence, at new iterations, the requirements can be recognized. 

Advantages : 
 

  • By construction of prototype, the working model of the system can be designed quickly.
  • During the development stage, Project can be refined by developer and user.
  • Involvement of user in the project.
  • It is very Cost-effective and easy to maintain.
  • Risk analysis and reduction can be done systematically and in a proper manner.
  • Well planned and efficient project development.

Disadvantages : 
 

  • In series of increments, Software gets developed.
  • If communication with customer is not well or proper then it results in total project failure or non-success or project that might leads to omission of the project.

3. Incremental Model : 
It is a process of software development and focuses on short successive iterations. 

Advantages : 
 

  • If less number of people are available for project development, then this model is very useful.
  • Technical risks can be managed effectively and in a well-organized manner.
  • The core or final product can be shown to the customer within a small duration of time.

Disadvantages : 
 

  • Highly and fully committed developers and customers are required for this project.
  • Adopting new technologies and developing the project using this model is very difficult and problematic.
  • Heavy resources can be required.

 


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads