L2 Flashcards

1
Q

Q: What is a Software Development Process?

A

A: The process of translating user needs into a software product through requirements gathering, design, implementation, testing, and deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Q: What is a Software Process Model?

A

A: A structured method for developing software by organizing tasks into distinct steps for better management and tracking.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Q: What is the Waterfall Model?

A

A: A sequential software development model where each phase is completed before moving to the next.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Q: List the phases of the Waterfall Model.

A

Requirements Definition
System & Software Design
Implementation & Unit Testing
Integration & System Testing
Operation & Maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Q: What is the primary drawback of the Waterfall Model?

A

A: Early freezing of requirements and inflexible partitioning, which may lead to systems that do not fully meet user needs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Q: What is the main purpose of the Prototyping Model?

A

A: To address challenges in requirements gathering by developing an iterative prototype that users can evaluate and refine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Q: What are the key phases of the Prototyping Model?

A

A:

Requirements Gathering & Analysis
Quick Design
Build Prototype
Customer Evaluation
Design Refinement
Full-Scale Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Q: What are the drawbacks of the Prototyping Model?

A

A:

Prototypes may require significant rework.
Difficulties in creating complete prototypes for complex systems.
Risk of endless iteration (scope creep).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Q: What is the Spiral Model?

A

A: A risk-driven model that integrates iterative development with systematic risk assessment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Q: What are the four steps in each spiral layer?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Q: What are the drawbacks of the Spiral Model?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Q: When should the Waterfall Model be used?

A

A: When requirements are well-defined and unlikely to change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Q: When is the Prototyping Model useful?

A

A: When requirements are unclear or evolving, and user feedback is needed early.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Q: Why is the Spiral Model preferred for large projects?

A

A: It helps manage risks by continuously assessing and refining project phases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Q: What is Incremental Development?

A

A: A software development technique where requirements, design, implementation, and testing overlap in an iterative manner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Q: What are the benefits of Incremental Development?

A

A: Faster delivery, early user feedback, and more flexibility in requirements.

17
Q

Q: What is the Iterative Development Model?

A

A: A process where an initial subset of software is developed, then improved over multiple iterations based on feedback.

18
Q

Q: What is the main difference between Incremental and Iterative development?

A

A: Incremental development builds software in small, complete parts, while Iterative development builds an evolving system by refining previous versions.

19
Q

Q: What are two major drawbacks of the Iterative Process?

A

A:

Requires a small, focused team.
Needs early architectural decisions that are difficult to change later.

20
Q

Q: What is Agile Development?

A

A: A flexible, iterative approach to software development that emphasizes collaboration, customer feedback, and rapid delivery.

21
Q

Q: What is the Agile Manifesto?

A

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.

22
Q

Q: What are some core Agile principles?

A

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.

23
Q

Q: What are some examples of Agile frameworks?

A

A:

Scrum: Uses sprints, daily stand-ups, and customer-driven development.
Extreme Programming (XP): Features pair programming, automated testing, and user stories.

24
Q

Q: What is Scrum?

A

A: A framework for Agile development that organizes work into sprints with daily stand-up meetings to track progress.

25
Q

Q: When is Waterfall preferred over Incremental or Agile?

A

A: When requirements are well-defined, and regulatory or contractual obligations require a structured, predictive approach.

26
Q

Q: How does Agile differ from Waterfall?

A

A: Agile is adaptive and iterative, while Waterfall is predictive and sequential.