1.2.2 notes
The nature of Applications
Application software
Application software is software designed to perform a specific task for the user.
Examples:
word processors
spreadsheets
databases
Presentation software
CAD software
graphics software
Purpose of application software:
to improve efficiency
to perform specialised tasks
to provide tools for user
what |
Application | Purpose |
|---|---|
Word Processor | Used to create, edit, format and print text-based documents such as reports, letters and essays. |
Spreadsheet | Used to perform calculations, analyse numerical data and create models using formulae and functions. |
Database Management System (DBMS) | Used to store, organise, manage and retrieve large amounts of structured data efficiently. |
Presentation Software | Used to create and deliver visual presentations containing text, images, audio and video to an audience. |
Graphics Software | Used to create, edit and manipulate digital images, photographs and artwork. |
CAD Software | Used to produce accurate technical drawings and 3D models for engineering, architecture and product design. |
Factors affecting suitability
functionality
efficiency
accuracy
security
Cost
ease to use
reliability
Justification Technique
For OCR questions:
Identify user requirement
Select application
Explain feature
Link feature to requirement
Utilities
Utility software is system software used to maintain, manage, optimise and protect a computer system
Anti-virus software
Used to detect, prevent, and remove malware from a computer system
Advantages:
improves security
protects data
Disadvantages
uses System resources
may miss new threads
Backup Utility
Used to create copies of data for recovery after loss or corruption
Advantages:
prevents permanent data loss
supports recovery
Disadvantages
requires storage space
needs regular updating
Disk Defragmentation Utility
Used to reorganise fragmented files on an HDD to improve access speed.
Advantages:
Faster file access
Improved HDD performance
Disadvantages
Time consuming
unnecessary for SSDs
Disk clean-up utility
Used to remove unnecessary files and free storage space
Advantages
frees space
improves efficiency
Disadvantages
risk of deleting useful files
file compression utility
used to reduce file size for storage and transmissions'
Advantages:
saves storage
faster transfer
Disadvantages:
Compression/decompression time
Encryption Utility
Used to protect data by converting it into an unreadable form without the correct key
Advantages:
improves security
protects sensitive data
Disadvantages:
Processing overhead
risk of lost key
OPEN SOURCE VS CLOSED SOURCE
Open source software
Software whose source code is publicly available and may be viewed, modified and redistributed
Advantages:
often free
can be customised
community bug fixing
greater transparency
Disadvantages:
limited support
variable quality
may require technical expertise
Closed source software
Software whose source code is not publicly available and is controlled by the developer
Advantage:
professional support
consistent quality control
user-friendly
Disadvantages
licence costs
limited customisation
dependence on vendor updates
Translator
A translator is software that converts source code into machine code or another executable form.
Purpose:
Allows programs written by humans to be executed by a CPU.
Compiler
A compiler translates an entire high-level language program into machine code before execution.
Advantages
Faster execution
Machine code can be distributed
Reports multiple errors during compilation
Disadvantages
Compilation takes time
Program must be recompiled after changes
Interpreter
An interpreter translates and executes source code one statement at a time.
Advantages
Easier debugging
Immediate execution
Faster development cycle
Disadvantages
Slower execution
Source code required
Assembler
An assembler translates assembly language into machine code.
Advantages
Efficient code
Direct hardware control
Disadvantages
Difficult to write
Time consuming
Machine Code
Machine code consists of binary instructions that can be directly executed by the CPU.
Assembly Language
A low-level language that uses mnemonic instructions to represent machine code operations.
Compilation
Compilation is the process of translating a high-level language program into machine code.
1. Lexical Analysis
Breaks source code into tokens.
A token may be:
Identifier
Operator
Keyword
Constant
Purpose
Allows the compiler to recognise individual program components.
Errors Found
Lexical errors.
2. Syntax Analysis
Checks that tokens follow the grammatical rules of the programming language.
Purpose
Ensures program structure is valid.
Errors Found
Syntax errors.
3. Code Generation
Converts validated source code into machine code or object code.
Purpose
Produce executable instructions for the CPU.
4. Optimisation
Improves generated code to increase efficiency.
Objectives
Reduce execution time
Reduce memory usage
Remove redundant instructions
⚖ Advantages of Optimisation
✅ Faster execution
✅ Reduced memory requirements
✅ Improved performance
Disadvantages of Optimisation
❌ Increases compilation time
❌ Makes generated code more complex
Libraries
A library is a collection of pre-written routines, procedures or functions that can be reused by programs.
Purpose
Reduce development time
Improve reliability
Promote code reuse
Advantages
Faster development
Tested code
Reduced costs
Disadvantages
Dependency issues
Increased program size
Less control over implementation
Linker
A linker is system software that combines object code modules and required library code to produce an executable program.
Functions
Combine object files
Resolve external references
Link library routines
Produce executable code
Loader
A loader is system software that loads an executable program from secondary storage into RAM for execution.
Functions
Locate executable
Load into memory
Allocate memory
Prepare execution environment
Start execution