GoConqr has a new look! Let us know what you think.

Mind map

The Software Development Life Cycle

ChristOnABike Computer Science GCSE English

The Software Development Life Cycle

Map content

The Software Development Life Cycle

  1. 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.
  2. 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
      • 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
        • 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
      • 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
        • 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
    • 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.

Images and files in the map

  • The Software Development Life Cycle
  • The Software Development Life Cycle
  • The Software Development Life Cycle

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

Feedback

What is it about?

What do you think of the new look?

How do you like it?