2. Introduction
Software fills the communication gap between humans
with problems to solve and computers that can only
understand zeros and ones.
The three major categories of software are:
Compilers and other translator programs, which allow
programmers to create other software.
Software applications, which serve as productivity tools to
help computer users solve problems.
System software, which coordinates hardware operations
and does behind-the-scenes work the computer user
seldom sees.
3. 5.1 PROCESSING WITH
PROGRAMS
Although computers are commonly called “smart
machines” or “intelligent machines,” a typical computer is
capable of doing only the most basic arithmetic operations
and a few simple logical comparisons. Computers seem
smart because they can perform these operations and
comparisons quickly and accurately.
An algorithm is a set of step-by-step procedures for
accomplishing a task. A computer program generally starts
as an algorithm written in English or some other human
language. A programmer’s job is to turn the algorithm into
a program by adding details, hammering out rough spots,
testing procedures, and correcting errors.
4. 5.1.2 The Language of Computers
Every computer processes instructions in a native machine
language. Machine language uses numeric codes to
represent the most basic computer operations—adding
numbers, subtracting numbers, comparing numbers,
moving numbers, repeating instructions, and so on.
Today most programmers use programming languages
like BASIC and C that fall somewhere between natural
human languages and precise machine languages. For a
computer to understand a program written in one of these
languages, it must use a compiler or other translator
program to convert the English-like instructions to the
zeros and ones of machine language.
5. The Language of Computers-
continued
As translators become more sophisticated,
programmers can communicate in computer
languages that more closely resemble natural
languages—the languages people speak and write
every day.
Most tasks that required programming two decades
ago can now be accomplished with easy-to-use
software applications—tools like word processors,
spreadsheets, and graphics programs.
6. 5.2.1 Consumer Applications
The differences between buying computer software and music
software (CDs or cassettes) are:
A computer software package generally includes printed
documentation—tutorial manuals and reference manuals that
explain how to use the software. Most modern software
packages have some kind of on-line documentation.
Most software companies continually work to improve their
products by removing bugs and adding new features.
A computer software buyer must be concerned with
compatibility.
According to the warranties printed on many software
packages, the applications might be worthless even if you have
compatible hardware and software.
7. When you buy a typical computer software package,
you’re not actually buying the software. Instead you’re
buying a software license to use the program on a single
machine. Virtually all commercially marketed software is
copyrighted, so it can’t be legally duplicated for
distribution to others; some disks (mostly games) are
physically copy-protected, so they can’t be copied at all.
In general, most successful software products share two
important characteristics.
Most successful software applications are built around
visual metaphors of real-world tools.
Most popular computer applications are successful
because they extend human capabilities in some way,
allowing users to do things that can’t be done easily, or at
all, with traditional tools.
8. 5.2.2 Integrated Applications and
Suites: Software Bundles
While most software packages specialize in a particular
application—word processing, graphics, or whatever—
integrated software packages include several applications
designed to work well together and they generally include
at least these six application types:
word processing
database
spreadsheet
graphics
telecommunications
personal information management (PIM) modules
9. The parts of an integrated package may not have all the features
of their separately packaged counterparts, but integrated
packages still offer several advantages:
They cost considerably less than the total cost of purchasing
individual programs that perform all of the separate functions.
They apply a similar look and feel to all of their applications, so
users don’t need to memorize different commands and
techniques for doing different tasks.
They allow quick and easy transfer of data between
applications. Many include interapplication communication
features, so changes created in one application are
automatically reflected in other applications.
10. 5.2.3 Vertical-Market and Custom
Software
Applications designed specifically for a particular
business or industry are sometimes called vertical-
market applications. Vertical-market applications
tend to cost far more than mass-market applications,
because companies that develop the software have
very few potential customers through which to
recover their development costs. In fact, some custom
applications are programmed specifically for single
clients.
11. 5.3 SYSTEM SOFTWARE: THE
HARDWARE-SOFTWARE CONNECTION
5.3.1 What the Operating System Does
Virtually all general-purpose computers today depend on
an operating system (OS) to keep hardware running
efficiently and to make the process of communication with
that hardware easier. The operating system, as the name
implies, is a system of programs that perform a variety of
functions, including:
Communicating with peripherals.
Coordinating concurrent processing of jobs.
Large, multi-user computers often work on several jobs at
the same time - a technique known as concurrent
processing. State-of-the-art parallel processing machines
use multiple CPUs to process jobs simultaneously.
12. If a PC has multitasking capabilities, the user can
issue a command that initiates a process and continue
working with other applications while the computer
follows through on the command.
Memory management.
Resource monitoring, accounting, and security.
Program and data management.
Co-ordinating network communications.
13. 5.3.2 Utility Programs
Utility programs serve as tools for doing system
maintenance and some repairs that aren’t
automatically handled by the operating system.
Where the Operating System Lives
Some computers—mostly game machines and
special-purpose computers—store their operating
systems permanently in ROM (read-only memory) so
they are ready to go to work as soon as they are
turned on. But because ROM is unchangeable, these
machines can’t have their operating systems modified
or upgraded without hardware transplants.
14. 5.4 THE USER INTERFACE: THE
HUMAN-MACHINE CONNECTION
As software evolves, so does the user interface—the look
and feel of the computing experience from a human point
of view.
Some popular user interfaces are:
MS-DOS, the operating system that’s standard equipment
in millions of IBM-compatible computers (computers that
are functionally identical to an IBM personal computer
and therefore capable of running IBM-compatible
software).
Apple’s Macintosh, the most popular alternative to IBM-
compatible computers.
Microsoft Windows, software that provides a Macintosh-
like user interface for IBM-compatible computers.
15. 5.4 THE USER INTERFACE: THE
HUMAN-MACHINE CONNECTION
As software evolves, so does the user interface—the look
and feel of the computing experience from a human point
of view.
Some popular user interfaces are:
MS-DOS, the operating system that’s standard equipment
in millions of IBM-compatible computers (computers that
are functionally identical to an IBM personal computer
and therefore capable of running IBM-compatible
software).
Apple’s Macintosh, the most popular alternative to IBM-
compatible computers.
Microsoft Windows, software that provides a Macintosh-
like user interface for IBM-compatible computers.
16. 5.4.3 Why WIMP Won
Graphical user interfaces with windows, icons,
menus, and pointing devices (sometimes called
WIMP) offer several clear advantages from the user’s
point of view:
They’re intuitive
They’re consistent
They’re forgiving
They’re protective
They’re flexible
17. Example of WIMP Interface
In the picture above notice that all the menus contain
icons and everything can be selected by a mouse
pointer think about your first cell phone, the Nokia
3310 was it as user friendly as current phones!
18. 5.4.4 Multiple User Operating
Systems: UNIX and Linux
UNIX, developed at Bell Labs in the time before PCs,
allows a timesharing computer to communicate with
several other computers or terminals at once. UNIX is
a command-line, character-based operating system at
heart, although several versions have shells with
graphical interfaces.
19. Example of Linux Interface
notice the picture below looks like windows but is
actually a Linux operating system!