0% found this document useful (0 votes)
44 views23 pages

Computer Software Jules 2023

This document describes different types of computer software. It discusses system software like operating systems which control computer hardware and allow other programs to run. It also describes utility software, library programs, and programming language translators which are types of system software. The document then explains application software which are programs designed for specific tasks, including general purpose applications and special purpose applications. It notes bespoke software is custom-made for a specific organization.

Uploaded by

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

Computer Software Jules 2023

This document describes different types of computer software. It discusses system software like operating systems which control computer hardware and allow other programs to run. It also describes utility software, library programs, and programming language translators which are types of system software. The document then explains application software which are programs designed for specific tasks, including general purpose applications and special purpose applications. It notes bespoke software is custom-made for a specific organization.

Uploaded by

ameliakeza1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Computer software

By AMELIA KEZA 8B
Objectives

Having studied this session the student will be able to:


• Describe what software is
• Classify computer software according to the usage of them
• Give examples for each category of computer software
What is Software?

• Software, also called a computer program or simply a program, is a


series of instructions that tells the hardware of a computer what to do.
For example, some instructions direct the computer to allow you to
input data from the keyboard and store it in memory. Other
instructions cause data stored in memory to be used in calculations
such as adding a series of numbers to obtain a total.
Categories of Software

Computer
Software

System Application
Software Software

Operating General
Sytems Purpose

Utility Software Special purpose

Library
Bespoke
Programs

Programming
Language
Translaters
System Software

• System software consists of the programs that control the operations of the
computer and its devices. Functions that system software performs include
starting up the computer; opening, executing, running, applications; storing,
retrieving, and copying files; formatting disks; reducing file sizes; and backing
up the contents of a hard disk. Accordingly you can see that the System
Software will handle the smooth running of all the components of the
computer as well as providing general functionality for other programs to use,
tools to speed up the computer, tools to develop new software and programs
to keep you safe from attacks.
Operating System

• The Operating System contains instructions that co-ordinate all of the


activities of hardware devices of your computer. It also contains instructions
that allow you to run any applications software. One may define the
Operating system as an interface between a user and all computer
resources.
Types of Operating System

• Single-user OS: A type of OS which allows only one user at a time.


There can be single-user OS either as single-user single-task or single-
user multi-task. The Single-user single-task OS has to deal with only
one person at a time running only one application at a time. MS DOS
is an example for a single user single task OS.
Types of Operating System

• Multi-user OS: In some situations, we need to share the single computer


among few users. So the OS should be a multi-user where more than one
user is logged on to the computer and uses it at the same time. These multi
users may work with remote desktop connections. Further, these different
users may need to run different applications at the same time. So the OS
must support multi-task facility as well. Obviously the computer should be
a powerful one. Each user draws on a big power of the computer in a shared
way.
Desktop OS vs. Server OS

The OS can also be categorized as Desktop OS and Server OS depending on


whether the OS is to be installed in a desktop computer or a server. For
example, the latest versions of the Windows OS family can be categorized as
follows:
• Desktop OS: windows XP, windows 7, Windows 8
• Server OS: Windows 2000Server, Windows 2005Server, Windows
2008Server
Utility Software
Utility software or utility programs are some small programs which performs specific task, usually related to
managing a computer, its devices, or its programs. Most operating systems include several utility programs.
• Viewing files
• Compressing files
• Diagnosing problems
• Scanning disks
• Defragmenting disks
• Uninstalling software
• Backing up files and disks
• Checking for viruses
• Displaying screen savers
Library Programs

• Library programs are collections of some pre-written codes or resources that are used
to develop other programs. For an example, you might have noticed that all Microsoft
Programs look like the same or have the same look and feel in the interfaces though
the application differs. The reason for this consistent look is the using of same
graphical user interface libraries when developing different applications by the
Microsoft. Another classical example is, the computer game developers often buy and
use pre-done graphical user interface libraries and develop new games as they need to
save time and cost of entire development process. This will allow them to quickly
develop a good looking game that runs on the desired hardware. In w\Windows, you
can often identify library programs by their extension .dll (dynamic link library).
Programming Language Translators

• You are already aware that a Program is a set of instructions written for
performing a specific task. These instructions are just like English words. We call
that these programs are written in programming languages that can be
understood by human beings. These written programs are called that Source
codes. However, some programs run on a machine code that is executed directly
on computer architecture. Machine code is not easily read by humans and it is a
long series of bits (i.e. ones-1 and zeros-0). Therefore, the source code is to be
converted into machine code which is called an object program. This translation
can be done by translator. Simply, the translators translate source code into
machine code
Programming Language Translators

There are three approaches of program translating:


• Assembler: An assembler translates the symbolic codes of programs of an assembly language into
machine language instructions (See Figure 4.7 below). The symbolic language is translated to the
machine code in the ratio of one is to one symbolic instructions to one machine code instructions.
Such types of languages are called low-level languages. The assembler programs translate the low-
level language to the machine code. The translation job is performed either manually or with a
program called assembler. In hand assembly, the programmer uses the set of instructions supplied
by the manufacturer. In this case, the hexadecimal code for the mnemonic instruction is searched
from the code sheet. This procedure is tedious and time-consuming. Alternate solution to this is the
use of assemblers. The program called assembler provides the codes of the mnemonics. This proce
is fast and facilitates the user in developing the program speedily
• Interpreter: Interpreters also come in the group of translators. It helps the user
to execute the source program with a few differences as compared to compilers.
The source program is just like English Figure 4.7: Assembler 49 statements in
both interpreters and compilers. The interpreter also generates object codes from
the source program. Interpreter reads the program line by line, whereas in
compiler the entire program is read by the compiler, which then generates the
object codes. Interpreter directly executes the program from its source code. Due
to this, every time the source code should be inputted to the interpreter. In other
words, each line is converted into the object codes. It takes very less time for
execution because no intermediate object code is generated.
Programming Language Translators

• Compiler: Compilers are the translators, which translate all the instructions of
the program into machine codes, which can be used again and again (See
Figure 4.8 below). The source program is input to the compiler. The object code
is output for the secondary storage device. The entire program will be read by
the compiler first and generates the object code. However, in interpreter each
line is executed and object code is provided. M-BASIC is an example of an
interpreter. High-level languages such as C, C++ and Java compilers are
employed. The compiler displays the list of errors and warnings for the
statements violating the syntax rules of the language. Compilers also have the
ability of linking subroutines of the program.
Application Software
Re-call the classification of software given in Figure 4.1. Accordingly, the second
major class of Software is the Application Software. Application software consists of
programs designed to perform specific tasks of users. Application Software, also
called a software application or an application, can be used for the following
purposes, among others:
• As a productivity/business tool
• To assist with graphics and multimedia projects
• To support household activities, for personal business, or for education
• To facilitate communications
General Purpose Application Software

• A general purpose application is also called „off-the-shelf‟ applications. These


are the software you use at home, university, or at work place to make you
more effective and efficient while performing daily activities. These include
applications such as word processors, spreadsheets, databases, desktop
publishing packages, presentation packages, graphics packages, text editors,
etc
Special Purpose Application Software

• Special Purpose Application Software is the software created for execution of a


single specific task. Some examples are Chess game, calculator, camera
application in your mobile phone which allows you only to capture and share
pictures, web browsers, media players, calendar programs
Bespoke Application Software

• Some organizations may feel that the general purpose software are not
suitable for their task and it does not exactly what they want or it does not
tallying with the current system in the organization. In this type of situation,
they decide on designing and developing software specifically for them.
These softwares are also called as the „tailor-made software‟ or „Bespoke
software‟ as they are made to a specific user and customized for a specific
task only.
Bespoke Application Software

Following are the advantages and disadvantages of bespoke software:


Advantages:
• The organization will get the exact system that they need
• The software will work exactly how they want it to work
• The software will only have the features that they specifically need in their
job or business feeling them comfortable to use
Bespoke Application Software

Disadvantages:
• It takes more time to develop such systems. The development duration
several months or years
• Developmental cost is very high
• Sometimes it is required to employ a team of people at different stages of
the development process such as analysts, programmers, testers, etc.
Bespoke Application Software
Following are some examples for bespoke software:
• Membership database (Insurance Industry)
• Dispatch Systems (Factory/Processing Industries)
• Sales order Systems (Newspaper Industries)
• Invoicing System (Motor Industries)
• Freelancer System (Newspaper Industries)
• Calibrating Software (Pharmaceutical Industries)
• Software that checks all medical devises to ensure that all are correctly calibrated
• Educated Marketing database (Education)
• Event Planning Database (Manages invitations, member registrations, and seminar places)
• Marketing Databases (territory management, telemarketing, direct mail campaigns, analysis)
• Sales Training Databases (Management reports of personal attainment, history, and team performance)
Self Assessment Questions

4.1 What is Software?


4.2 Differentiate System software and Application software.
4.3 What are the responsibilities of Operating Systems?
4.4 Define the following with suitable examples.
a. Single–user OS
b. Multi-user OS
4.5 What are utility programs? Define some tasks performed by them.
4.6 What is meant by library programs?
4.7 What are program language translators? Briefly describe three translating approaches.
4.8 State the advantages and disadvantages of Bespoke Application Software.

You might also like