SDD - The Development Methodologies Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Which are the two types of development methodologies you need to know for this year?

A
  • Iterative Development Process
  • Agile Methodologies
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is another name for the Iterative Development Methodology?

A

The Waterfall Development Methodology

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

Define the Iterative Development Methodology.

A

It follows a traditional (old method), linear approach, where all development stages are followed in order so that all the analysis is done, then all the design is done, then all the implementation is done, and so on until the whole process is completed.

This means that the whole software package is created at one go and the client will get the whole software at the end.

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

How many stages does the Iterative Development Methodology (Waterfall Method) consist of?
What are they?

A

It consists of seven stages, which are Analysis - Design - Implementation - Testing - Documentation - Evaluation - Maintenance.

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

Why is the Iterative Development Methodology method called iterative?

A

Because it is iterative, i.e. you can go back to any of the previous stages at any point of the life cycle, if:
- new information becomes available
- changes need to be made
- errors are discovered.

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

Define Agile Methodologies.

A

Agile methodologies focus on creating software quickly so that the client can test it and report back. It works on creating and delivering small increments of the software rather than all at once.

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

Are Agile Methodologies iterative?

A

Yes, the stages of development can be revisited at any time so that changes can be made at any stage/s.

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

How is the client interaction in a Waterfall Method?

A

Client is heavily involved in the analysis stage.

Client is also involved at the end of the development to evaluate if the software meets their needs and if it matches the agreed specification.

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

How is the client interaction in an Agile Methodology?

A

The client is heavily involved in all the stages and throughout the whole process, giving constant feedback on prototypes of the software during development. This allows for changes to be implemented quickly and easily.

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

What is the teamwork like in a Waterfall Method?

A

Teams of analysts, programmers, testers and documenters all work independently on each phase of the development, with very little communication.

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

What is the teamwork like in an Agile Methodology?

A

Teams of developers communicate and collaborate, rather than teams of experts operating in isolation. This involves fast face-to-face communication between individuals with different skills.

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

What is the documentation like in a Waterfall Method?

A

A detailed project specification that is created at the beginning of a project and involves design, program commentary and test plans.

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

What is the documentation like in an Agile Methodolgy?

A

Agile focuses on reducing documentation and spends time on small cycles of coding, testing and adapting to change instead. Any documentation produced, such as internal commentary in code, should focus purely on progressing the report.

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

How is progress measured in a Waterfall Method?

A

A strict plan is followed, with progress measured against timescales set at the beginning of the project.

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

How is progress measured in an Agile Methodology?

A

The project is broken down into a series of short development goals (sprints). Progress is measured by the time it takes to produce prototypes or working components of the software.

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

Is the Waterfall Method adaptive or predictive?

A

It is predictive.
Focuses on analysing and planning the future in detail and catering for known risks.
It relies on effective early phase analysis and if this goes very wrong, the project may have difficulty changing direction.

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

Is Agile Methodology adaptive or predictive?

A

It is adaptive.
It focuses on adapting quickly to changing realities.
An adaptive team can plan the next month easily but the further away the date is the vaguer the plan would be.

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

What is testing like in a Waterfall Methodology?

A

Testing is carried out at the end, once the implementation has been completed.

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

What is testing like in Agile Methodology?

A

There is no recognised testing phase as testing is carried out in conjunction with programming.

20
Q

Define the purpose of the problem.

A

A general description of the reason why the software is needed.

21
Q

Define the scope of the problem.

A

This is a list of deliverables that the project will hand over to the client and/or end-user.

It includes the design, completed program, test plan, test results, evaluation report and may include any time limits for the project.

22
Q

Define the boundaries of the problem.

A

These are the limits of the software, defining what the project is and what it is not.

It can also clarify any assumptions made by the software developers regarding the client’s requirements.

23
Q

Define the functional requirements of the problem.

A

These are the features and functions that must be delivered by the system in terms of inputs, processes and outputs.

24
Q

Which are the main three design techniques?

A

Flowcharts
Structure Diagrams
Pseudocode

25
Q

What is top level design?

A

The major steps of the design.

When dividing problems into steps, we usually have two levels. The first level is the major steps needed to solve the problem. The second level is where each major step is divided into further steps that will need to be followed to solve that step. The top level design is the first level steps.

26
Q

What is data flow?

A

Shows the data that must be input (flown in) or output (flown out) from the sub-programs.

27
Q

What are the refinements of a design?

A

They are the break down of the steps from the top level, when required.

When dividing problems into steps, we usually have two levels. The first level is the major steps needed to solve the problem. The second level is where each major step is divided into further steps that will need to be followed to solve that step. The refinements are the second level steps.

28
Q

Define Comprehensive Testing.

A

It is carefully planned to test a wide range of conditions using normal, extreme and exceptional test data.

29
Q

Define normal test data.

A

The data that should be accepted by the program.

30
Q

Define extreme test data.

A

This is the data that is on the boundary of what would be considered normal. For example, if numbers between 0 and 100 are accepted, the extreme data would be 0 and 100.

31
Q

Define exceptional test data.

A

This is data that should not be accepted and we test the program using this data to make sure that the program can handle this data and it will not break it.

32
Q

What are breakpoints?

A

Breakpoints allow the program to stop at scheduled intervals to check the status of the program at these stages.

33
Q

What are watch points?

A

Watchpoints stop the execution of a program when the value of a given expression changes.

34
Q

What is a dry run?

A

A mental run of a computer program where the programmer examines the code one step at a time and determines what it will do when it runs.

35
Q

What is a trace table?

A

A trace table is a table that helps you document the results of a dry run.

36
Q

Which are the three programming errors?

A

Syntax errors
Execution (Runtime) errors
Logic errors

37
Q

What is a syntax error?

A

When you write something incorrectly, such as:
- missing bracket
- spelling mistake in one of the identifiers or keywords
- missing , or +
etc…

These errors will show up while compiling the program, stopping the program from running in the first place.

38
Q

What is an execution (runtime) error?

A

These are errors that will stop the program while it is running (crash your program). This would include errors such as:
- writing text into an integer or float variable
- numerical overflow (i.e. result is too large to fit in the integer or float variable
etc…

39
Q

What is a logical error?

A

This error is the hardest to spot because the program will run with seemingly no issues, but because of an error you’d have made in the coding the result produced is wrong.
For example:
- wrong condition in an if or while statement
- wrong calculations, e.g. a + b / 2 instead of (a + b) / 2
etc…

40
Q

What do we check for when we evaluate the software?

A
  • Fitness for purpose
  • Robustness
  • Efficient use of coding constructs
  • Maintainability
  • Usability
41
Q

What does fitness for purpose mean in the evaluation?

A

If the software carries out all the tasks specified in the functional requirements and design.

42
Q

What does robustness mean in the evaluation?

A

If the software copes with all types of errors it might get while running.

43
Q

What does efficient use of coding constructs mean in the evaluation?

A

Is the software is able to solve the problem without too much memory and processing time?
Is the software making use of the most efficient coding constructs and data structures where possible?

44
Q

What does maintainability mean in the evaluation?

A

How easy is it to make alterations later to add new features or fix errors?

45
Q

What does usability mean in the evaluation?

A

Does the program have a clear user interface? How easy is it for the user to use the software?
This includes:
- the general user interface
- user prompts
- screen layout
- any help screens
- visual appeal
- instruction screens