Software Design & Development: Unit 3 - Development Methodologies Flashcards

1
Q

What is ‘problem decomposition’? (2)

A
  • The process of simplifying a problem by working out what information it needs, and breaking it down into smaller sub-problems.
  • The sub-problems use a subset of that information in order to be solved
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an advantage of using ‘problem decomposition’?

A

It helps in the beginning of solving complex problems, as the sub-problems identifies will hopefully look similar to previously encountered ones

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

What is ‘iterative prototyping’? (2)

A
  • The process of breaking down a software project into separate parts, and iteratively developing them as prototypes.
  • With every iteration of development the developers can incorporate client feedback and test results into completing the software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the advantages of ‘iterative prototyping? (2)

A
  • The client is involved throughout the development process

* It is easier to change parts of the project if client feedback is received early on in the development

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

What is ‘spiral development’?

A

The process of cycling through the development process to create prototypes, but developing these prototypes using the waterfall models

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

What is an advantage of ‘spiral development’? What is a disadvantage?

A
  • As prototypes are being developed using the waterfall model, mistakes can be avoided.
  • Mistakes might be avoided, but could also be picked up late in the development process, causing complete reworking of a lot of code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is ‘release early, release often’?

A

The process of releasing software frequently and early, allowing users to give feedback more frequently

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

What is an advantage of ‘release early, release often’? What is a disadvantage?

A
  • The users can access the developers directly and influence the final product
  • As many old releases will exist, users will experience crashes and need to constantly update software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is ‘SCRUM’?

A

The process of releasing software frequently and allowing clients to meet with developers regularly to discuss releases

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

What is an advantage of ‘SCRUM’? What is a disadvantage?

A
  • The client effectively becomes part of the development team, allowing them to oversee their final product
  • Bigger offices or more chairs might need to be purchased to accommodate new team members
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is ‘extreme programming’?

A

Developing software with short cycles of prototyping and client feedback, and a small team of developers who do more tasks between them

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

What is ‘model-driven software development’ (MDSD)?

A

The process of building models of a software system using a diagrammatic design notation to specify the system and generate the code from

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