Computer Software
Nov 17, 2009
What is Software?
• A collection of computer programs, procedures,
and documentation used to complete some task
on a computer
• Programs are instructions written in
programming languages, such as C and C++
and are known as the source code
• Procedures are algorithms (flow charts) or finite
sequences of instructions for solving a problem
• Documentation is written text and diagrams
explaining the use of software as well as its
architecture and design
Types of Software
• System software – e.g. operating system
and device drivers which interface with the
hardware
• Programming software – e.g. compilers
and debuggers
• Application software – e.g. word
processors, video games, etc.
Relationship between Hardware
and Software
System Software
System Software
• System software helps run the computer
hardware and computer system
• Examples: Windows XP, Linux and Mac
• A combination of
– Device drivers
– Operating systems
– Servers
– Utilities
– Windowing systems
Device Driver
• A program that determines how a computer will
communicate with a peripheral device
• In other words, it controls a particular type of
device attached to your computer
• There are device drivers for printers, displays,
CD-ROM drives, diskette drives, and so on
• Some device drivers come with the operating
system however, when you attach a device the
operating system does not recognize you will
have to install the new driver in order to use that
device
Operating System
• An interface between hardware and user, which
manages the resources and acts as a host for running
application programs
• Almost all computers (including handheld computers,
desktop computers, supercomputers, video game
consoles) and domestic appliances (dishwashers,
washing machines), and portable media players use an
operating system of some type
• Users can interact directly with the operating system
through a user interface such as a command language
(command line interface) or a graphical user interface
(GUI)
Server
• A computer program that delivers a service to
clients
• The server and client programs are usually, but
not necessarily, running on different computers
communicating over a network
• Example: A web server delivers a web page
when requested by a web browser (client)
• The predefined way a server and client
communicates is called a protocol, e.g. HTTP
(Hyper Text Transfer Protocol) is the protocol
used between a browser and a web server
Utility Software
• Utility software or service programs are
software designed to help manage and
tune the hardware, operating system, or
application software
• Most of these programs are integrated into
operating systems
• Examples: Disk cleaners, disk
defragmenters, disk compression utilities,
anti-virus utilities, etc.
Windowing System
• A component of GUI or desktop
environment, which supports the
implementation of window managers and
pointing devices like mice
• The mouse cursor is also generally drawn
by the windowing system
• A windowing system enables the computer
user to work with several programs at the
same time
KDE Desktop
Programming Software
Programming Software
• These programs provide tools to assist a
programmer in writing computer programs
• Examples:
– Compilers
– Debuggers
– Interpreters
– Linkers
– Text editors
Application Software
Application Software
• Application software allows users to accomplish
one or more specific tasks
• Also known as software application or simply
applications or apps
• An application can manipulate text, numbers,
graphics, or a combination of these
• Examples:
– Word processors
– Spreadsheets
– Media players
– Database applications
Types of Application Software
• Enterprise infrastructure software (e.g. database
management system)
• Content access software (e.g. electronic media software
like media players and web browsers)
• Information worker software (e.g. word processing and
accounting software)
• Educational software (e.g. learning management
software)
• Simulation software (e.g. scientific or battlefield
simulators)
• Media development software (e.g. sound editing
software)
Some Terms Related to Software
• Firmware – a combination of hardware and
software, computer chips that have data or
programs recorded on them (e.g. ROM)
• Freeware – computer software available for use
at no cost, freeware usually does not come with
help files or any other type of support
• Adware – free software that also includes ads
so that the developer may make money (ad-
sponsored freeware)
• Shareware – computer software that requires a
payment if it is to be used past a trial date
Viruses and Spyware
• Malware – a general term covering all types of
“malicious software” including viruses, worms, spyware,
and trojans
• A virus is a piece of malicious software code written to
cause some kind of damage to a computer system
• Viruses spread automatically
• Spyware is like adware but it is more harmful as it is
designed to steal something from your computer
• Spyware can often be hard to remove as it can
continually recreate itself and hide somewhere on your
hard drive
• How to be safe: install spyware checker (e.g. Spybot
Search & Destroy) as well as some anti-virus software
Cookies
• Cookies are small text files that websites leave
on your system so that when you return they can
count you as a returning visitor
• Cookies are harmless to your computer; in fact
most of them are useful as they store
information like items in your shopping cart and
login details
• Cookies are NOT spyware
• When browsing on a public computer it is
advisable to clear the cookies after you’re done
THE END