1.2.3 Software development Flashcards

(44 cards)

1
Q

Waterfall model?

A

The Waterfall Model is a linear, sequential software development process divided into distinct phases where each phase must be completed before the next one begins.

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

Steps in the waterfall lifecycle model?

A

Requirement gathering and analysis

System design

Implementation

Integration and Testing

Deployment

Maintenance

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

1st stage of waterfall lifecycle?

A

Requirement Gathering and Analysis: All possible system requirements to be developed are captured and documented clearly

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

2nd stage of waterfall lifecycle?

A

System Design: The requirements are translated into a design.

Architects and designers define the overall architecture and identify the main components

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

3rd stage of waterfall lifecycle?

A

Implementation: The actual code is written based on the design documents

Turning the system design into a functional program

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

4th stage of waterfall lifecycle?

A

Integration and testing: All the components and modules are integrated and tested to ensure that the entire system works as expected

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

5th stage of waterfall lifecycle?

A

Deployment: The product is released to the market or handed over to the client.

It may involve installation, customization, and training

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

6th stage of waterfall lifecycle?

A

Maintenance: Post-release, the system needs regular maintenance

In order to fix bugs, improve performance, or add new features

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

Benefits of waterfall model?

A

Simple and linear

Clear stages and milestones- progress is easy to measure

Suitable for well-defined projects

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

Drawbacks of waterfall model?

A

Inflexible: changes are hard to implement once the project has started

Expensive to fix late problems

Long development cycle

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

What is the waterfall model most suitable for?

A

Projects where requirements are unlikely to change and clear to understand

When high quality is essential

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

What is the agile extreme programming model?

A

A type of agile ITERATIVE software method that promotes adaptability and high customer involvement

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

Stages of extreme programming?

A

Identify user stories and requirements

Plant the sprint

Design the solution

Develop new features

Test continuously

Review sprint progress

Sprint retrospective

Release

Repeat

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

1st stage in the extreme programming model

A

Identify user stories and requirements

Work closely with stakeholders to gather functional and non-functional requirements

Requirements are often written as user stories

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

2nd stage in the extreme programming model

A

Plan the sprint (Sprint Planning)

Break down requirements into tasks

Choose a set of tasks (features) for the current sprint (a short time-boxed development period, usually 1–4 weeks)

Define the sprint goal

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

3rd stage in the extreme programming model

A

Design the solution

Decide how the selected features will be built

Focus is on simple and adaptable design, not heavy upfront documentation

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

4th stage in the extreme programming model

A

Develop the features

Write code for the selected tasks in the sprint

Developers often work in pairs or small teams

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

5th stage in the extreme programming model

A

Test continuously

Perform unit testing, integration testing, and acceptance testing during the sprint

Testing is ongoing, not saved for the end

19
Q

6th stage in the extreme programming model

A

Review progress (Sprint Review)

Demo the working software to stakeholders

Collect feedback and identify changes or improvements

20
Q

7th stage in the extreme programming model

A

Reflect on process (Sprint Retrospective)

The team reflects on what went well and what needs improving in the next sprint

Focus is on team performance and process optimisation

21
Q

Last 2 stages of the extreme programming model

A

Release (may happen after every sprint or set of sprints)

Deploy working software to users or staging environment

Repeat

Move to the next sprint with updated priorities and feedback

22
Q

Benefits of the extreme programming model?

A

Highly adaptable- responding quickly to changes

Frequent communication

High quality focus

Customer Collaboration

23
Q

Drawbacks of the extreme programming model?

A

Requires experience team members

Intensive collaboration can lead to burnout

May lack documentation due to a focus on immediate coding

There can be uncontrolled changes in requirements

24
Q

What is extreme programming most suitable for?

A

Small to medium-sized projects

Because requirements can change and customer involvement is high

25
Spiral model?
A CYCLIC software development method that combines aspects of both agile and waterfall processes.
26
Stages in the spiral model?
Planning Risk analysis Engineering Evaluation and Feedback The process repeats, spiralling through these stages, with each spiral loop representing a development phase until the final product is ready
27
1st stage of the spiral model?
Planning: Define the objectives, alternatives, and constraints for the current phase of the project
28
2nd stage of the spiral model
Risk analysis: Identify and assess potential risks, and plan mitigation strategies
29
3rd stage of the spiral model
Engineering: Develop the next version of the product, including design, coding, testing, and integration
30
4th stage of the spiral model
Evaluation and feedback: Review the progress with stakeholders, and plan the next iteration
31
Benefits of the spiral model?
Flexibility-Allows for changes Risk management- address issues early Strong customer involvement Incremental releases- early usage and feedback
32
Drawbacks of the spiral model?
Complexity Time consuming Expensive Not suitable for small projects
33
Suitability of the spiral model?
Most suitable for large complex projects Where requirements may change, and risk management is essential
34
What is rapid application development?
A phase-based software development method that emphasises fast and iterative development
35
Stages of rapid application development?
Requirement planning User design and prototyping Iterative development (Construction) Cutover / deployment Maintenance and updates
36
1st stage of rapid application development?
Requirement planning: Gather general system requirements, define constraints and assumptions
37
2nd stage of rapid application development?
User design and prototyping: Collaborate with users to develop prototypes, ensuring alignment with user needs
38
3rd stage of rapid application development?
Construction or iterative development: Build the system incrementally, with continuous user feedback and adaptation
39
4th stage of rapid application development?
Cutover or deployment: Transition the product into the live environment, including user training, support, and documentation
40
5th stage of rapid application development?
Maintenance and updates: Continue to adapt and improve the system based on user feedback and needs
41
Benefits of rapid application development?
Speed User involvement Flexibility Promotes development in small increments, with constant feedback and adaptation
42
Drawbacks of rapid application development?
Dependent on strong team collaboration Potential lack of quality Not suitable for small projects- overkill Can lead to scope creep
43
Scope creep?
When the flexible nature of a model leads to uncontrolled changes in requirements.
44
Suitability of rapid application development?
Most suitable for projects where rapid delivery is required Where requirements can be developed and refined on the go