1.2.3 - Introduction to programming Flashcards
What is the SDLC?
The systems development life cycle defines the main software development stages.
What is the waterfall lifecycle?
In the early days of systems development, the stages of a project were carried out sequentially.
This meant that the entirety of each stage had to be completed, formally documented, discussed, agreed, and signed off before the next stage could begin.
This has been described as the waterfall lifecycle
What is the order of stages in the waterfall lifecycle?
Analysis Design Development Testing Implementation Maintenance
What are the advantages of the waterfall lifecycle methodology?
The approach is well structured and well understood.
Having clearly defined stages makes the project easier to plan.
There are clean lines of responsibility.
Large projects can be split into a set of smaller subprojects, each with their own waterfall.
What are the advantages of the waterfall lifecycle methodology?
The approach is well structured and well understood.
Having clearly define
What are the disadvantages of the waterfall lifecycle methodology?
The waterfall method is criticised for its rigidity, the large volumes of documentation it requires, and the lack of user involvement.
When is the client involved with the waterfall lifecycle methodology?
The client is involved in signing off on the analysis and evaluation, but has little input during the design and build stages of the project.
What is the waterfall lifecycle heavily dependent on?
Accurate specification of the requirements. However, often the client cannot fully articulate what is wrong with the system or what they really want.
They may not understand technological capabilities or the risks of being “early adopters”.
Also, sometimes the development stage takes so long that original requirements no longer reflect what is needed.
What is the issue with the testing phase in the waterfall lifecycle?
The testing phase is scheduled towards the end, meaning if defects are found there may not be sufficient time to address them. The stakeholders can’t review the end product until after release.
What is the spiral model development method?
The spiral model is a development method that uses the same steps as the waterfall method, but also uses project cycles, each culminating in a version of the software (a prototype) that is formally reviewed to inform the next cycle. This pattern is repeated until the final product is created.
What is each cycle split into in the spiral model?
Determine objectives
Identify and resolve risks
Develop and test
Plan the next iteration.
What is a key difference between the spiral method and others?
The risk management stage is a key difference between the spiral method and other approaches. In any iteration, if the risks cannot be managed successfully, the project can be stopped.
What is the main benefit of the spiral method?
The emphasis on risk management makes the spiral approach suitable for large-scale, high-risk projects. These could be projects with new technologies or multiple organisations involved.
What is the main criticism of the spiral method?
Project teams will need to include a risk management expert, which adds to the cost of the project.
What is the agile project methodology?
The agile approach advocates building prototypes, testing, and incorporating feedback as soon as possible.
Once a prototype is built, it is reviewed to see what is good or bad about it.
At the next stage, the prototype can be modified and new features can be added if required.
What is the agile project’s principles around software?
1) Deliver working software frequently, form a couple of weeks to a couple of months with a preference to the shorter timescale.
2) The primary measure of progress is working software.
What is the agile project’s principles around requirements and customers?
1) Welcome changing requirements even late in development.
2) Business people and developers must work together daily through the project.
What is the agile project’s principles around design?
Simplicity - maximising the amount of work not done - is essential.
Sustainable development - everyone should be able to maintain a constant pace indefinitely..
What are the negatives of the agile approach?
It can give rise to scope creep - where the client continually adds to the requirements when each prototype is evaluated.
Some argue it is only suitable for small projects, however big projects can be decomposed so work is allocated across multiple teams and separately managed.
What is Rapid Application Development?
This is an agile approach to software development largely based around prototyping, putting less emphasis on rigid planning and more on the adaptive process.
What is a prototype?
A prototype is a version of the system that lacks functionality. It can be shown to the user, who can give feedback, informing the development process, and is often easier to understand than paper sketches.