2.3 (SOFTWARE DEVELOPMENT MODELS) Flashcards

1
Q

Pros and cons of waterfall development model

A

Pros:
Simple and linear: Easy to understand and follow, with each stage progressing linearly to the next
Clear stages and milestones: Each phase has specific deliverables and milestones, making progress easy to measure
Suitable for well-defined projects: Works best when the requirements are clear and unlikely to change during development

Cons:
Inflexible: Changes are difficult to implement once the project has started, as the model doesn’t easily allow for revisiting previous stages
Expensive to fix late problems: If a problem appears later in the development cycle, it can be costly and time-consuming to fix
Long development cycle: The sequential nature may lead to a longer development time, especially if stages are delayed

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

Pros and cons of Agile/Extreme development model

A

Pros:
Highly adaptable: Can quickly respond to changes in requirements, even late in development
Frequent communication: Encourages constant communication between team members and stakeholders
Quality focus: Emphasizes technical excellence and good design, with continuous testing throughout the development cycle
Customer collaboration: Encourages working closely with customers to ensure the developed product meets their needs

Cons:
Requires experienced team members: Can be challenging to implement without knowledgeable and skilled developers
Intensive collaboration can lead to burnout: The constant communication and collaboration can be tiring for team members
May lack documentation: The focus on adaptability and immediate coding may result in insufficient documentation
Scope creep: The flexible nature may lead to uncontrolled changes in requirements

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

Pros and cons of spiral development model

A

Pros:
Flexibility: Allows for changes and adaptations at various stages of development
Risk management: Emphasizes risk assessment and mitigation, helping to identify and address issues early
Strong customer involvement: Encourages feedback and input from clients throughout the development process
Incremental releases: Provides early partial working solutions, enabling early usage and feedback

Cons:
Complexity: Can be more complex and harder to manage compared to other methodologies
Time-consuming: The emphasis on planning, risk management, and iterations may lead to a longer development process
Expensive: Often requires more resources, particularly in risk assessment and iterative design
Not suitable for small projects: The extensive planning and risk management might be overkill for simple or small-scale projects

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

Pros and cons of Rapid application development (RAD) model

A

Pros:
Speed: Enables rapid development and delivery of a high-quality system at a relatively low investment cost
User involvement: Clients are involved throughout the development process, ensuring that the system aligns with user needs and expectations
Flexibility: Allows for changes and adaptations to be made quickly as requirements evolve
Incremental development: Promotes development in small increments, with constant feedback and adaptation

Cons:
Dependent on strong team collaboration: Requires skilled and collaborative team members, which can be a challenge to assemble
Potential lack of quality: The focus on speed might lead to skipping rigorous testing or documentation, impacting the quality
Not suitable for small projects: The intense collaboration and iterative approach might be overkill for simple or small-scale projects
Can lead to scope creep: The flexible nature may lead to uncontrolled changes in requirements

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

When to use waterfall development model

A

Well-defined, small projects with stable requirements
suitable for novice programmers

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

When to use agile development model

A

Fast-paced projects with changing requirements
Experienced programmers required

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

When to use spiral development model

A

Complex projects needing extensive risk management
Long development times in which new technologies may develop

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

When to use rapid application development (RAD) model

A

Projects requiring quick delivery with active user participation

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