1.2.2 Applications Generation Flashcards

1
Q

Application software

A
  • Software that performs tasks for a user [1]
  • requires system software to run
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

System software

A
  • low level software that provides a platform for application software to run
  • Operating systems and utility software are a type of system software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Types of application software

A
  • word processor
  • Database management software
  • web browser
  • email client
  • spreadsheet software
  • presentation software
  • antivirus software
  • video editing software
  • IDE
  • virtualisation software
  • graphics manipulation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Word processor

A
  • for creating/editing/printing text documents
  • eg Microsoft word, Google docs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Database management software

A
  • for storing/querying/managing/retrieving data
  • eg MySQL. Oracle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Web browser

A
  • for browsing the web and accessing info online
  • to view websites eg. To purchase
  • eg. Google chrome, Firefox
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Graphics manipulation

A
  • for editing and manipulating images eg to produce adverts/ images for sale
  • eg. Adobe photoshop
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Spreadsheet software

A
  • for organising/calculating and analysing numerical data quickly and more accurately [1]
  • E.g Microsoft excel, Google sheets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Presentation software

A
  • To create presentations e.g for staff, clients
  • eg. Microsoft PowerPoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Email client/email software

A
  • for managing and accessing emails across different providers
  • eg. Outlook
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Email client/email software

A
  • for managing and accessing emails across different providers
  • eg. Outlook
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Utility software

A
  • a piece of system software with a specific function linked to the maintenance of the OS [1]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Types of utility software

A
  • disk defragmentation
  • compression
  • disk cleanup
  • backup software
  • file encryption software
  • antivirus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Backup software

A
  • makes copies of files
  • protecting files/data in the case of loss or corruption of the original file
  • can be used to make incremental backups
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Disk defragmentation

A

physically reorganises files on a harddisk (HDD) so that they can be found and accessed faster [1]

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

Disk cleanup

A
  • scans the Hard disk for duplicate or corrupted files and removes them freeing up storage space
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Compression software

A
  • reduces file size to consume less storage space or for faster download over the internet
18
Q

Antivirus software

A

Detects and removes potential threats like viruses and malware [1]

19
Q

File encryption software

A

Encodes file before transfer allowing users to send files over networks securely

20
Q

Source code

A

The raw programming code written by a software developer to create an application

21
Q

Open source software

A
  • Is where the original source code is made freely available and may be redistributed and modified [1]
  • this means that anyone can view, modify and access the source code [1]
22
Q

Open source software advantages

A
  • is free and customisable by the user [1]
  • source code can be amended by anyone and sold on [1]
  • the program can be tailored to specific needs [1]
23
Q

Open source software disadvantages

A
  • may have compatibility issues and many contain bugs
  • might be less user friendly
24
Q

Closed source software

A
  • the software is distributed as executable Machine code [1]
  • so source code is hidden/ not freely available [1]
  • there are licensing conditions restricting the redistribution/ there is no permission to amend the code [1]
25
Closed source software advantages
- more polished products, professional support and consistency - greater control, revenue through sales and IP protection
26
Closed source software disadvantages
- for creator : slower innovation, full responsibility for updates and flaws - for user : costly, less customisable, potential trust issues
27
Translators
- Convert source code from a high level language to a low level language - 3 main types of translators : - compiler - interpreter - assembler
28
Interpreters (python, JS, PHP are all interpreted languages)
- translates and executes high level code line by line every time the program is run [1] - source code is required to run the program [1] - initially appears faster but is slower than running compiled code as code must be translated every time the program is run - interpreted code is platform independent so more portable - useful for testing/debugging as interpreter will stop and produce an error if a line contains an error
29
Compilers (C , C++ , Java)
- translates entire source code to machine code at once and then executes it [1] - produces an executable machine code file which can be reused/ doesn’t need to be translated every time it is run [1] - compiled programs have source code hidden [1] - compiled code is platform specific - longer initial compilation time but faster over all execution as there is no need for compiler during execution
30
Assembler
- a program that translates assembly code into machine code [1] - assembly code is platform specific
31
Stages of compilation
- the process of translating high level code to machine code - only machine code can be executed by a computer - 4 stages : - lexical analysis - syntax analysis - code generation - code optimisation
32
Lexical analysis
- Comments + white space are removed from the program [1] - remaining code is converted into a series of tokens - a symbol table is created to keep track of the variables and subroutines - variable names/identifiers are added to the symbol table [1] - which also holds data such as scope and data type
33
Syntax analysis
- receives tokens/symbol table from lexical analysis [1] - Tokens are checked against the syntax rules of the programming language [1] - errors are reported as a list [1] - if any tokens break the syntax rules , a syntax error is generated - An AST is produced
34
Code generation
The AST is traversed to generate object code/machine code that can be executed by a computer
35
Code optimisation
- modifies code to make the code more efficient/to make the program run faster without changing its functionality [1] - redundant parts of the code are removed - to make the program use fewer resources/less memory [1]
36
Libraries
- a set of pre-written reusable code modules containing useful routines/subroutines etc [1] - allowing developers to perform common tasks without having to wrote code from scratch
37
Libraries benefits
- saves time as there is no need to rewrite code that someone else has already written [1] - has already been thoroughly tested making debugging easier/saving time [1] - uses expertise of other programmers to complete tasks that require specialist knowledge which would otherwise be too time consuming and complex to learn [1]
38
Libraries cons
- using a library for small tasks can lead to overhead and may significantly increase size of compiled file [1] - as the library may contain many routines that are not being used [1] - relying on a third party library can lead to problems if the library is discontinued or not maintained [1]
39
Linkers
- used to combine compiled code (files) and libraries into a single executable [1]
40
Loaders
Is part of the operating system and is responsible for loading a program into memory