Software Development Flashcards

1
Q

What is the waterfall lifecycle?

A

Sequential software development process divided into distinct phases

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

What happens during analysis in the waterfall lifecycle?

A

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
3
Q

What happens during design in the waterfall lifecycle?

A

Requirements from analysis are translated into a design.
Designers define overall structure and main concepts

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

What happens during implementation in the waterfall lifecycle?

A

Actual code is written based on design documents turning design into a functional program

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

What happens during testing in the waterfall lifecycle?

A

All components and modules are integrated(brought together)and tested to make sure system works as expected

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

What happens during deployment in the waterfall lifecycle?

A

The product is released to the client
May involve installation, customisation and training

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

What happens during maintenance in the waterfall lifecycle?

A

Post-release the system needs regular maintenance to fix bugs, improve performance and add new features

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

What are the benefits of the waterfall lifecycle?

A

Easy to understand and follow as each stage progressive linearly to next
Clear stages and milestones making progress easy to measure
Suitable for well defined projects as works best when requirement are clearand unlikely to change during development

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

What are the drawbacks of the waterfall cycle?

A

Inflexible as changes are difficult to implement once project has started and cant revisit previous stages
Expensive to fix late problems
Long development cycle as sequential nature may lead to longer development time

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

What is the waterfall model suitable for?

A

Projects where requirements are well understood and unlikely to change
Clear understanding of project goals and constraints

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

What is extreme programming?

A

A type of agile software development methodology that promotes adaptability and high customer involvement

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

What happens during planning in the Agile(XP)
development?

A

Customer and developers define the scope and priorities
Includes writing user stories

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

What happens during design in the Agile(XP)
development?

A

Developers create a simple design for the system that can evolve over time

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

What happens during coding in the Agile(XP)
development?

A

Coding done in small increments with frequent integration(bringing together) and pair programming to ensure quality

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

What happens during testing in the Agile(XP)
development?

A

Continuous testing throughout the coding process with automated tests developed before or alongside code

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

What happens during Iteration and Feedback in the Agile(XP)
development?

A

Constant feedback from stakeholders is used to guide future development cycles leading to iterative and incremental development

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

What are the benefits of Agile(XP) development?

A

Highly adaptable as it can respond quickly to changes
Frequent communication encourages constant communication between developers and users
Quality focus
Customer collaboration encourages working closely with customers and ensure it meets their needs

18
Q

What are the drawbacks of Agile(XP) development?

A

Requires experienced team members
Intensive collaboration can lead to burnout as constant communication can be tiring
May lack documentation as it focuses on adaptability and immediate coding
Scope creep flexible nature may lead to uncontrolled changed in requirements

19
Q

What is Agile(XP) development suitable for?

A

For small to medium-sized projects where requirements can change and customer involvement is high

20
Q

What is the spiral model?

A

Software development methodology that combines aspects of both iterative and sequential processes

21
Q

What happens during planning in the spiral model?

A

Defines the objective, alternatives and constraints for current phase of project

22
Q

What happens during analysis in the spiral model?

A

Identifies and assess potential risks, and plan mitigation(reduce risk) strategies

23
Q

What happens during engineering in the spiral model?

A

Develop the next version of the project including design, coding, testing and integration(bring together smaller components)

24
Q

What happens during evaluation and feedback in the spiral model?

A

Review the progress with stakeholders, and plan next iteration

25
What are benefits of spiral model?
**Flexibility**-Allows for changes and adaptations at any stage **Risk management**-Emphesises risk assessment helping to identify issues **Strong customer involvement** **Incremental releases**-Provides early and partial working solutions, enabling early usage and feedback
26
What are drawbacks of spiral model?
**Complexity** **Time-consuming**-Emphasis on planning, risk management etc. may lead to longer development process **Expensive** as it requires more resources **Not suitable for small project** - Extensive planning and risk management might be overkill for small projects
27
What is a spiral model suitable for?
Large, complex projects where requirements may change, and risk management is essential
28
What is RAD (Rapid Application Development)?
Software development methodology that emphesises **fast** and **iterative development**
29
What happens during requirement planning in RAD?
**Gather** general **system** **requirements,** define system **constraints**
30
What happens during user design and prototyping in RAD?
**Collaborate** with **users** to **develop prototypes**, **ensuring alignment** with **user needs**
31
What happens during construction or iterative development in RAD?
**Build** the **system incrementally**, with **continuous user feedback** and adaptation
32
What happens during maintenance and updates in RAD?
Continues to **adapt** and **improve** the **system** **based on user feedback** and needs
33
What are the benefits of RAD?
**Speed**-Enables rapid development and delivery of high quality **User involvement**-Clients are involved throughout the development process, ensuring system aligns with user expectations **Flexibility**-Allows for changes and adaptations to be made quickly as requirements change **Incremental development**-Promotes development in small increments with feedback
34
What are drawbacks of RAD?
**Dependent on strong team collaboration**-Requires skilled and collaborative team members **Potential lack of quality**-Speed may lead to skipping testing or documentation **Not suitable for small projects**-Intense collaboration and iterative approach may be overkill **Can lead to scope creep**-leads to uncontrolled changes in requirments
35
What is RAD suitable for?
Projects where rapid delivery is required and where requirements can be developed and refined on the go
36
What are the 5 steps of the waterfall cycle?
Requirement Design Development Testing Deployment Maintenance
37
What are the 7 steps of the agile model?
Requirements Design Development Testing Deployment Review Repeat
38
What are the steps in the spiral model?
Planning Risk analysis Engineering Evaluation and feedback
39
What are the 5 steps in the RAD model?
Requirement planning User design and prototyping Construction or iterative development Deployment Maintenance
40