🟣| Programming - Theory Flashcards

1
Q

Development Methodologies:

What does the iterative process involve?

2

A
  • Programmers move from stage to stage in order, only revisiting stages where necessary and a problem is discovered
  • It is a very structured process and clients are only communicated with at the beginning and end of development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does the agile process involve?

2

A
  • Uses β€˜sprints’ which are periods of planned analysis, design, implementation and testing of a particular aspect of software
  • It is a flexible process that is based on team work and daily communication which is suited to small, short term projects rather than larger scale projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Development Methodologies:

Iterative Strengths

2

A
  • Good for large teams - helps to plan and track large software projects
  • Clear agreement on outcomes at start of project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Development Methodologies:

Iterative Weaknesses

2

A
  • Very rigid approach does not deal well with mid-project changes
  • Little involvement of client after analysis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Development Methodologies:

Agile Strengths

2

A
  • Ongoing testing and evaluation
  • Ongoing involvement of client allows changes to be agreed quickly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Development Methodologies:

Agile Weaknesses

2

A
  • Needs close version control and tracking of changes
  • Can be more difficult to predict the longer term goals of the project, and the final product may not look anything like the initial concept.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Design:

What is top down, stepwise refinement?

2

A
  • Any main steps from the design are known as the top down design
  • These main steps are usually broken down further into step by step instructions known as stepwise refinements, which helps the programmer break down the program into manageable modules
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What criteria is evaluated in a program?

5

A
  • Fitness for purpose
  • Efficient use of coding constructs
  • Usability
  • Maintainability
  • Robustness
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Evaluation:

Fitness for purpose

A

If the software functions as specified in the software specification

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

Evaluation:

Efficient use of coding constructs

A

If the most appropriate constructs/data types have been used

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

Evaluation:

Usability

A

The ease of the user interface to use and learn

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

Evaluation:

Maintainability

A

If changes can be made easily and quickly to allow for future upgrades

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

Evaluation:

Robustness

A

If the program can cope with abnormal or unexpected inputs without crashing

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