Paper 1 Mod 2 Flashcards
What is a software development methodology?
A structured and controlled framework used to plan, manage, and guide the process of creating an information system.
What are the key characteristics of software development methodologies?
They have the same final outcome and similar stages, but differ in approach and teamwork dynamics.
List five software development methodologies you need to be aware of.
- Waterfall
- Agile
- Extreme Programming
- Spiral
- Rapid Application Development
Describe White Box Testing.
Uses detailed insider knowledge of the target system to improve tests and utilizes the source code.
What are the benefits of White Box Testing?
- Leads to deep and more detailed testing
- Requires less testing time
- Tests quality of code and app design
Describe Black Box Testing.
Requires no previous information and takes the approach of an uninformed attacker without access to the source code.
What are the benefits and disadvantages of Black Box Testing?
- Benefits: Simulates a realistic scenario
- Disadvantages: Tests take longer and some areas may remain untested
What is the Waterfall methodology?
A traditional methodology involving a linear plan where each task feeds into the next.
What is a major drawback of the Waterfall methodology?
It is rigid and does not allow going back to previous stages once completed.
What are the four phases of the Spiral Methodology?
- Planning
- Risk Analysis
- Engineering
- Evaluation
What is a key focus of the Spiral Methodology?
Risk management and adaptability to changing requirements.
What is the Agile methodology?
Breaks projects into dynamic phases called sprints, using an iterative approach.
What is the role of teamwork in Agile methodology?
Teamwork and collaboration are central, with constant communication and customer involvement.
Describe Extreme Programming.
A form of agile development emphasizing frequent releases and short development cycles.
What is Test Driven Development in Extreme Programming?
Tests are written before the code to ensure requirements are met.
What is Rapid Application Development (RAD)?
A methodology that focuses on fast project completion and prototype creation with minimal planning overhead.
What are some key features of Rapid Application Development?
- Swift creation of prototypes
- Minimal planning overhead
- Workshops with little documentation
- Reuse of software components
Fill in the blank: Agile methodology adapts to _______.
[changes in requirements]
True or False: The Waterfall methodology is flexible and allows for changes at any stage.
False
What does the Spiral Methodology allow for after each evaluation phase?
Begins a new planning phase informed by evaluation results.
What is a key benefit of using prototypes in RAD?
Constant feedback until the prototype becomes the final product.