1.2.2 Application Generation Flashcards

1
Q

Applications Software and examples

A

Applications Software : Used by end user to perform specific task for user.
- requires systems software to run

e.g.
- DBMS Software (Store/query data about customers/stock)
- Word Processor (Create documents for clients/staff)
- Email Software (Communicate with each other / customers)
- Web Browser (View websites to purchase stock)
- Spreadsheets (Completing accounts / salaries etc)

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

Systems Software

A

Systems Software : Low level software responsible for running computer system by interacting with hardware.
- Allows applications software to run
- User doesn’t directly interact with it

e.g.
- Operating system and utility software

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

Utility Software + Examples (5)

A

Utility Software : Specialist software that often comes with OS.
Provides additional functionality and maintains the computer.
- Piece of systems software with single specific purpose.

e.g.
- Encryption … scrambles meaning of data files with key incase intercepted.
- Defragmentation … organises file segments on secondary storage so faster to access.
- Compression … reduces size of files so faster to transmit and store
- Backup … makes regular copies of files to recover incase lost.
- Antivirus … detects and removes threats.

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

Open Source and Advantages (4) and Disadvantages (2)

A

Open Source : Can be used by anyone without a licence and source code can be seen and redistributed.

Advantages:
- Can be modified to tailor to specific needs
- Can be modified and sold
- Can debug yourself
- Cheaper
- Vast knowledge in communities

Disadvantages:
- Lower security as developed in uncontrolled environment
- Support may be insufficient or incorrect
- if software is very specific open source solution may not be available.

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

Closed Source and Advantages (3) and Disadvantages (3)

A

Closed Source : Requires licence to use and distributed without source code as copyrighted (often sends compiled executable)

Advantages:
- High levels of security as developed professionally - more scrutiny
- Regular and well-tested updates
- Expert support and user manuals provided by company

Disadvantages:
- Costs money for licence
- Cannot modify and improve themselves - developer has to make new features
- Cannot fix bugs themselves

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

Translator and Assembler

A

Translators : Convert source code into machine (low level object) code that can be executed by computer

Assembler : Converts processor architecture specific assembly code (Low Level) into machine code.
- Translates on 1:1 basis, one line of assembly = one line of machine code

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

Lexical analysis

A

Lexical analysis : First stage of compilation
- Whitespace and comments removed
- Variables and constants added to symbol table
- Key words / Statements are replaced by tokens, info on tokens stored in symbol table
- Code prepared and outputted for next stage of compilation

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

Syntax analysis

A

Syntax analysis : Second stage of compilation
- Accepts tokens passed from previous stage
- Tokens checked against rules of programming language
- Tokens that break are added to errors that is stored as list
- Errors generated and error diagnostics given
- Detail added to symbol table
- Abstract syntax tree produced
- If no syntax rules broken then passes onto next stage

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

Code Generation

A

Code Generation : Third stage of compilation
- Abstract syntax tree used to produce machine code

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

Optimisation

A

Optimisation : Fourth stage of compilation
- Code likely inefficient due to unnecessary instructions
- Searches through code for areas to make more efficient (takes time)
- Redundant code detected and removed while Repeated sections grouped and replaced with more efficient code
- Excessive optimisation - alterations in program behaviour and time consuming
- Ensures code runs quicker / uses less less memory (redundant parts and repeated sections removed)

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

Linkers

A

Software used to link the main code to libraries to make final executable after compilation.

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

Loaders

A

Loader retrieves libraries at address to be executed by program in dynamically linked libraries.

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

Libraries

A

Libraries : Are pre-compiled programs that are already written that contain useful subroutines.

Advantages:
- Saves time as prewritten - no need to rewrite code
- Pre - tested so likely to work and debugging easier and faster
- Draws on expertise of other programmers - complete complex tasks

Disadvantages :
- Increases file size but library contains many routines that will not be used.
- Not written by programmer - programmer needs to familiarise themselves with it.

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

Types of Linkers

A

Static : Modules and libraries added directly to executable file.
- This increases file size.
- A specific version is used so updates to modules will not affect programs.

Dynamic : Address of Modules and Libraries added to executable files.
- Loader retrieves at address to be executed.
- File size remains small
- Updates feed through without need to recompile or rewrite

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