Software Engineering Flashcards

1
Q

What are the 6 types of program errors?

A
  • Runtime Execution Error
  • Linking Error
  • Logical Error
  • Rounding Error
  • Syntax Error
  • Truncation Error
    Rabbits Like Licking Really Sweat Treats
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the 4 stages of the compilation process? (With what they do)

A
  • Lexical Analysis- removes spaces, functions → tokens, table
  • Syntax Analysis- grammar, rules
  • Semantic Analysis- Unused variables, data types
  • Code optimisation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What happens in Lexical Analysis?

A

1) Unnecessary Spaces and comments are removed
2) Constants, keywords (e.ge print) and identifiers (names for variables/ functions) are replaces with ‘tokens’ that represent their function
3) A table is creates to store these tokens

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

What happens in Syntax Analysis?

A

1) Checks the grammar and spelling of the tokens in the table
2) They are also checked against the rules to determine if they are the correct syntax.
3) If the syntax, spelling or grammar is incorrect an error message is produced

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

What happens in Semantic Analysis?

A

1) Variables are checked to ensure they are declared and used
2) They are check to see if they have the correct data type (e.g. Strings, Integers, and real).

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

What happens in Code Generation?

A

1) Code is optimised to make generating machine code more efficient by removing redundant instructions and replacing inefficient code.

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

What are standard modules?

A

A standard module is one which carries out a
common / standard task / can be used for a
standard situation in a many programs

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

What are the 3 system change overs?

A

Direct “big bang”- A lot quicker, could be risky, no training with new system
Parallel- Safest, expensive (staff on both systems), confusion
Phased - Gradually get used to new system, all staff focus on one area to solve problems, but doesn’t work on all systems as they can’t be broken down, no backup.

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