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.
- It is very easy and convenient to implement the waterfall model.
- For implementation of small systems, it is very useful.
- 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 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.
- 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 if 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.
- 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 the short and development cycle.
- If number of people are less 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 small duration of time.
- 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.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Advantages and Disadvantages of Critical Path Method (CPM)
- Advantages and Disadvantages of Automated Testing
- Advantages and Disadvantages of using Spiral Model
- Advantages and Disadvantages of Prototype model
- Agile Methodology Advantages and Disadvantages
- Advantages and Disadvantages of Pareto Chart
- Advantages and Disadvantages of Root Cause Analysis
- Software Maintenance and Various Software Maintenance Tables
- Software Engineering | Comparison between Agile model and other models
- Advantages of Prototyping approach in Software Process
- Software Engineering | Comparison of different life cycle models
- Software Engineering | Curve Fitting models
- Software Engineering | Agile Development Models
- Software Engineering | Reliability Growth Models
- Cost Estimation Models in Software Engineering
- Various aspects of Software Testing
- Various Approaches of Partitioning
- Various Stages of WIN-WIN Spiral Model
- Various Phases of RAD Model
- Various Activities of SDLC
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.