1.2.3 - Software Development Flashcards
What happens during the analysis stage of the software development life cycle?
Stakeholders state what they require from the finished product.
What happens during the design stage of the software development life cycle?
The different aspects of the new system are designed including inputs, outputs and security features.
What happens during the development stage of the software development life cycle?
The design from the previous stage is used to develop the code for the project.
What happens during the testing stage of the software development life cycle?
The program is tested against the test plan formed in the design stage.
What happens during the implementation stage of the software development life cycle?
Once the testing stage has been used to make appropriate changes to the software, it is installed onto the user’s systems.
What happens during the evaluation stage of the software development life cycle?
The effectiveness of the software is evaluated against the system requirements.
What happens during the maintenance stage of the software development life cycle?
Any errors in the program are flagged up by the end-users and updates are created to maintain the software.
Name three different programming methodologies.
Waterfall lifecycle, agile, extreme programming, spiral and rapid application development.
Describe how the waterfall lifecycle model works.
The waterfall model is based on a series of stages that are completed in sequence from start to finish.
Describe how the agile methodologies work.
The problem is broken down into sections that are developed in parallel. The sequence is iterated until the project is complete.
Describe how extreme programming works.
The development team consists of a pair of programmers alongside a representative end-user.
Describe how the spiral model works.
The spiral model iterates the analysis, risk assessment, implementation and evaluation stages until the project is finished.
Describe how the rapid application development model works.
RAD is an iterative methodology that uses partially functioning prototypes that are continually built upon.
What are the advantages of using the waterfall lifecycle model?
Straightforward to manage.
Clearly documented.
What are the disadvantages of using the waterfall lifecycle model?
Lack of flexibility.
No risk analysis.
Limited user involvement.
What are the advantages of using the agile model?
Produces high-quality code.
Flexible to changing requirements.
Regular user input.
What are the disadvantages of using the agile model?
Poor documentation.
Requires consistent interaction between the user and the programmer.
What are the advantages of using extreme programming?
Produces high-quality code.
Constant user involvement means high usability.
What are the disadvantages of using extreme programming?
High cost of two people working on one project.
Teamwork is essential.
End-user may not be able to be present.
What are the advantages of using the spiral model?
Thorough risk analysis and mitigation.
Caters to changing user needs.
Produces prototypes throughout.
What are the disadvantages of using the spiral model?
Expensive to hire risk assessors.
Lack of focus on code efficiency.
High costs due to constant prototyping.
What are the advantages of using rapid application development?
Caters to changing user requirements.
Highly usable finished product.
Focuses on core features to reduce development time.
What are the disadvantages of using rapid application development?
Poorer quality documentation.
The fast pace may reduce code quality.
What is Alpha testing?
Testing carried out in-house by the software development teams within a company
What is beta testing?
Testing carried out by end-users.
Feedback from users is used to inform the next stage of development
What is white box testing?
Testing carried out by software development teams in which the test plan is based on the internal structure of the program.
All of the possible routes through the program are tested
What is black box testing?
Testing without the testers being aware of the internal structure of the software, carried out by the company and end-users.
The test plan traces through inputs and outputs within the software.