1.2.2 Applications Generation Flashcards
What are the two main categories of software?
- Applications Software
- Systems Software
Applications Software
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
Systems Software
Needed by the system to control hardware and run applications.
Types:
- Utility Software
- Translators
- Library Programs
- Operating Systems
Utility Programs
Optimise the performance of a computer and perform useful background tasks
Examples:
- Disk defragmenter
- Automatic backup
- Automatic updating
- Antivirus software
- Compression software
Disk Defragmentation
- 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)
Defragmentation Benefits
- Files are stored closer together
- Resulting in a faster access time
Automatic Backup
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)
Automatic Updating
Runs in background, detecting software update releases and automatically installing them
Some updates may add new software features, or fix security issues
Antivirus Software
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
Compression Software
Can reduce the size of files - useful for sending files across the internet
Application Software Types
- General Purpose
- Bespoke
- Special Purpose
General Purpose Software
Can be used by the general public
(e.g. General apps, spreadsheets, calculator)
Bespoke Software
Software custom created for a specific user/company
Special Purpose
Software used by a small fraction of the public
(e.g. Graphic design apps, accounting apps)
Open Source Software
Allows anyone to access its source code
- Anyone can modify and sell it, on the condition that the software produced is open source too
Benefits of Open Source Software
- Can be modified and improved by anyone
- Technical support from online community
- Can be modified and sold
Disadvantages of Open Source Software
- Support available online may be insufficient or incorrect
- No user manual
- Lower security as it may not be developed in a controlled environment
Closed Source Software
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
Benefits of Closed Source Software
- 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
Disadvantages of Closed Source Software
- License can restrict how many people can use the software at once
- Users cannot modify and improve the software
Application Selection Criteria
- 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?
Types of Translators
- Compilers
- Assemblers
- Interpreters
Compilers
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
Interpreters
Translates high level language into machine code going line by line