0% found this document useful (0 votes)
2 views19 pages

Topic 8 Computer Software

The document provides an overview of computer software, detailing the relationship between hardware and software, types of software (system and application), and methods of acquiring software. It outlines the software development process, including steps from problem analysis to maintenance, and discusses firmware and middleware. Additionally, it highlights the advantages and limitations of various software acquisition methods, including pre-written, customized, and public-domain software.

Uploaded by

AUNG BHONE OO
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views19 pages

Topic 8 Computer Software

The document provides an overview of computer software, detailing the relationship between hardware and software, types of software (system and application), and methods of acquiring software. It outlines the software development process, including steps from problem analysis to maintenance, and discusses firmware and middleware. Additionally, it highlights the advantages and limitations of various software acquisition methods, including pre-written, customized, and public-domain software.

Uploaded by

AUNG BHONE OO
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.

You might also like