Software Life Cycle Models

Get Started. It's Free
or sign up with your email address
Software Life Cycle Models by Mind Map: Software Life Cycle Models

1. Agile Model

1.1. The Agile model is similar to the Iterative model in terms of breaking down the development of software into smaller, more manageable pieces. However it is different as it relies more on having the ability to adapt to any errors that may occur during development.

1.1.1. The Agile model is one of the most common software life cycle models that is currently used. Some advantages of this model includes, it offers general flexibility and teamwork to developers and it is relatively easy to manage with little planning required.

1.1.1.1. Although there are still a few disadvantages that this model deals with, such as; it may be difficult to maintain and sustain, as well as not being effective when applied to complex programs.

1.1.1.1.1. A scenario in which this model would be when developing basic software that was not incredibly complex as it would create the least number of errors through the development cycle

2. Linear Model

2.1. This model works by only performing a single task at a time before moving onto another task, without overlapping. The linear model was one of the first process models to be introduced, it is also known as the Waterfall model.

2.1.1. One of the major benefits of this model is the control that offers to the developer. Other advantages of this model includes; easy to understand and use, clear defined stages and progress is well documented.

2.1.1.1. A notable disadvantage of this model is that is does not allow for any form of revision on the software that was developed, as it is very hard to go back. Other disadvantages include; not suitable for long projects, difficult to maintain.

2.1.1.1.1. A scenario in which this model would be when developing basic software that was not incredibly complex as it would create the least number of errors through the development cycle

3. Iterative Model

3.1. The iterative model works by only developing one aspect of the entire program at a time and then slowly building on it with each phase until the software is fully developed.

3.1.1. An advantage of this model is that design flaws or errors could be identified and isolated at the very early stages of development, resulting in a more efficient development cycle. Other advantages include, the ability to obtain testing results early and risk analysis is much better.

3.1.1.1. One of the major disadvantages of this model is that it could only be applicable to large, corporate software as it is much more difficult to break down small, less complicated pieces of software into smaller components. Other disadvantages include, it can be very resource intensive and more complex than other models.

3.1.1.1.1. A scenario in which this model would be when developing a relatively simple software that could be broken up into smaller tasks and distributed to a team during the development cycle