Software Develoment Flashcards

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

What are some tools that an integrated development environment might have?

A

editors
runtime environments
automatic line numbering
error diagnosis
colour coding
debugger
trace
break points
variable watch
auto-correct
auto-suggestion
auto-indent
linker
loader
compiler
interpreters

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

What are some brands of IDE?

A

Python comes with a simple IDE called IDLE.

Eclipse and Netbeans are two fully featured IDEs used for programming in Java, JavaScript and HTML.

Visual Studio is an IDE that supports several programming languages including Visual Basic.NET and C#.

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

What is an editor program?
Examples of usage

A

Editors are software that allow programmers to write and edit code.

automatic line numbering
colour coding
auto-correct
auto-suggestion
auto-indent

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

What is a debugging tool?

A

Debugging tools help programmers to locate and fix errors.

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

What is a break point?

A

enable a program to be paused or stopped at predetermined points.

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

What is a variable watch?

A

see the changing values of variables as the program runs.

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

What is error tracing?

A

Some IDEs pinpoint exactly where a syntax error occurs, or at which line in a program an error is generated.

Tracing involves recording information as a program runs to see how different elements of the program are affected as it progresses.

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

What is a translator?

A

It’s a program that converts source code into object code.

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

Re-understanding source code for translators

A

Any program written in a high-level language is known as source code.

However, computers cannot understand source code. Before it can be run, source code must first be translated into a form which a computer understands - this form is called object code.

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

What are the three types translators?

A

Compilers.
Interpreters.
Assemblers.

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

What is a compiler?

A

A compiler takes the source code as a whole and translates it into object code all in one go. Once converted, the object code can be run at any time. This process is called compilation.

All of the object files used in a program must be combined before the program can be run.

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

What are some advantages to compilers?

A

Compiled programs run quickly since they have already been translated.

A compiled program can be supplied as an executable file.

Compilers optimise code. Optimised code can run quicker and take up less memory space.

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

What are some disadvantages to compilers?

A

there must be enough memory space to hold the source code, the compiler and the generated object code.

Compilers do not usually spot errors - the program has to be compiled and run before errors are encountered

The source code must be recompiled every time the programmer changes the program.

Source code compiled on one platform will not run on another - the object code is specific to the processor’s architecture.

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

What is an interpreter?

A

An interpreter translates source code into object code one instruction at a time.

It is similar to a human translator translating what a person says into another language, sentence by sentence.

The resulting object code is then executed immediately. The process is called interpretation.

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

What are some advantages to interpreters?

A

Instructions are executed as soon as they are translated.

interpreters require less available memory.

Errors can be spotted quickly.

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

What are some disadvantages to interpreters?

A

Interpreted programs run more slowly. The processor has to wait for each instruction to be translated before it can be executed.

Additionally, the program has to be translated every time it is run.

Interpreters do not produce an executable file that can be distributed.

Interpreters do not optimise code - the translated code is executed as it is.

17
Q

What is an assembler?

A

The purpose of an assembler is to translate assembly language into object code.

Whereas compilers and interpreters generate many machine code instructions for each high-level instruction, assemblers create one machine code instruction for each assembly instruction.

18
Q

What is a loader?

A

A loader is a piece of software that is responsible for loading executable files into memory to enable the central processing unit (CPU) to run them.

It calculates the size of a program and dedicates enough memory space for it to run efficiently.

19
Q

What a the 6 stages of compilation?

A

lexical analysis
symbol table construction
syntax analysis
semantic analysis
code generation
optimisation

20
Q

What is lexical analysis?

A

Comments and unnecessary spaces are removed.

Keywords, constants and identifiers are replaced by ‘tokens’, which are symbolic strings to identify what the elements are.

21
Q

What is symbol table construction?

A

A table stores the names and addresses of all variables,constants and arrays.

Variables are checked to make sure they have been declared and to determine the data types used.

22
Q

What is syntax analysis?

A

Tokens are checked to see if they match the syntax of the programming language.

If syntax errors are found, error messages are produced.

23
Q

What is semantic analysis?

A

Variables are checked to make sure they have been correctly declared and contain the correct data type.

Operations are checked to ensure that they are appropriate for the type of variable being used.

24
Q

What is code generation?

A

Machine code is generated in this stage.

25
Q

What is optimisation?

A

makes the program more efficient so it runs faster and uses fewer resources.

26
Q

What are some programming errors?

A

syntax
runtime/execution
logical
linking
rounding
truncation

27
Q

What is a syntax error?

A

is an error in the rules of a sequence of characters that have been written in a particular programming language.

28
Q

What is a runtime/execution error?

A

These are errors that occur only during the execution of a program.

Errors include running out of memory.

29
Q

What is a logical error?

A

These occur when the program is running, specifically when there is a problem with the logic.

This might be using the < symbol instead of the > symbol, or using AND instead of OR.

Logical errors might not cause an error message or stop a program from running, so they can be hard to find.

30
Q

What is a linking error?

A

A linking error occurs when a function or library that is needed by the program cannot be found.

This might be because it has not been imported or because a file has been moved.

31
Q

What is a rounding error?

A

A rounding error is the difference between the number that is stored by a computer program and the actual number.

Data types are often limited in the number of decimal places that they can store so a rounding error might occur if a number needs to be cut short.

An example of this is pi (π) being limited to 3.14 when it is rounded to two decimal places.

32
Q

What is a truncation error?

A

when a large number is reduced to fit a data type.

The difference between rounding and truncation is that truncation cuts off the extra
decimal places without changing the final digit.

For example, 5.369 rounded to two decimal places is 5.37, but when truncated to two decimal places it is 5.36.