Yangon Technological University
1/19
Computer Software
By Dr. Thanda Win
Professor
Department of Computer Engineering and Information Technology
Yangon Technological University
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Outlines
2/19
• Relationship between hardware, system software, application software,
• Various types of software and their examples
• Different ways of acquiring software
• Various steps of software development
• Firmware
• Middleware
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Software
3/19
Hardware
The physical devices of a computer system
Software
A collection of programs
Program
A sequence of instructions written in a language that can be understood by a computer
Software Package
A group of programs that solve a specific problem or perform a specific type of job
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Relationship between Hardware and Software
4/19
Both hardware and software are necessary for a computer to do useful job. They
are complementary 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.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Types of Software
5/19
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.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
System Software
6/19
System software performs one or more of the following functions:
Supports development of other application software
Supports execution of other application software
Monitors effective use of various hardware resources such as CPU, memory,
peripherals, etc.
Communicates with and controls operations of peripheral devices such as printer,
disk, tape, etc.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Contd.
7/19
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 called system programmers.
Examples of system software are operating systems, programming language translators,
utility programs, and communications software.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Application Software
8/19
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.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Logical System Architecture
9/19
Relationship among
hardware, system software,
application software, and
users of a computer system.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Ways of Acquiring Software
10/19
Buying pre-written software
Ordering customized software
Developing customized software
Downloading public-domain software
Each of these ways of acquiring software has its won advantages and limitations.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Advantages and Limitations of Buying Pre-written Software
11/19
Pre-written software usually costs less.
A user can start the planned activity can be started almost immediately
Often, operating efficiency and the capability to meet specific needs of user more
effectively is not as good for pre-written software packages as for in-house
developed software packages
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Advantages and Limitations of Ordering Customized Software
12/19
User need not maintain its own software development team, which is an
expensive affair.
User needs to always depend on the vendor for carrying out the changes and the
vendor may separately charge for every request for change
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Advantages and Limitations of Developing Customized
Software
13/19
Easier to carry out changes in the software, if it is developed in-house.
Developing software in-house means a major commitment of time, money, and
resources.
In-house software development team needs to be maintained and managed.
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Advantages and Limitations of Downloading Public-domain
Software
14/19
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
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Software Development Steps
15/19
Developing a software and putting it to use is a complex process and involves
following 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)
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Firmware
16/19
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
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Middleware
17/19
Basic idea is to have a separate software layer to:
Act as “glue” between client and server parts of application
Provide programming abstraction
Mask heterogeneity of underlying network, hardware, and OS
Encourages three-tier software architecture against two tier popularized by
Server-Client architecture
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
Next Lecture
18/19
Operating System
Main functions of operating system
Process management
Memory management
File management
Device management
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.
19/19
ANY QUESTIONS?
“Computer Fundamentals”, Pradeep K. Sinha and Priti Sinh, 6th Edition, 2011.