3.1.11 Software Development Life Cycle Flashcards
what are the 5 steps of the SDLF?
- specification requirements/ analysis
- design
- implementation
- testing
- evolution/ maintenance
what happens during the specification requirements/ analysis stage?
the programmers, designers and the clients discuss the needs of the user so it is clear what is required
what happens during the design stage?
the solution is planned, using the specification discussed in the previous section
what happens during the implementation stage?
the designs are turned in code
what happens during the testing stage?
written code is tested against the specification to ensure the code provides a solution to the problem
what happens during the evolution/ maintenance stage?
changes/upgrade that the software goes through after it is delivered to the client
advantages of the cyclical model {4}
- Clear defined stages.
- Simple to understand and use.
- Well understood stages.
- Easy to arrange tasks.
disadvantages of the cyclical model {4}
- It’s difficult to measure progress within stages.
- Cannot accommodate changing requirements.
- No working software is produced until late in the cycle
- Risk and uncertainty is high
what is the waterfall model?
each phase must be completed before the next phase can begin
advantages of the waterfall model {4}
- Simple and easy to use.
- Easy to manage due to the rigidity of the model
- Phases are processed and completed one at a time.
- Works well for smaller projects where requirements are very well understood.
disadvantages of the waterfall model {6}
- Lack of flexibility
- No working software is produced until late during the life cycle.
- High amounts of risk and uncertainty.
- Poor model for complex, object-oriented and long projects.
- Can be difficult to go back a step if needed.
- Poor model where requirements are at a high risk of changing.
what is the spiral model?
four phases: Planning, Risk Analysis, Engineering and Evaluation.
The software project repeatedly passes through these phases in iterations
advantages of the spiral model {5}
- High amount of risk analysis
- Good for large and mission-critical projects.
- Software is produced early in the software life cycle.
- More client consultation
- Ability to return and fix problems.
disadvantages of the spiral model {4}
- Can be a costly model to use.
- Risk analysis requires highly specific expertise.
- Project’s success is highly dependent on the risk analysis phase.
- Doesn’t work well for smaller projects.
what is the incremental model?
more than one development cycle occurs at a time, which are divided up into smaller, more easily managed iterations that passes through all the stages except maintenance (i.e requirements, design, implementation, testing)
advantages of the incremental model {4}
- Generates working software quickly and early during the software life cycle.
- More flexible – less costly to change scope and requirements.
- It is easier to test and debug during a smaller iteration.
- Easier to manage risk because risky pieces are identified and handled during it’d iteration.
disadvantages of the incremental model {4}
- Needs good planning and design.
- Each phase of iteration is rigid and doesn’t overlap any other
- Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
- Total cost is higher than waterfall.
what is the v-shaped model?
Each phase must be completed before the next phase begins. Testing of the product is planned in parallel with a corresponding phase of development.
what does the angular component and radius of a spiral model represent?
angular component represents progress
radius represents cost
advantages of the v-shaped model {4}
- Simple and easy to use.
- Testing activities like planning, test designing happens well before coding. This saves a lot of time so a higher chance of success over the waterfall model.
- Defects are found at an early stage.
- Works well for small projects where requirements are easily understood.
disadvantages of the v-shaped model {4}
- Very rigid
- Software is developed during the implementation phase, so no early prototypes of the software are produced.
- little flexibility so adjusting scope is difficult and expensive
- doesn’t provide a clear path for problems found during the testing phase
what does the v-shaped model look like?
specification———review/test——–operational
requirements testing
\ /
high lvl design—-review/test—–integration
\ testing
detailed spec—— test——unit testing
\ /
implementation