Lesson 3 Computer Software
Lesson 3 Computer Software
Software
● Software is a set of instructions which the computer needs for operation or function.
• Needs to be regularly upgraded to keep up with developing technologies.
• Each software upgrade is identified by a version.
• A software version is a number which identifies a particular stage of developing a
software package.
Types of Software
• Mainly of two categories:
• System Software
– Enable the user to access the computer resources.
– Resources include input , output , storage and applications.
• Application Software
– Are task specific programs
– Performs specific function for he user directly for the user
– Examples include word processers, accounting programs etc.
System Software
Utility Programs
It is system software designed to help analyze, configure, optimize or maintain a computer. It is
used to support the computer infrastructure.
Utility software can be classified into: System utilities, storage management Utilities, File
management utilities and miscellaneous utilities.
System utilities.
1
● Disk checkers scan an operating hard drive and check for logical (filesystem) or physical
errors.
● Disk compression utilities transparently compress/uncompress the contents of a disk,
increasing the capacity of the disk.
● Disk defragmenters detect computer files whose contents are scattered across several
locations on the hard disk, and move the fragments to one location to increase efficiency.
● Disk format prepares a data storage device such as a hard disk drive, solid-state drive, floppy
disk or USB flash drive for initial use.
● Disk partition editors divide an individual drive into multiple logical drives, each with its own
file system which can be mounted by the operating system and treated as an individual drive.
● Disk space analyzers provide a visualization of disk space usage by getting the size for each
folder (including sub folders) & files in folder or drive showing the distribution of the used
space.
● Tape initializers write a label to a magnetic tape or other magnetic medium.
● Archivers output a stream or a single file when provided with a directory or a set of files.
Archive suites may include compression and encryption capabilities. Some archive utilities
have a separate un-archive utility for the reverse operation.
● Backup software makes copies of all information stored on a disk and restores either the
entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental
deletion).
● Cryptographic utilities encrypt and decrypt streams and files.
● Data compression utilities output a shorter stream or a smaller file when provided with a
stream or file.
● Data synchronization utilities establish consistency among data from a source to a target
data storage and vice versa. There are several branches of this type of utility:
● File synchronization utilities maintain consistency between two sources. They may be
used to create redundancy or backup copies but are also used to help users carry their
digital music, photos and video in their mobile devices.
● Revision control utilities can recreate a coherent structure where multiple users
simultaneously modify the same file.
● Disk cleaners find files that are unnecessary to computer operation, or take up considerable
amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk
is full.
● File managers provide a convenient method of performing routine data management, email
recovery and management tasks, such as deleting, renaming, cataloging, moving, copying,
merging, generating and modifying folders and data sets.
Miscellaneous utilities
2
● Data generators create a file of test data according to specified patterns.
● Hex editors directly modify the text or data of a file. These files can be data or an actual
program.
● HTML checkers validate HTML code and check links.
● Sort/Merge programs arrange records (lines) in a file into a specified sequence.
Firmware
Firmware is software that is embedded in a piece of hardware.
APPLICATION SOFTWARE
These are programs developed, packaged and then made available for purchase either directly
from the developer, through a vendor or a distributor. They are used for a wide variety of
purposes.
3
● Are menu-driven; hence, easy to learn and use.
● Are usually provided with extensive documentation to help the user.
● Relatively quick results are obtained.
● Can be rented, hence, helps in cutting maintenance costs.
Disadvantages of packages
● The purchaser is not in direct control of the software because; he/she is not involved in
developing it.
● Packages are produced to meet general needs; hence, may not deal with the specific user or
company needs.
● Packages cannot be modified (customized) due to the application of the developer’s
copyright acts.
● Packages include extra facilities which may not be required by an individual user or
company.
● Packages may allow only a clumsy solution to the task at hand.
● Some packages have capabilities which will require the user to develop them further.
● It is easy to forget the commands to use the package, especially if it is not used frequently.
Software Copyright
• Holding copyright (©) is holding ownership of an intellectual property
• Owner of the property has exclusive right to Distribute and copy the software.
• Permission must be obtained by anyone else to reuse the software.
• Permission is granted by means of a software license.
• A software license rep. an agreement to use a software product.
• The owner gets paid for their investment in time, money and expertise in creating the
product.
License Agreement
• Main purpose is to ensure that use of particular software is in compliance with the license
issued with it.
• Using, copying or distributing software without paying for it or not using it in compliance
with the license agreement is Software Piracy.
4
Shareware/Trial ware
• Software that is copyright-protected but may be downloaded and used for free for a limited
time after which the user is asked to voluntarily send the author a small payment and register
the product.
• Its proprietary Software that is provided to users without payment on a trial basis
• its often limited by any combination of functionality, they are for used demos. Eg AVG
antivirus trial version.
Freeware
• Copyrighted © software that can be copied, used and distributed at no charge ( totally free).
• They are mostly downloaded from the internet.
• Cannot be changed by other users or developers.
• Examples include: Mozilla Firefox for browsing.
Low-level languages are near to computer hardware and far from human languages. The two
low-level languages are machine language and assembly language.
i. machine language
A type of language in which instructions are written in binary form is called machine language.
It is the only language that is directly understood by the computer. It is the fundamental
language of the computer.
Assembly language is a low-level language. It is one step higher than machine language. In
assembly language, symbols are used instead of binary code. These symbols are called
mnemonics. For example, sub instruction is used to subtract two numbers. Assembly language
is also called symbolic language.
5
2. High level languages
A type of language that is close to human languages is called high level language. High-level
languages are easy to understand. Instructions of these languages are written in English-like
words such as input and print etc.
Examples
1. BASIC
2. FORTRAN
3. COBOL
4. C/C++
5. JAVA
6. VISUAL BASIC
6
7