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
Q

Closed source software advantages

A
  • more polished products, professional support and consistency
  • greater control, revenue through sales and IP protection
26
Q

Closed source software disadvantages

A
  • for creator : slower innovation, full responsibility for updates and flaws
  • for user : costly, less customisable, potential trust issues
27
Q

Translators

A
  • Convert source code from a high level language to a low level language
  • 3 main types of translators :
  • compiler
  • interpreter
  • assembler
28
Q

Interpreters (python, JS, PHP are all interpreted languages)

A
  • 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
Q

Compilers (C , C++ , Java)

A
  • 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
Q

Assembler

A
  • a program that translates assembly code into machine code [1]
  • assembly code is platform specific
31
Q

Stages of compilation

A
  • 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
Q

Lexical analysis

A
  • 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
Q

Syntax analysis

A
  • 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
Q

Code generation

A

The AST is traversed to generate object code/machine code that can be executed by a computer

35
Q

Code optimisation

A
  • 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
Q

Libraries

A
  • 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
Q

Libraries benefits

A
  • 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
Q

Libraries cons

A
  • 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
Q

Linkers

A
  • used to combine compiled code (files) and libraries into a single executable [1]
40
Q

Loaders

A

Is part of the operating system and is responsible for loading a program into memory