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 DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Modern Principles Of Software Development
- Software Engineering | Project size estimation techniques
- Types of Software Testing
- Software Testing | Basics
- Software Engineering | Architectural Design
- Software Engineering | Halstead’s Software Metrics
- Beta Testing | Software Testing
- Software Engineering | Debugging Approaches
- Personal Software Process (PSP)
- Pairwise Software Testing
- Software Engineering | COCOMO Model
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classical Waterfall Model
- Software Engineering | Iterative Waterfall Model
- Software Engineering | Spiral Model
- Software Engineering | Requirements Engineering Process
- Software Engineering | Requirements Elicitation
- Software Engineering | System configuration management
- Software Engineering | Challenges in eliciting requirements
- Software Engineering | Classification of Software
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. 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.