1.2.2 - Application Generation Flashcards

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

What is application software?

A

This is programs that allow the user or hardware to carry out tasks or provide useful outputs which would have had to be done without a computer.

Is a complete collection of compatible pieces of software that contains electronic or hard copy user documentation describing the software to the user.

Examples include:

1) Word processors e.g. Microsoft Word
2) Spreadsheet packages e.g. Microsoft Excel
3) Presentation software e.g. Microsoft PowerPoint
4) Desktop publishing software e.g. Microsoft Publisher
5) Image editors e.g. Microsoft Photo Editor
6) Web browsers e.g. Microsoft Edge

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

What is an emulator?

A

They are programs that trick other programs into thinking it is running on its native hardware but is running on a different machine

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

What is utility software?

A

Systems software that perform tasks related to managing the computer’s resources, file management, diagnostics, and other specialized chores

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

How do we categorise software?

A

Into systems software and applications software.

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

Give examples of utility software

A

Anti-virus programs e.g. Windows Defender

Disk defragmentation e.g. Windows Disk Defragmenter

Compression e.g. Windows Compression Software

File managers e.g. Windows File Explorer

Backup utilities e.g. Windows Backup Utility

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

What is Bespoke software?

A

Software developed specifically for a set of users or customers. The opposite is off-the-shelf software.

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

What is Off-the-shelf software?

A

Software mass-produced by software vendors to address needs that are common across businesses, organizations, or individuals.

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

What are the differences between Open Source software and Closed Source software?

A

Open source

1) Source code is freely available for others to examine or
recompile.

2) This allows other to make amended versions of the
program and contribute to the program’s development.

3) There isn’t a commercial organisation behind the
software so there won’t be a helpline or regular
updates.

4) Examples include Linux, Libre Office, Firefox.

Closed source

1) Propriety software is sold in the form of a license to use
it which will restrict users on how the software can be
used.

2) The software company or developer holds the copyright
so users will not have access to the source code and
will not be allowed to modify the package and sell it to
other people.

3) There will be support available from the company such
as regular updates, technical support lines, training
courses and a large user base.

4) Examples include Mac OS, iWork, Safari

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

What are translators?

A

A translator is used to convert code from one language to another so from HLL (high level language) or LLL (low level language) source code to object, intermediate, executable or machine code and detects errors in source code.

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

What is high level language (HLL)?

A

The code that the programmer will write in such as Python, C# and C++.

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

What is low level language (LLL)?

A

languages that sit close to the computer’s instruction set
An instruction set is the set of instructions that the processor understands.

Two types of low-level language are:

machine code

assembly language

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

What is machine code?

A

Binary or hexidecimal

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

What is assembly language?

A

A type of low-level programming language that is intended to communicate directly with a computer’s hardware

INP
STA
etc

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

What is a compiler?

A

1) Converts HLL source code to machine code.

2) Translates the whole program as a unit and creates an executable or intermediate language program when the program is completed.

3) Gives a list of errors at the end of compilation at once but some reported errors may be spurious.

4) Compiled code is not human readable helping to preserve intellectual property and protect the program from malicious use.

5) Compiled code is machine dependent and architecture specific so multiple versions of the code will need to be maintained for different architectures.

6) Optimisation improves program speed and size so compiled code runs more quickly.

7) The compiler is no longer needed once the executable code is produced.

8) Easy to get access to lower level features such as GPU access.

9) Produces intermediate code for virtual machines.

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

What is an interpreter?

A

Interprets and runs HLL source code which is machine independent.

1) Translates one statement then runs it before translation of the next line.

2) Reports one error at a time as they are found then stops to indicate position of error.

3) The interpreter must be present each time the program is run so the program runs more slowly due to translation.

4) Used by virtual machines and during program development.

5) The Source code is visible meaning it can easily be copied and amended but can be obfuscated.

In summary:

Converts a program written in a higher level language into a lower level language and executes it, beginning execution before converting the entire program LINE BY LINE.

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

What is an assembler?

A

1) A program that uses low level source code to translate assembly code into machine or object code.

2) One assembly language instruction is converted into one machine code instruction.

3) Reserves storage for instructions and data.

4) Replaces mnemonic opcodes by machine codes and symbolic addresses by numeric addresses.

5) Creates a symbol table to match labels to addresses.

6) Checks syntax and gives list of errors at the end with error diagnostics.

16
Q

What are the 4 stages of compilation?

A

Lexical analysis

Syntax analysis

Code generation

Optimisation

17
Q

What is lexical analysis stage of the compilation stages?

A

1) The source code program is used as the input.

2) Series of tokens are created from the individual symbols and reserved words/keywords in the program.

3) Each token is a fixed length string of binary digits.

4) Variable names are loaded into a look-up/symbol table which stores information about variables and subroutines.

5) Redundant characters e.g. white spaces are removed.

6) Comments are removed.

7) Error diagnostics are given.

8) Prepares code for syntax analysis.

18
Q

What is syntax analysis stage of the compilation stages?

A

1) Receives and accepts the output from lexical analysis.

2) The compiler checks the statements, arithmetic expressions and tokens in the program are syntactically correct against the grammar and rules about the structure of the programming language e.g. matching brackets.

3) An abstract syntax tree is built.

4) Errors are reported as a list at the end of compilation.

5) Error diagnostics are given.

6) Further detail is added to the symbol table e.g. data type, scope and address.

7) If there are no errors, it passes the code to code generation.

19
Q

What is the code generation stage of the compilation stages?

A

1) Is the last phase of compilation that occurs after syntax analysis.

2) Abstract syntax tree is converted to object code.

3) Produces machine code program/executable code/intermediate code which is equivalent to the source program.

4) Variables and constants are given addresses.

5) Relative addresses are calculated.

20
Q

What is the optimisation stage of the compilation stages?

A

1) Occurs during code generation.

2) Object code is checked and made as efficient as possible.

3) Increases processing speed.

4) Reduces number of instructions.

5) Programmer can choose between speed and size.

21
Q

What are linkers?

A

A linker combines the compiled program code with the compiled library routine code all into one executable program.

22
Q

What are loaders?

A

A loader is the part of the OS that loads the executable program and associated libraries into memory and handles addresses before the program is run.

23
Q

What are libraries?

A

1) Standard pieces of software which often perform common tasks such as sorting and searching.

2) Routines are compiled and fit into modularisation of algorithms.

3) They are pre-tested so are relatively error free.

4) They are pre-written so are ready to use and already available for programmer to use with a new program which saves work and time.

5) They may be used multiple times to reduce repeated code.

6) They may allow programmer to use code which has been written in a different source language.

7) They are written by an expert so allows programmer to use others’ expertise.