L2 Flashcards
Q: What is a Software Development Process?
A: The process of translating user needs into a software product through requirements gathering, design, implementation, testing, and deployment.
Q: What is a Software Process Model?
A: A structured method for developing software by organizing tasks into distinct steps for better management and tracking.
Q: What is the Waterfall Model?
A: A sequential software development model where each phase is completed before moving to the next.
Q: List the phases of the Waterfall Model.
Requirements Definition
System & Software Design
Implementation & Unit Testing
Integration & System Testing
Operation & Maintenance
Q: What is the primary drawback of the Waterfall Model?
A: Early freezing of requirements and inflexible partitioning, which may lead to systems that do not fully meet user needs.
Q: What is the main purpose of the Prototyping Model?
A: To address challenges in requirements gathering by developing an iterative prototype that users can evaluate and refine.
Q: What are the key phases of the Prototyping Model?
A:
Requirements Gathering & Analysis
Quick Design
Build Prototype
Customer Evaluation
Design Refinement
Full-Scale Development
Q: What are the drawbacks of the Prototyping Model?
A:
Prototypes may require significant rework.
Difficulties in creating complete prototypes for complex systems.
Risk of endless iteration (scope creep).
Q: What is the Spiral Model?
A: A risk-driven model that integrates iterative development with systematic risk assessment.
Q: What are the four steps in each spiral layer?
A:
Determine Objectives – Define goals, constraints, and risks for the phase.
Assess and Reduce Risks – Analyze risks and take measures to mitigate them.
Develop and Validate – Select and apply an appropriate development approach.
Review and Plan – Evaluate progress and decide the next steps
Q: What are the drawbacks of the Spiral Model?
A:
High documentation and meeting overhead.
Requires experienced teams for effective risk assessment.
Not a strict development model but a meta-model guiding project execution.
Q: When should the Waterfall Model be used?
A: When requirements are well-defined and unlikely to change.
Q: When is the Prototyping Model useful?
A: When requirements are unclear or evolving, and user feedback is needed early.
Q: Why is the Spiral Model preferred for large projects?
A: It helps manage risks by continuously assessing and refining project phases.
Q: What is Incremental Development?
A: A software development technique where requirements, design, implementation, and testing overlap in an iterative manner.
Q: What are the benefits of Incremental Development?
A: Faster delivery, early user feedback, and more flexibility in requirements.
Q: What is the Iterative Development Model?
A: A process where an initial subset of software is developed, then improved over multiple iterations based on feedback.
Q: What is the main difference between Incremental and Iterative development?
A: Incremental development builds software in small, complete parts, while Iterative development builds an evolving system by refining previous versions.
Q: What are two major drawbacks of the Iterative Process?
A:
Requires a small, focused team.
Needs early architectural decisions that are difficult to change later.
Q: What is Agile Development?
A: A flexible, iterative approach to software development that emphasizes collaboration, customer feedback, and rapid delivery.
Q: What is the Agile Manifesto?
A: A set of values prioritizing:
Individuals & interactions over processes & tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.
Q: What are some core Agile principles?
A:
Deliver working software frequently.
Welcome changing requirements, even late in development.
Build projects around motivated individuals.
Prioritize face-to-face communication.
Working software is the primary measure of progress.
Maintain a sustainable development pace.
Q: What are some examples of Agile frameworks?
A:
Scrum: Uses sprints, daily stand-ups, and customer-driven development.
Extreme Programming (XP): Features pair programming, automated testing, and user stories.
Q: What is Scrum?
A: A framework for Agile development that organizes work into sprints with daily stand-up meetings to track progress.
Q: When is Waterfall preferred over Incremental or Agile?
A: When requirements are well-defined, and regulatory or contractual obligations require a structured, predictive approach.
Q: How does Agile differ from Waterfall?
A: Agile is adaptive and iterative, while Waterfall is predictive and sequential.