computer software
Definition:
A computer software can be defined as a set of instructions given to the computer to solve a problem
- A software is a single collection of programs that performs a particular task
- Software can also be called programs
Types of Computer Software
There are basically 2 categories of software: SYSTEM SOFTWARE & APPLICATION SOFTWARE
-
SYSTEM SOFTWARE:
- System software are programs or software which manages and controls the hardware so that application software can perform a task.
- System software controls the overall system Example:
(i) Operating system:
An operating system is a system software that manages the computer hardware and provides common services for execution of various application software.
The operating system act as an intermediary between application programs and computer hardware.
Example: Windows, LINUX, UNIX, Mac etc.
(ii) Language translators:
A language translator is a system software which convert the high-level language to a machine level language for the purpose of machine understanding.
The machine understands the machine level language or binary 0’s and 1’s
There are 3 types of language translators which are:
- Compilers: a compiler translates the whole code written in High level language to a machine language.
- Interpreters: An interpreter translates a High-level Language to a machine language Line-BY-Line. it is slower than a compiler. It takes less time; it is used in prototyping and testing code.
- Assemblers: it translates an Assembly Language to a machine Language. Assembly language consists of Mnemonics for machine opcode.
(iii) Utility Programs:
Utility software is a system software that allows a user to analyze, configure and maintain the computer
It manages and controls the overall performance of the computer system
Example of utility software are
Disk Scanners:
- A disk scanner is a utility software that detects problems on the Hard Disk or Floppy Disk.
- A disk scanner searches for and remove unnecessary files
Backup Utility:
- Copies selected files or entire hard disk onto another disk.
- Compresses files during backup to acquire less storage space
Disk defragmenter:
- It is a utility software that reorganizes files and unused spaces on hard disk so programs run faster.
Diagnostic Utility:
- A utility software that compiles for technical into about hardware and some software.
- A diagnostic software prepares report outlining problems.
Antivirus Programs:
- A utility software that identifies and removes viruses in memory, storage media and incoming files. Ex: Avast, Avira, Norton etc.
Device drivers:
- A device driver is a computer programs that operates or controls a particular type of device that is attached to a computer.
- It permits a device to communicate with a computer e.g Printer drivers, USB drivers.
-
APPLICATION SOFTWARE
Application software are also called productivity programs or end-user programs.
Definition:
- An application software is a program or group of programs designed for end-users.
- They help users complete tasks like creating documents, database, presentations, spreadsheets.
- There are generally 2 categories of application software which are General Purpose application software and Specific purpose Application software.
(i) General purpose (Off- the shelf) application software
General purpose application software is designed to perform a broader class of functions.
You can use this software for more than one purposes but limited capabilities.
Examples are:
- Word processing software (MS word, Open office org)
- Spreadsheet software (Microsoft Excel, Lotus 1.2.3)
- Database Management Software (Microsoft access)
- Presentation software (Microsoft power point)
- Publishing software (Microsoft Publisher)
- Browsers (Mozilla Firefox, Tor browser, Internet explorer)
- Gaming software
Assignment:
- State the uses of each of this application software above
- What is and application package and give example.
(ii) Custom-Made (Specific purpose or Tailor- made) application software.
Tailor made application software is one which is designed to carry out a specific set of tasks. This software is usually in line with the requirements of a paying customer.
You can use this software for less purpose but with greater capabilities for each.
Examples of tailor-made software is:
- Banking software
- Cybercafé administrating software
- Industrial Automation software
Assignment:
Differentiate between custom made application software and General-purpose application software.
Attributes of a good software
For a software to be considered as a good software, it should possess one of the following attributes
- Maintainability: This is the ability of the system to support changes and fixes.
- Usability: This implies that a software should be designed such that it is for users to perform basic tasks on the system.
- Scalability: this is the ability for a system to handle load be it increases o decreased. The ability of a software to increase without decrease in performance or the possibility to rapidly increase the load.
- Re-usability: It is the chance of using a component or system in other components or systems with small or no changes.
- Security: The responsibility of a system to reduce the likelihood of malicious or accidental actions as well as the possibility of theft or loss of data.
- Availability: The responsibility of a software to continue to operate under predefined conditions.
- Portability: The ability of a software to run on multiple platforms without any problems.
Types and ways of acquiring a software
- Shareware: this is a software usually distributed on free trial basis with the intention of sale when the trial period is over. This software can be downloaded from the website e.g., antivirus.
- Lite-ware: This id a type of software that is sharable with some capabilities disabled until the full version is purchased.
- Freeware: this is a software that can be downloaded for free but with copyright
- Public domain software: This category of software is not copyrighted; it is released without any condition upon its use.
- Open-source software: A type of software where the source code is furnished and the users agree not to limit the distribution of improvement.
- Proprietary software: this is a software that remains the property of its owner or creator and is used by end users or organizations under predefined condition.
What is copyright?
Nowadays most software (shareware, freeware) can be
- Downloaded from the internet (the company’s website) or from service providers
- Can be packaged in CD ROM and bought in the market.
Other software terms
- UPDATE: a software update is a term which means providing additional functionalities, fixes, patches, modifications of an existing software to improve efficiency of the existing software e.g. updating an antivirus.
- UPGRADE: a software upgrade is a new version of software that is downloaded to replace or completely change entirely the existing software. E.g. Upgrading windows 7 to windows 10
- A firmware: A specialized software that allows a hardware to run. It provides necessary instructions for how the device communicates with other computer hardware. This type of program is embedded onto a special area of the hardware non volatile memory e.g., ROM or Microprocessor, Tv remote control, appliances, peripherals (almost all devices)