2.2 Problem solving and programming Flashcards

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

What is a software development lifecycle?

A

A framework which defines the steps carried out at each stage of a piece of software being developed.

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

What does every software development lifecycle consist of?

A

A detailed plan outlining how to develop, maintain, replace, alter or enhance software.

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

What are the 5 stages of a SDLC?

A

Requirement analysis, design, implementation, testing, evolution.

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

What do you do during the requirement analysis stage of an SDLC?

A

Gather information about who will use your program and what it will need to do in order to meet their requirements.

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

How might you gather data about the requirements for your program?

A

Questionnaires, interviews, reports

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

What do you do during the design stage of an SDLC?

A

Design multiple solutions for the problem and evaluate them to find the best one for the situation.

Then create a design specification which outlines the input, output, user interface, backup, security and testing.

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

What do you do during the implementation stage of an SDLC?

A

Write the code, and install relevant hardware. Create technical and user guides.

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

Which two stages of an SDLC overlap and why?

A

Design and implementation because as you write the code, you may have to redesign certain parts due to unforeseen errors or changes to requirements.

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

What do you do during the testing stage of an SDLC?

A

Test that the program meets all of the requirements and that it has no bugs.

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

What three types of data should you use to test a program?

A

valid, invalid, extreme and erroneous

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

What do you do during the evolution stage of an SDLC?

A

Update the program to include new requirements, work on newer hardware, or to fix errors that arise when it has been running.

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

What is perfective maintenance?

A

When you assume that a program always has room for improvement and is never complete, therefore updating the software regularly to improve performance or usability.

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

What is an example of perfective maintainance?

A

A clearer user interface, more efficient code, more advanced controls

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

What is adaptive maintenance?

A

When you update a program to adapt to a user’s changing needs.

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

What is an example of adaptive maintenance?

A

A company offers a new product for their customers and the system needs to be changed to include this.

A company has introduced a new online system which needs to be linked to the original system.

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

What is corrective maintenance?

A

When you update a program to fix problems that may have occurred.

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

What is an example of corrective maintenance?

A

A user discovers a bug that is preventing them from completing a task and so the bug needs to be fixed.

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

What are the 5 different software development lifecycle models that are commonly used?

A
Waterfall model
Spiral model
Agile modelling
Extreme programming
Rapid Application Development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Outline the waterfall model

A

Each step of the SDLC are followed, one after another, from beginning to end.

Each step must be fully completed before the next can begin however it is possible to go back a step and make minor changes.

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

Give 3 benefits of using the waterfall model.

A
  • Structured nature means it is easy to keep customer updated of the progress and estimate an accurate completion date
  • It can be adapted for many different industries
  • The people working on the project can change and the outcome will stay the same because they are following a set plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Give 2 cons of using the waterfall model.

A
  • Unsuitable for long projects as the idea does not change once it has been created, which means that it would quickly become outdated
  • The customer has very limited input which means that the program cannot adapt to potential changing requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

When would it be suitable to use the waterfall model?

A

If the customer has a very clear idea of what they want that is unlikely to change, and would like the project completed under a strict budget inside a set time frame.

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

What must a developer create in order to properly test a program?

A

A detailed test plan

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

What are the 4 methods of testing a program?

A
  • White box testing
  • Black box testing
  • Alpha testing
  • Beta testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What is black box testing?

A

When the program is tested and the structure/function of the program is not known by the tester.

(Testing without reference to the internal structure of the program)

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

What is white box testing?

A

When the program is tested and the structure/function of the program is known by the tester.

(Testing with reference to the internal structure of the program)

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

Who may carry out white box testing?

A

Someone on the development team of the program.

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

Who might carry out black box testing?

A

An independent tester.

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

What is black box testing intended to find errors in?

A
  • Functionality
  • User interface
  • Performance
  • Database access
30
Q

Give an example of black box testing.

A

A user who has no idea of the internal structure of a website tests every feature on the website to ensure that it works.

31
Q

What is an advantage of black box testing?

A

There is no developer bias and it can test the ease of use of the program as a developer will know how to use it best whereas someone who does not know the internal structure will not.

32
Q

What is white box testing intended to find errors in?

A
  • Individual paths that users can take within the program
  • The logic of the program
  • Whether the test plan is met
33
Q

Give an example of white box testing.,

A

A developer goes through the program, testing each possible path that can be taken as they know the structure of the code, comparing the outputs to the expected output.

34
Q

What is an advantage of white box testing?

A
  • Testing can occur when the program is not fully finished

- Developers can easily pinpoint the exact point where there may be errors in the flow of the program

35
Q

What is a disadvantage of black box testing?

A
  • Requires program to be finished with working GUI

- Not all paths tested

36
Q

What is a disadvantage of white box testing?

A
  • Tests can be very complex and can take a long amount of time to test every path
  • Does not test ease of use as developers already fully understand how to use program
37
Q

Who carries out alpha testing?

A

Testers who work for the people making the program.

38
Q

Who carries out beta testing?

A

Potential end users who are not working for the people making the program.

39
Q

Where is alpha testing carried out?

A

At the developer’s site.

40
Q

Where is beta testing carried out?

A

At the user’s location. (e.g. users house)

41
Q

What types of testing does alpha testing involve?

A

White box and white box

42
Q

What types of testing does beta testing involve?

A

Only black box testing

43
Q

What does alpha testing mainly test?

A
  • Whether the code runs properly
  • Whether the requirements of the program have been met
  • Major bugs
44
Q

What does beta testing mainly test?

A
  • Whether users like the product
  • Smaller bugs
  • How the program handles mass usage
  • Problems that the developer did not anticipate
45
Q

What is an advantage of alpha testing?

A

-Developers can fix major bugs quickly, in the moment if possible

46
Q

What is a disadvantage of alpha testing?

A
  • The tests are artificial and so the program is only being tested against situations that the developer can think of, not all real life situations
47
Q

What is an advantage of beta testing?

A

It exposes the program to real life situations which the developer cannot anticipate/simulate

48
Q

What is a disadvantage of beta testing?

A

Issues cannot be fixed as easily or as quickly

49
Q

What is an IDE?

A

A piece of software that provides features that a programmer can use when developing software.

50
Q

What features does an IDE contain?

A

Translator, libraries, debugger

51
Q

What does the translator do in an IDE?

A

Translates the high level code that you have written into machine code.

52
Q

What is the difference between a compiler and an interpreter?

A

A compiler translates the entire program into machine code and attempts to run it in one go, failing if there are any errors whereas an interpreter translates and runs the program line by line, stopping at the point where an error is found.

53
Q

What is a library in an IDE?

A

A store of functions that are not usually included in the core programming language. These can be imported for use in the program to provide features that would be otherwise unachievable.

E.g. Turtle graphics for pythin

54
Q

What is a debugger in an IDE?

A

A debugger is a program within the IDE which runs the program line by line and stops when an error is found. It then highlights the area of code to the user, allowing them to correct it before running the program again.

55
Q

What is modular programming?

A

Modular programming is the process of splitting an application into separate, smaller submodules

56
Q

What is an advantage of modular programming?

A
  • Developers can use prewritten code for certain parts of the program, saving time
  • Different teams can work on separate modules which are combined at the end to produce the final product, improving efficiency.
57
Q

What is a local variable?

A

A variable that is defined within a function that can only be used within that function.

58
Q

What does the scope of a variable mean?

A

Whether a variable is local or global.

59
Q

What is a global variable?

A

A variable that is defined outside of a function that can be used anywhere in the program.

60
Q

What does a limited scope mean?

A

The variable is a local variable.

61
Q

What are functions?

A

Functions are sections of code that are defined by an identifier and can be called to run multiple times within a program without having to rewrite the code.

Functions always return a value.

62
Q

What are procedures?

A

Procedures are sections of code that are defined by an identifier and can be called to run multiple times within a program without having to rewrite the code.

Procedures do not return a value but perform a specific task.

63
Q

Give an example of a function.

A

A function to roll two dice and add them together would generate two random numbers and add them together, then return the result

64
Q

Give an example of a procedure.

A

A procedure to update the user on their score in a game would print the required information but not return any data to the program.

65
Q

What is a parameter?

A

A parameter is a special variable that is used to pass values into functions and procedures.

(Also defined as a value that is passed into a function/procedure)

66
Q

How do you pass multiple parameters into a function/procedure?

A

Separate them with a comma.

e.g. (parameter1, parameter2)

67
Q

What are the three ways a program can flow?

A

Sequence, Iteration, Selection (branching)

68
Q

What is sequence?

A

Sequence is when each action leads to the next action, one after another, with no lines of code being skipped.

69
Q

What is iteration?

A

Iteration is when a piece of code is repeated a number of times, through a number of values, or until a certain outcome is reached.

70
Q

What is selection?

A

Selection is when different routes are taken in a program due to control flow statements (if statements).

Certain parts of code are run if specific conditions are met with some parts being skipped.