1.2.3 Software Development Flashcards
1
Q
- How does the waterfall methodology compare to agile methodologies?
A
- Waterfall makes use of a inflexible set of stages, beginning with a feasibility study. Making changes involves revisiting all previous stages.
- Agile methodologies focus on improving flexibility and including more user feedback. Prototypes are made and improved iteratively. Lower focus on documentation.
2
Q
- How does the Extreme Programming model work?
A
- Makes use of paired programming alongside a representative user.
- Focus on high-quality code and constant user feedback.
- Each iteration generates a working version of the final product, then returns to further improve.
3
Q
- How does the Spiral model work?
A
- Built on 4 key stages; analysis, risk assessment, implementation, evaluation.
- These 4 stages are repeated, unless a risk assessment deems the project too risky to continue.
4
Q
- How does the Rapid Application Development model work?
A
- User requirements assessed in a focus group.
- Iterative prototypes are continually built into a final product.
- User feedback shapes the requirements of the following iteration.
5
Q
- What are the advantages and disadvantages of the waterfall model?
A
+ Straightforward, clearly documented.
- Inflexible, no risk analysis, limited user involvement.
6
Q
- What are the advantages and disadvantages of the XP model?
A
+ Produces high quality code, flexible to changes, regular user input, high usability.
- Expensive, requires good teamwork and a lot of time from the user.
7
Q
- What are the advantages and disadvantages of the spiral model?
A
+ Thorough risk analysis, flexible, producing prototypes throughout.
- Expensive to hire risk assessors, lack of focus on code, prototyping is expensive.
8
Q
- What are the advantages and disadvantages of the RAD model?
A
+ Flexible to change, highly usable end product, focus on core features reduces dev time.
- Poor quality documentation, and fast pace may reduce code quality.
9
Q
- What are the typical stages of the software development lifecycle?
A
- Feasibility Study/Analysis, Design, Development/Implementation, Testing, Evaluation, and Maintenance.
10
Q
- What are the 4 types of testing in software development?
A
- Alpha: In-house, bugs hunted and fixed.
- Beta: End-users give feedback for development.
- White Box: Carried out by dev teams following an internal plan. Tests all program routes.
- Black Box: Dev testers, unaware of internal structure. Also traces software I/O for issues.