Software Development Context and Methodologies Flashcards

1
Q

Name 3 different types of models used in businesses

A

Waterfall Model
V Model
Spiral Model
Agile Methodologies

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

What type of model is a waterfall model

A

A sequential model

One stage of the model will not start unless the other has been complete

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

What are the stages within a waterfall model?

A
Requirements Analysis
System Design
Implementation
Integration and Testing
Deployment
Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Strengths of using the waterfall method?

A
Organised layout 
Clear goal
Easy transfer of data/information
Plan becomes final outcome
Easy Testing
Upkeep timescales
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Weaknesses of using the waterfall method?

A
Can't progress until current stage is complete
Complicated to amend changes
Internal rather than external
No testing until complete
Longer delivery of products
Lacking in flexibility
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the V-model?

A

A way of Iterative and incremental development

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

How does the V-model work?

A

Development is done in different parts
Manages different projects
Repeated in a system
Iterative designs with building an incremental model

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

what is the spiral model?

A

Combination of linear, sequential and iterative model

Begins with design goal, ends with review

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

How does a spiral model work?

A

Identification
Design
Construct or build
Evaluate and review

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

what are Agile methodologies?

A

Umbrella term which defines several approaches to software development

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

What is Agile?

A

Set of values and principles
Collection of beliefs
Foundation for final product
Collaborative effort

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

List some of the Agile methodologies

A

Frequent delivery of high quality software
Incremental rather than all at once
Cross functional team
Requirements can be altered anytime

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

Ways of working Agile

A

SCRUM
KANBAN
XP

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

12 Principles of Agile

A
  1. Satisfy Customers
  2. Welcome changes
  3. Deliver value frequently (Up to date software)
  4. Work together
  5. Build projects with motivation
  6. Face to face conversations
  7. Working Software
  8. Maintain a constant pace
  9. Attention to detail
  10. Simplicity (Maximising work not done)
  11. Self-organising Teams
  12. Reflection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some points on the Agile manifesto?

A
Must work as a team
Efficiently work together
Comprehensive
Work with customers
Develop beneficial software for users
Embrace change 
Work quickly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Name reasons that requirements may change during the development of software?

A

End users needs may change
Errors in capturing requirements
Financial changes
Change in technology

17
Q

What is XP and what does it do?

A

XP = Extreme Programming
Frequent releases in short development cycles
Two or more people working on the same piece of code

18
Q

What is SCRUM?

A

An iterative and incremental agile software development framework which manages the development of products

19
Q

What are benefits of using SCRUM?

A
Easily adaptable
Fast Working
Allows for flexibility
Effectively gets work done
Gives clients insight throughout
20
Q

Name different SCRUM ceremonies

A

Sprint planning master
Sprint review meeting
Sprint retrospective
Daily-stand up

21
Q

What is TDD?

A

Test Driven Development

22
Q

What is the purpose of TDD?

A

A way of changing code to pass a certain test
Detects what the code will do
Form of software Development

23
Q

How does TDD work?

A

Add and run tests
Make changes to system
Run tests till it works
Completed development

24
Q

Benefits of TDD

A

Clean/simple code
Higher quality code
Low maintenance
Less debugging

25
Q

Meaning of SDLC

A

Software development lifecycle

26
Q

What does SDLC do?

A

Process used by the industry to design, test and develop high quality software

27
Q

Benefits of SDLC

A
Lower software development cost
Higher quality 
Shorter production time 
Creates software through stages
Defines new system requirements
28
Q

Phases of SDLC

A

Outlines broad terms for creating software
Follows development models
Embed key phases in how they’re used
Highlight key processes with making software