1.2.2 Applications Generation Flashcards

1
Q

What are the two main categories of software?

A
  • Applications Software
  • Systems Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Applications Software

A

Designed to be used by the end-user to perform one specific task.

Types:
- Off-the-shelf
- Proprietary
- Open Source
- Custom Written

Examples:
- Desktop publishing
- Word processor
- Spreadsheets
- Web browsers

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

Systems Software

A

Needed by the system to control hardware and run applications.

Types:
- Utility Software
- Translators
- Library Programs
- Operating Systems

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

Utility Programs

A

Optimise the performance of a computer and perform useful background tasks

Examples:
- Disk defragmenter
- Automatic backup
- Automatic updating
- Antivirus software
- Compression software

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

Disk Defragmentation

A
  • Re-arranges the contents of the hard drive so they can be accessed faster to improve performance
  • Will try to ensure all parts of a file are contiguous by moving other parts as necessary
  • File allocation table (FAT) may be used to show file placement

Recommended to have 15+% of space left when defragging so the file can be copied and moved (in case of corruption)

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

Defragmentation Benefits

A
  • Files are stored closer together
  • Resulting in a faster access time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Automatic Backup

A

Backup of data in permanent storage can be automated, specifying:
- Where (Backup location)
- When (Backup time)
- What (What data is backed up)
- How (Backups compressed or not)

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

Automatic Updating

A

Runs in background, detecting software update releases and automatically installing them

Some updates may add new software features, or fix security issues

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

Antivirus Software

A

Scans permanent storage for viruses by comparing files to known virus definitions

  • Must be kept up to date with new virus definitions to be effective
  • May sometimes flag a harmless file as a virus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Compression Software

A

Can reduce the size of files - useful for sending files across the internet

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

Application Software Types

A
  • General Purpose
  • Bespoke
  • Special Purpose
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

General Purpose Software

A

Can be used by the general public

(e.g. General apps, spreadsheets, calculator)

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

Bespoke Software

A

Software custom created for a specific user/company

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

Special Purpose

A

Software used by a small fraction of the public

(e.g. Graphic design apps, accounting apps)

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

Open Source Software

A

Allows anyone to access its source code

  • Anyone can modify and sell it, on the condition that the software produced is open source too
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Benefits of Open Source Software

A
  • Can be modified and improved by anyone
  • Technical support from online community
  • Can be modified and sold
17
Q

Disadvantages of Open Source Software

A
  • Support available online may be insufficient or incorrect
  • No user manual
  • Lower security as it may not be developed in a controlled environment
18
Q

Closed Source Software

A

Software that doesn’t allow the public access to the source code

-Provided as a fully compiled, executable set of files
- Users usually have to pay for access to the software -> they are buying a license to use the software, NOT the software itself
- May be restrictions on how the software is used after purchase

19
Q

Benefits of Closed Source Software

A
  • Thorough, regular and well-tested updates
  • Company that owns the software can provide expert support or create a user manual
  • High levels of security due to it being professionally developed
20
Q

Disadvantages of Closed Source Software

A
  • License can restrict how many people can use the software at once
  • Users cannot modify and improve the software
21
Q

Application Selection Criteria

A
  • Functionality - Does it do what you want it to do?
  • Hardware - Will it run on the hardware?
  • Availability - Already exists or already written?
  • Cost - How much is it?
  • Reliability - Are there bugs, has it been tested?
22
Q

Types of Translators

A
  • Compilers
  • Assemblers
  • Interpreters
23
Q

Compilers

A

Translates the entire program from high level language to machine code

  • Produces hardware-specific executable files written in machine code (called object code) that can be downloaded
24
Q

Interpreters

A

Translates high level language into machine code going line by line

25
Benefits of Compilers
- Program can be run many times without needing to recompile - Faster to execute - Executable code doesn't require the interpreter to run - Compiled code cannot be easily read & copied by others
26
Benefits of Interpreters
- Source code can be run on any machine with the interpreter - If a small error is found, the entire program doesn't need to recompile - Useful for debugging as it can return the location of the error
27
Assemblers
Translates assembly code instructions to machine code Each processor has its own instruction set so the object code will be hardware specific
28
Stages of Compilation
- Lexical Analysis - Syntax Analysis - Code Generation - Code Optimisation
29
Lexical Analysis
- All unnecessary comments and spaces removed - Keywords, constants & identifiers replaces with tokens corresponding their function in the program - Information about the token associated with each keyword or identifier is stored in a symbol table that the lexer creates
30
Syntax Analysis
- Stream of tokens from previous stage split up into tokens - Each phrase is checked against the rules of language to make sure they're valid - If the phrase is not valid, an error will be recorded - Semantic analysis also carried out, in which logic mistakes within the program are detected - Abstract Syntax Tree produced (a representation of the source code in the form of a tree)
31
Code generation
The abstract syntax tree produced in the previous stage is used to produce machine code (A major distinguishing feature between compilers and interpreters - compilers produce an executable file while interpreters don't)
32
Code Optimisation
Aims to: - Remove redundant instructions - Replace inefficient code with code that achieves the same result but in a more efficient way Risks: - This stage can significantly add to the overall time taken for compilation - Excessive optimisation may alter the way in which the program behaves
33
Library
Pre-compiled programs which can be incorporated within other programs (via linkers) Library functions can be called within a program
34
Use of Libraries
Used to provide a specialised range of functions which would otherwise require a lot of time and effort to develop - Ready-to-use - Error free - Save time developing & testing modules - Can be reused within multiple programs
35
Linkers
Piece of software that is responsible for linking external modules and libraries included within the code
36
Types of Linkers
- Static - Dynamic
37
Static Linkers
Adds modules and libraries directly to the main file. - Increases the size of the file - Updates to the modules and libraries externally won't affect the program, meaning a specific version of a library can be used
38
Dynamic Linkers
Includes addresses of modules and libraries in the file where they are referenced Loader retrieves the program at the specified address for execution when the main program is run _Pro_: - File remains small and external updates feed through to the main file