1.2.2) Applications generation Flashcards
What are the different types of application software?
- Presentation
- Spreadsheet
- Databases
- Word Processors
- Graphics Manipulation software
- Desktop Publishing
- Web Browsers
- Email Clients
- Audio/Video Streaming
Presentation Software: Key features
- Multipurpose
- Easy to use- no training required
- Cheap/free
Spreadsheet: Key features
- More basic than database
- Uses: budgets, graphs, schedules
- Cheap/free
Databases: Key features
Organised collection of stored data
* Uses: larger scale, client records, orders
* Specialist- not standard to obtain
* Expensive
* Requires training
Word Processors: Key features
- Multipurpose
- Easy to obtain
- Easy to use
- Cheap
Graphics Manipulation Software
Image and Video editors
* Varying complexities available
* Complicated to work- requires training
* Expensive
* High quality
Desktop Publishing: Key features
Documents using page layout software
* Used for simple graphic design (flyers, posters, etc.)
* Easy to use- no training required
* Relatively cheap
* Not hugely common as most word processors/Graphics manipulation software have these features
Web Browser: Key features
- Free
- Easy to use
- Many options
- Easy to obtain- often preloaded
Email Client: Key features
- Easy to obtain
- Cheap
- Easy to use
Audio/Video Streaming: Key features
- Cheap/free
- Easy to obtain
- Allows user to stream file befoe it is fully transmitted
What are Utility programs?
Programs used to optimise the performance of a computer, run by the OS or the user.
What are the different utility programs?
- Automatic Backup
- Compression Software
- Anti-malware
- Disk Utilities
- File Repair
- File Management
What is Automatic Backup?
A utility that automates the process of backing up files, allowing for recory in the event of data loss
What are the two different types of Automatic Backup?
Full Backup- saves a full copy
Incremental Backup- Saves what has been changed since last backup
What is Compression Software?
Compresses and decompresses files to save space on storage devices, improving efficiency
What is Anti malware software?
Protects computer from malware by detecting and blocking threats, monitoring files and software being accessed.
Quarantines files containing viruses and repairs.
What do Disk Utilities do?
Manage secondary storage devices.
What are the different Disk Utilities? (4)
Disk Defragmentation
Disk Formatting
Disk Checker
Partitioning
What does Disk defragmentation do?
Organise files in a storage device to be in a single series of blocks making it read quicker, re orders and groups the same file together
What devices don’t need disk defragmentation and why?
SSDs as they are stored on NAND flash which has no moving parts and is not affected by fragmentation.
What is disk formatting?
Preps a device to store files, erasing any data and ensure compatibility with the OS.
What does a disk checker do?
Scans secondary storage for corrupted files
Allows user to delete files
What is Partitioning?
Allows user to partition a storage device into sections called logical drives, so that the computer sees them as seperate storage devices.
When is partitioning used?
- To seperate the OS and general files
- To create back ups of settings
- Dual booting- loading multiple OSs
- Creating an accessible network drive
What does File Repair do?
Recovers corrupted or damaged files because data is lost or disorganised
What are the tools available through file management?
Open and Close files
Create new folders
Rename files
Move/copy files
Delete
Create shortcuts
Set permissions
What is closed source software?
Software that isn’t freely available
Closed Sourced Software: Features
Debugging, Changability, Price, Permissions
- Provider often provides long term support
- User cannot make changes as they don’t have source code
- Often sold though sometimes free
- User doesn’t buy software, they buy licence to use it
What is Open source software?
Software freely available to download
Open Source Software: Key features
Code access, price, changeability, support available
- Source code available
- Usually free
- Anyone can modify
- Support from users not developer
What is a high level language?
Code that is written and understood by the programmer and not the computer
What is a low level language?
Can be executed by a computer but cannot be directly understood.
What must happen for a high level code to be changed to machine code?
It must be translated- either compiled or interpreted
What must happen to low level code to make it into machine code?
It must be assembled
What process does a compiler take to translate code?
A compiler translates code all at once after carrying out checks and reporting back errors
What are advantages of a Compiler?
- Once a code is compiled it does not need to be translated again making it faster
- Code can be optimized
- More secure
Disadvantages of compilers
- Harder to debug
- Not transferable between computers
Examples of languages are compiled
C, C++, Java
What process does an Interpreter use to translate code?
An interpreter translates line by line, stopping to produce an error if a line is incorrect.
Advantages of Interpreters
- Useful for testing/debugging
- Portable between devices as long as correct interpreter is available
Disadvantages of an Interpreter
- Slower than compiler
Examples of coding languages that are interpreted
Python and JavaScript
What is a code library?
Collections of prewritten, reusable code that provides useful functionality and speed development.
Advantages of Code library
- Faster Development
- Easier to access
What are linkers?
Software that links external modules and libraries to the code
What are the types of linkers?
Static and dynamic
What are the four stages of compilation?
- Lexical Analysis
- Syntax Analysis
- Code Generation
- Optimisation
Def: What is Lexical Analysis?
Studying the words or vocabulary of a language.
What happens in the Lexical analysis stage?
- Lexical tokens are identified
- Comments and whitespace are ignored
- A token table is created
What are the four types of lexical tokens?
- keywords (commands)
- identifiers (variable and function names)
- operators (+,-, /)
- seperators (brackets, “”, etc.)
Def: What is Syntax analysis?
Ensuring the code adheres to the syntax rules of a programming language.
What happens in the syntax analysis stage?
- Syntax errors are identified
- If no errors then Abstract syntax tree is created
What is an Abstract Syntax Tree?
A graph based representation of the compiled code.
What happens in the Code Generation stage of compilation?
The AST is taken and object code that can be executed by the computer is created.
What happens in the optimisation stage of compilation?
The code is modified to make it more efficient without changing it’s functionality. It reduces memory needed to run the code leading to faster execution.