Week6- Computer Software
Computer Software
Hardware: refers to physical devices
Software : set of computer programs & procedures
Computer Program : sequence of instructions
written in a language that is understood by computer
Software Package : group of programs that solve a
specific problem
Relationship between hardware & Software
Both hardware and software are necessary for a computer
to do useful job. They are complementary to each other
Same hardware can be loaded with different software to
make a computer system perform different types of jobs
Except for upgrades, hardware is normally a one-
time expense, whereas software is a continuing
expense
Upgrades refer to renewing or changing components like
increasing the main memory, or hard disk capacities, or
adding speakers, modems, etc.
Types of Software
Most software can be divided into two major categories:
System software are designed to control the operation
and extend the processing capability of a computer system
Application software are designed to solve a specific
problem or to do a specific task
System Software
Make the operation of a computer system more effective and
efficient
Help hardware components work together and provide support
for the development and execution of application software
Programs included in a system software package are called
system programs and programmers who prepare them are called
system programmers
Examples of system software are operating systems,
programming language translators, utility programs, and
communications software
Application Software
Solve a specific problem or do a specific task
Programs included in an application software package are called
application programs and the programmers who prepare them
are called application programmers
Examples of application software are word processing, inventory
management, preparation of tax returns, banking, etc
Logical System Architecture
Ways of Acquiring Software
Buying a prewritten program
Buying a customized software
Developing a customized software
Downloading a public domain software
Prewritten Software
Costs less
Planned activity can start immediately
Operating efficiency & capability is not good
Customized Software
Expensive
Always depend on vendor to make changes
Developing a Software
Easier to carry out changes
Commitment of time & money
Development team needed
Public-domain Software
Available for free or as shareware, and are usually
accompanied with source code
Usually community-supported as author does not support
users directly
Can be downloaded and used immediately
They may not be properly tested before release
Open Source Software (OSS) are becoming popular due to:
Allows any user to download, view, modify, and redistribute
User can fix bugs or change software to suit needs
Copyright is protected for both original and subsequent authors
Not all open source software are free and vise-verse
Software Development Steps
Analyzing the problem at hand and planning the
program(s) to solve the problem
Coding the program(s)
Testing, debugging, and documenting the program(s)
Implementing the program(s)
Evaluating and maintaining the program(s)
Firmware
Firmware is software substituted for hardware and
stored in read-only memory
Firmware technology has enabled production of various
types of smart machines having microprocessor chips
with embedded software
Middleware
Set of tools that helps application to use network
resources and services
Act as “glue” between client and server parts of an application
Provide programming abstraction
Mask heterogeneity of underlying network, hardware, and OS