Mind map
The Software Development Life Cycle

Map content
The Software Development Life Cycle
Software Development
- Types of Software
- Generic - Can be used for more than 1 task (e.g. A word processing application)
- Specific - Designed to meet a particular need or solve a specified problem
- Driven by the need or specification of the client
- Must solve the problem/meet the specified requirements
- Properties of Software Development
- Complex - Development requires more than just writing code. A programmer must be able to understand each process and work as part of a team to reach the goal of the process
- Expensive - The software development process carries on even after the software is being used. The software will generally be maintained and updated in order to keep it relevant for as long as possible.
- Eventually the software will become obsolete and the development process will begin anew. Because software follows a trend of development and growth followed by replacement, the process of development is known as a life cycle.
- Types of Software
Life Cycle
- Models
- Waterfall
- Advantages
- Simple and straightforward
- Easy for developers to understand where they currently stand in the process
- Each stage has a clear output
- Disadvantages
- Many believe that the waterfall model is not an accurate representation of the real development process
- No need to wait for 1 stage to finish before the next stage can begin
- Stages can overlap
- Testing may show errors in the code, so the implementation (coding) stage must begin again to fix the issues
- Many believe that the waterfall model is not an accurate representation of the real development process
- Advantages
- Cyclical
- Similar to the waterfall model however takes into account the fact that the software needs to be kept up to date
- Ends with evaluation of how well the software meets the requirements. This may lead to a re - analysis of the requirements and the process may begin again.
- Advantages
- Clear and well defined
- Easily understandable
- Shows a constant life cycle and not a linear decline
- Clear and well defined
- Disadvantages
- Also seen as too 'rigid' as modern software may be developed as different modules
- Different modules may be at different developmental stages
- Shows a process that follows 1 direction, however the process can go the other way in real life e.g if Implementation leads to changes in the design of the code
- Also seen as too 'rigid' as modern software may be developed as different modules
- Similar to the waterfall model however takes into account the fact that the software needs to be kept up to date
- Spiral Model
- A cycle that doesn't return to the same position each time
- Each turn or 'Iteration' of the cycle has a greater cost, risk and complexity
- Each iteration includes many tasks shown by the 4 quarters of the spiral
- After each turn the software becomes more developed (e.g at the first iteration a concept is made, at the second iteration a prototype is made, then at the third iteration the finished product is developed
- Each iteration includes many tasks shown by the 4 quarters of the spiral
- Each turn or 'Iteration' of the cycle has a greater cost, risk and complexity
- Advantages
- Each stage requires careful planning and testing
- Less rigid than the other 2 models
- Allows for more design and testing at each iteration
- Disadvantages
- Slow and Expensive to follow
- Hard to understand and see where you currently lie in the process
- Not always clear how much work there is to do
- A cycle that doesn't return to the same position each time
- Waterfall
- Developers use models to keep track of and control the software life cycle
- Models are used to give the developer an idea of where they currently stand in the software development life cycle and it shows them what to do at any given process.
- The choice of model is dependant on the time available and the complexity of the product. Some teams will pick and choose from different models to suit their needs.
- Models
Images and files in the map
Information
- Description
- GCSE Computer Science Mind Map on The Software Development Life Cycle, created by ChristOnABike on 29/03/2015.
- Created by
- ChristOnABike
- Views
- 2
- Rating

