0% found this document useful (0 votes)
13 views99 pages

Topic 6-Computer Software

Uploaded by

gravinrichman75
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0% found this document useful (0 votes)
13 views99 pages

Topic 6-Computer Software

Uploaded by

gravinrichman75
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 99

COMPUTER SOFTWARE

BY
AGUTI JOSEPHINE

1
COMPUTER SOFTWARE
• Computer software refers to the
electronic instructions and procedures
that command and control the
operation of a computer.

2
3
TYPES OF SOFTWARE
There are mainly two types of software.
•System Software
•Application software

4
SYSTEM SOFTWARE
System software refers to a category of software that
enables the computer to work and as well control devices
connected to it.
Or It refers the software that performs tasks related to the
operation and performance of the computer system.
System software is a set of programs designed to manage
operations of the computer and avail computer resources to
the user.

5
Functions of system software
 Booting the computer
 Making sure that all hardware elements are working properly
 Performing operations such as retrieving, loading, executing
and storing application programs
 Storing and retrieving files
 Performing a variety of system utility functions.

6
CATEGORIES OF SYSTEM SOFTWARE
There are three categories of system software.
•Operating system
•Utility programs
•Programming

7
OPERATING SYSTEM SOFTWARE
Operating system is a system software that performs daily
activities of a computer.
These are programs that manage the computer resources.
An Operating System performs all the basic tasks like
managing file,process, and memory. Thus operating system
acts as manager of all the resources, i.e. resource manager.
Thus operating system becomes an interface between user
and machine.
8
Types of operating system

•Single User Operating System/Stand alone OS


•Network Operating system
•Embedded operating system

9
Network Operating System
• These systems runs on a server and provides the capability to manage
data, users, groups, security, applications, and other networking functions.
These type of operating systems allows shared access of files, printers,
security, applications, and other networking functions over a small private
network. One more important aspect of Network Operating Systems is
that all the users are well aware of the underlying configuration, of all
other users within the network, their individual connections etc. and that’s
why these computers are popularly known as tightly coupled systems

10
Network Operating System

11
Advantages of Network Operating
System:
• Highly stable centralized servers.
• Security concerns are handled through servers.
• New technologies and hardware up-gradation are
easily integrated to the system.
• Server access are possible remotely from different
locations and types of systems

12
Disadvantages of Network Operating
System
• Servers are costly.
• User has to depend on central location for most
operations.
• Maintenance and updates are required regularly.

13
Examples of Network Operating System
• Microsoft Windows Server 2003
• Microsoft Windows Server 2008
• UNIX
• Linux
• Mac OS X
• Novell NetWare, and BSD etc

14
Examples of Operating System Software
• Windows operating system
• Linux , Unix, Ubuntu Operating System
• Macintosh(MAC)
• Chrome operating system
• Novell operating system
• Android for mobile phones
• Apple Operating system
15
Function Of Operating System (Os)
• It helps in processor management e.g. multitasking and
time sharing.
• Control the use of peripheral devices.
• It provides an environment that enables installation of
application software
• Controls the booting process of a computer
• Monitors system performance.

16
Functions cont’d
• Helps in administering security
• It helps in file management.
• It helps in connecting devices to work with
computer(configuring of devices)
• Responsible for scheduling computer tasks/jobs
• Helps to establish network connections.

17
Managing tasks
• Among the ways operating system manage tasks in
order to run more efficiently is to use the technique of
i. Multiprogramming
ii. Time-sharing
iii.Multiprocessing
iv.Multitasking

18
Multiprogramming
• A multiprogramming is a parallel processing in which the multiple
programs can run simultaneously.
• Multiprogramming is the allocation of more than one concurrent program
on a computer system and its resources.
• Multiprogramming allows using the CPU effectively by allowing various
users to use the CPU and I/O devices effectively.
• Multiprogramming makes sure that the CPU always has something to
execute, thus increases the CPU utilization

19
Multiprogramming cont
• Multiprogramming is a rudimentary form of parallel processing in
which several programs are run at the same time on a
uniprocessor. Since there is only one processor, there can be no
true simultaneous execution of different programs. Instead, the
operating system executes part of one program, then part of
another, and so on. To the user it appears that all programs are
executing at the same time

20
Advantages of Multiprogramming
• CPU is used most of time and never become idle
• The system looks fast as all the tasks runs in parallel
• Short time jobs are completed faster than long time jobs
• Multiprogramming systems support multiply users
• Resources are used nicely
• Total read time taken to execute program/job decreases
• Response time is shorter
• In some applications multiple tasks are running and multiprogramming
systems better handle these type of applications

21
Disadvantages of multiprogramming systems
• It is difficult to program a system because of complicated
schedule handling
• Tracking all tasks/processes is sometimes difficult to handle
• Due to high load of tasks, long time jobs have to wait long

22
Time sharing
• Time-sharing is a technique which enables many
people, located at various terminals, to use a
particular computer system at the same time.

23
Multitasking
• Multitasking has the same meaning of multiprogramming but in a
more general sense, as it refers to having multiple (programs,
processes, tasks, threads) running at the same time. This term is
used in modern operating systems when multiple tasks share a
common processing resource (e.g., CPU and Memory). At any
time the CPU is executing one task only while other tasks waiting
their turn. The illusion of parallelism is achieved when the CPU is
reassigned to another task

24
Multiprocessing
• In fact, multiprocessing refers to the hardware (i.e., the CPU units) rather
than the software (i.e., running processes). If the underlying hardware
provides more than one processor then that is multiprocessing. Several
variations on the basic scheme exist, e.g., multiple cores on one die or
multiple dies in one package or multiple packages in one system.
Anyway, a system can be both multiprogrammed by having multiple
programs running at the same time and multiprocessing by having more
than one physical processor

25
Forms of Operating System interfaces
There are two forms of Operating user interfaces.
1. Command-Line User Interface:
2. Graphical User interface

26
Command-Line User Interface:
With a command line interface, a user types keyboard or press
special keys on the keyboard to enter data and instructions.
The set of commands a user uses to interact with the computer
is called command language. Examples are DOS, UNIX, Linux
You are provided with a virtually empty screen with a blinking
cursor where commands are keyed and the computer executes
them by pressing the enter key.

27
Advantages of Command User Interface:
• Commands are executed faster.
• Consumes limited Random Access Memory
• Can not easily affected by viruses
• Ideal for programming and programmers
• Commands can be grouped together.

28
Disadvantages of Command User Interfaces
• Commands are not easily memorized
• Requires a lot of knowledge to master the commands.
• Commands have to be typed correctly
• No graphics on the screen.
• A mouse cannot be used

29
Graphical User Interface(GUI)
• Graphical user interface allows the user to use menus
and visual images such as icons, buttons and other
graphical objects to issue commands.

30
Advantages of (GUI)
• It is user friendly because it is easy to learn and work with
• There is no need to type and memorize any command
language.
• The interface is similar for any application.
• You are provided with a coloured screen with icons each
representing a program.
• A mouse may be used.

31
Disadvantages of (GUI)
• Require much more memory and as well as the
processor
• Require much more desk space to hold the files
• Difficult to automate for expert users
• Easily affected by viruses.
• Not good for programmers.

32
UTILITY SOFTWARE
• This is parts of system software which are designed
to configure, analyze, optimize and maintain a
computer in its operation

33
Functions of the Utility Programs
• It detects and protects a computer against computer viruses
• It reduces screen burnout (ghosting) by playing a screen saver
• It increases desk space by compressing data files
• It checks disk errors and sometimes fix them
• It stores the system functionality (i.e. system store)
• It enables computers to sort files in order. fragment
• It enables a user to merge files
• It defragments hard disks
• It enables a user to encrypt files.
34
Common Utilities used
• Antivirus utility: used to search, find and remove
viruses from the computer
• System archivers: These output a stream or a single
file when provided with a directory/set of files.
• Disk checkers: these scan an operating hard drive for
logical (file system) and physical errors

35
Common Utilities used cont’d
• Backup utility: makes a copy of all information stored on
the hard disk onto another storage medium e.g external
hard disk, dvds, etc.
• Cryptographic utilities: used to encrypt and decrypt
streams of files.
• Data compression utilities: output a smaller file when
provided with a file.

36
Common Utilities used cont’d
• Disk compressors: these compress/reduce the size of the file thus
increasing the capacity of the disk.
• Disk defragmenters: These detect computer files whose content
is scattered in several locations on the hard disk and move
fragments to one location to increase efficiency.
• Screen savers: these prevent phosphor burn-in on CRT and
plasma monitors by filling it with moving images, patterns when
the computer is not in use.

37
Common Utilities used cont’d
• Sorting utilities: these help to organize data in a given order.
• Memory testers: these check for memory failures.
• Disk partition editors: these divide a drive into multiple logical
drives, each with its own file system which can be mounted by
the operating system to be treated as an individual drive.
• File synchronization utilities: these maintain consistency
between two sources. They enable redundancy or making copies
of data.

38
Common Utilities used cont’d
• System profilers: provide detailed information about
the software installed and hardware attached to the
computer.
• Network utilities: these analyze a computer’s
network connectivity, configure network settings,
check data transfer or log events.

39
DEVICE DRIVERS
• A Device driver. This is a small program that tells the
operating system how to communicate with the
device. Each device on a computer (e.g. a mouse) has
its own specialized set of commands and thus requires
its own specific driver. The operating system loads
each device’s driver when the computer boots up.

40
Device drivers
To communicate with the hardware devices, the operating
system relies on device drivers.
• A device driver is a program that accepts instructions and
then converts them into commands that the device
understands.
• Each device on a computer, such as the keyboard, mouse,
monitor, printer, card reader/writer, and scanner, has its
own device driver.
41
PROGRAMMING LANGUAGES
• Refers to the language used to write a computer instruction,
program software. A person who writes a program is called a
programmer
Functions of Software Programmer
• He writes a computer program
• He maintains a computer program
• He upgrades a computer
• Types of programming languages
• Program languages are of two types i.e
• Low level programming language
42
TYPES OF PROGRAMMING LANGUAGES
Programming languages are of two types i.e
•Low level programming language
•High level programming language

43
Low level languages
This is a computer program written in machine code the
language understood by a computer. It is also referred
to as binary language because it consist of only two
digits.

44
Types of low-level languages
• Machine code language(First generation)
• Assembly language.(Second generation)

45
Machine code language(1 Gen) st

• These are languages written/represented in binary


form in the computer. They are only understood by
computers. The machine language code is extremely
very difficult for human to read and write and
therefore is prone to errors.

46
Assembly languages(2 Generation)nd

• This is a language which consist of mnemonic symbols


(English like words) used to represent the binary digits
of zeros and ones of machine language. Assembler
languages are used to develop system software.
• However computers can only understand machine
language, thus assembler languages must be
translated into machine language for execution.

47
Advantages of Low level languages
• Machine code program are executed faster.
• They don't require either a compiler or interpreters
• They are suitable to developing operating systems.

48
Disadvantages of Low level language
• They are difficult to learn and understand.
• The instructions are expressed in binary form( 0 and
1s)
• The programs are machine dependent hence difficult
to be used by other machines of different family.

49
High level programming language
This is a computer program written in official language
(known to man) but should be converted to machine
code for a computer to understand.
High level languages consist of statements or sequences
text including words, numbers and punctuation, much
like written natural languages.

50
Advantages of High level Languages
• They are machine independent and can be used by other
computers.
• They are user friendly and problem oriented.
• They are easier to learn, write, correct and revise than
assembler and machine languages.
• They can be used for development of application software.

51
Disadvantages of High level Languages
• They require to be translated to machine code
• They are not executed faster.

52
Examples of high level languages
COBOL Ruby
PASCAL C++
Python C#(C-sharp)
Java Script PERL
Java
FORTRAN
C-programming
language
PHP
53
LANGUAGE PROCESSORS/TRANSLATORS

Language processors: These have to translate high


level languages to machine code languages which the
processor can understand. They are software designed
to translate from high level language to low-level
language.

54
Examples of language processors
• A compiler: a compiler is a program which translates a whole source
program from high level language to low level language which can easily
be understood by the computer.
• An interpreter: This is a program that translates the source program line by
line while the program is running from high level language to low level
language.
• The assembler: This translates assembler instructions from assembley
language to machine code language or the binary code.
• The linkers: These combine compiled programs and determine where the
program will be located in the memory.

55
Language editors.
These are applications/software used to write computer
language/codes. Some also compile.
Examples of language editors
• Notepad • Brackets
•Trouble c • Code Blocks
• Borland • Notepad ++
•Sublime Text.
•Dev C, C++

56
Common terms used in programming
Source code is a Program instruction written as text file by
the programmer, that must be translated by a compiler or
interpreter or assembler into an object code before
execution.
Source code cannot be understood by the computer until it
has been translated into machine code.

57
Common terms used in programming
• Execution is the process by which a computer system
performs the instructions of a computer program.
• Object code is a program code in machine language that is
ready for execution by the computer.
• Bug is a logical problem in the program source code that
stops the program to give wrong results.
• Debugging is the process of detecting, checking and
identifying problems and errors in the source code.
58
APPLICATION SOFTWARE
This is a software program that performs a specific and user
function. Application software is installed on operating
system.
Application software consists of programs designed to
perform specific tasks for end-users.
For example typing a letter.

59
TYPES OF APPLICATION SOFTWARE
Application software is categorized into two:
•Off-shelf packages
•Customized programs/ Bespoke/ Tailor-made
programs
OFF SHELF PACKAGES
•These are programs already written and ready to be
run upon their purchase.
60
Main categories of off shelf packages.
i) Word processors
•These are programs that enable you to perform word processing
functions, they are document production applications.
•Word processing software.
An application software with which a user creates, edits save,
format And print letters reports and other documents. E.g. word
processing software, EZ word, word perfect etc

61
Categories of off shelf..
ii) Spreadsheet software
An application with which a user can organize data in rows and columns create graphs
and can perform calculations e.g. Ms excel, Lotus 123, VisiCalc.
iii) Presentation software
•An application with which a user can organize content on a slide for viewing by the
audience. Ms power point, Harvard graphics, Corel presentation.
iv) Database software
•An application with which one can store lots of data for future manipulation.
v) Desktop publishing software
•Application software with which one can design publications like news papers, wedding
cards certificates etc
•Imaging software application software with which done can edit, retouch a photograph.
62
Web browsing software
Web browsing software for displaying Webpages from the internet
or html documents on computers. Examples Include:
• Mozilla Firefox,
• Internet Explorer,
• Safari,
• Opera
• Netscape Navigator, e.t.c.

63
Web authoring software
Web authoring software – Used by webmasters
for building websites. Examples include:
• Microsoft FrontPage,
• Adobe Dreamweaver,
• Microsoft Expression Web,
• Antenna Web Design Studio

64
Media Players for Audio and Video
Media Players for Audio and Video playback on
computers. Examples include:
• Windows Media Player,
• Nero Showtime,
• Jet-Audio,
• Power DVD,
• VLC Media Player, e.t.c.
65
Graphics software
Graphics software – Used by graphic designers to create and
design artistic graphics and to manipulate visual images on a
computer such as
logos, cartoons etc. Examples include
• Paint,
• Adobe Photo shop,
• Corel Draw,
• Adobe Illustrator etc.
66
Accounting software
Accounting software helps companies to record and report
their financial transactions.
• With accounting soft-ware, you perform accounting
activities related to the general ledger, accounts
receivable, accounts payable, purchasing, invoicing,
job costing, payroll functions, etc.
• Examples include Quick Books

67
Audio and video editing software
Audio editing software lets users produce studio
quality soundtracks. With video editing software, you can modify
video clips: you can reduce the length of a video clip, reorder a
series of clips, or add special effects such as words that move
horizontally across the screen etc.
•Adobe Premier Video Editor
•Ulead Video Editor
•Adobe Audition for –audio
•Fruity Loops Studio-audio
68
Images Viewing software
• This refers to computer applications primarily used for previewing
digital photographs on the computer
screen.
• Many have basic features such as viewing thumbnails, slideshows,
printing and simple editing such as cropping and resizing.
• Examples of Image viewers include: Microsoft Office Picture
Manager, Windows Photo viewer, Picasa photo viewer, etc.

69
Reference software
Reference software provides valuable and thorough
information for all individuals.
• Popular reference software includes encyclopedias, dictionaries,
health/medical guides, and travel directories.
• Examples include: Encyclopaedia Britannica 2011 Ultimate
Reference DVD
• Microsoft Student with Encarta Premium, e.t.c.

70
Note Taking software
Note taking software enables users to enter typed
text, handwritten comments, drawings, or sketches
anywhere on a page and then save the page as part
of a notebook .
• The software can convert handwritten comments
to typed text or store the notes in handwritten
form.
• Examples include Microsoft Office OneNote

71
Text Editors
Text editors are simple word processors that are generally
used to type without any special
formatting.
• Text editors are mainly used to create small notes,
memos and programs.
• Examples of common text editors are: Notepad,
Notepad++, Sublime Text, Gedit etc.

72
Gaming Software
These are programs developed as electronic game
that involve human interaction with a user interface to
generate visual feedback on a computer.
• Common computer games include solitaire, chess
titans, Racing, StarCraft, Need for Speed, GTA Vice City,
Alien Shooter.

73
Email Software / Email client
Email software (Commonly known as email client) is a
computer program used to access and manage a user's
email account.
• Web applications that provide message management,
composition, and reception functions are sometimes
also commonly referred to as webmail.

74
Email Software / Email client
• Popular locally installed email clients include Microsoft
Outlook, Pegasus Mail, Mozilla's Thunderbird, KMail,
Evolution and Apple Mail.
• Popular web-based email clients include: GMail, Yahoo!
Mail, mail.com, Lycos mail, and Hotmail.

75
ADVANTAGES OF OFF-SHELF SOFTWARE.
Advantages of off shelf packages
•They are relatively cheaper than bespoke packages.
•They are readily available for purchase.
•They are user friendly; many have a graphical user interface,
sample manuals provided on purchase.
•The user does not face research and development costs or
problems since the package is already in operation.
•The user faces limited risk since the user has an option to seek
information from existing users about the package before making a
decision to purchase. 76
Disadvantages of off-shelf
• They hardly full fill users’ specific needs perfectly.
• They are standardized implying it may be hard to make adjustments.
• They may not be recommended where a particular company wants to gain
competitive advantage over others.
• Where the package does too much compared to the company needs, the
amount of extra space occupied in the hardware can lead to memory
wastage.
• The package may also be limited to a particular operating system like
Microsoft Office for Windows operating system.
• It may be easy to manufacture viruses that may tamper with such
application programs.
77
CUSTOMIZED/TAILOR-MADE/BESPOKE PROGRAMS
These are tailor made programs constructed to meet specific user
requirements. They are specifically designed to meet user
requirements.
Merits of customized programs
•Ability to satisfy user’s specific needs
•The company will be able to perform tasks with its software that
its competitors cannot do with theirs thereby gaining a competitive
advantage.
•They can easily be modified or upgraded.
•Ownership is to the company that ordered for the software. 78
Disadvantages of customized
• Time taken to develop the package may be long yet requirements could be urgent.
• The cost of paying programmers makes them expensive. The organisation has to incur
development and consultancy costs in this case.
• They are not flexible i.e. not meant to do various tasks.
• They are expensive to maintain. When they breakdown programmers who are
expensive have to be called in.
• In-case of breakdown, the company may be brought to a standstill
• There is a greater probability of bugs in bespoke programs.
• They are not compatible with all computer types i.e. they are designed for specific
computer types.
• The program may not run which means that the programmer has to design another
one. This could even lead to more costs on the side of the user as well as causing
delays

79
Shareware
Shareware is copyrighted software that is distributed at no
cost for a trial period.
• To use a shareware program beyond that period, you send
payment to the program developer.
• In some cases, a scaled-down version of the software is
distributed free, and payment entitles the user to the fully
functional
product.
80
Copyrighted software
• Copyrighted software refers to computer programs with
restrictions regarding use, modification, and redistribution.
• You have to pay for copyrighted software and must not
copy it without permission from the manufacturer.
• Copying copyrighted software without paying for it is
clearly unethical and illegal.

81
Freeware
Freeware is copyrighted software provided at no cost by
an individual or a company that retains all rights to the
software.
• Therefore, other programmers cannot include
freeware in applications they intend to sell.

82
Open-source
• Open source software is software provided for use,
modification, and redistribution. This software has no
restrictions from the copyright holder.
• Open source software usually can be downloaded
from the Web at no cost.

83
Public-domain software
• Public-domain software has been donated for public
use and has no copyright restrictions.
• Anyone can copy or distribute public domain software
to others at no cost.

84
Web-based software
Web-based software refers to programs hosted by a Web site.
• Users access and interact with Web-based software from any
computer or device that is connected to the Internet.
• Many Web sites allow free access to their programs; some charge
a fee.
• Examples of Web-based software include e-mail,
Website builders, online games, travel and mapping
software ,e.t.c.

85
Special Purpose (Specialized) Software
This refers to computer programs developed and dedicated to
accomplish particular jobs only.
Programs that run on special purpose computers like ATMs are
special purpose software.
Other Examples of specialized software include:
• Business – Transaction and Sales Management
software.
• Science and Engineering software etc..

86
General purpose
This refers to a Wide a variety of application programs
that perform many common tasks.
• Varieties of General purpose application
programs include Word processing programs,
Spreadsheet programs, web browsers, Graphics
programs, etc.

87
Software suite
• A software suite is a collection of several applications
that are bundled together and sold or distributed as a
single package. The software programs may have
correlative features and functionality or they may be
completely different from one another but share a
similar theme.

88
Software Suites cont’d
When you install the suite, you install the entire
collection of applications at once instead of installing
each application individually.
• At a minimum, suites typically include the following
software applications: word processing, spreadsheet,
database, and presentation graphics,

89
Examples of software suites
• Microsoft Office
• Libre Office Productivity Suite.
• Open Office.Org
• Word Perfect Office X5
• Zoho
• Quickoffice & OfficeSuite
• ProOffice Free 3.0
• KOffice
• Lotus Smart Suite
90
Advantages of using software suites
• Costs significantly cheaper than buying each of the
application package separately
• Easy to learn and use because applications within a suite
usually use a similar interface and share common features
such as clip art and toolbars.
• Easy installation because all the various applications can
be installed at once.

91
Terminologies
• Software needs to be accessed before it can be used.
• There are many terms used for the process of accessing
software including running, executing, starting up, opening,
and others.
• A program can also be referred to as an application and the
two words are used interchangeably.

92
Common terminologies cont’d
Software license
This is a document that provides legally binding guidelines for the
use and distribution of software.
Software agreement.
This refers to the legal contact between licensor and /or author and
the purchaser of a piece of software which establishes the
purchaser’s’ rights.

93
Common terminologies cont’d
• Software piracy. This is the illegal duplication of
copyrighted software.
• Software bug refers to an error in the programming
code that does not permit it to function well.
• Beta software is a type of software provided to
people for testing purposes.

94
Common terminologies cont’d
• Software release is the process of issuing/letting the
software or application for publication, use and
distribution.
• Software version refers to variation of an earlier or
original type with minor changes to the existing version or
type. Eg. ITunes 12.0, ITunes 12.2.3
• Hot fix This is a software program that is designed to fix a
bug or security hole in software program.
95
Common terminologies cont’d
Spy ware. This is a software application that is designed to
gather information about a person or organization without
their knowledge, that may send such information to another
entity.
Software Patch. This is a software program that is designed
to modify, correct, and fix problems in a software.

96
Common terminologies cont’d
• Software update. This is a software application that provide fixes
for features that are not working as intended or adds minor
software enhancements and compatibility.
• Software upgrade. This is a process of replacing a product with a
newer version of the same product.
• Firmware. This is a permanent software that is programmed or
embedded in a hardware usually read-only-memory by the
manufacturer.

97
Characteristics of Good computer
software
• ...provides the required functionality.
• ...is usable by real (i.e. simple) users.
• ...is predictable, reliable and dependable.
• ...functions efficiently.
• ...has a "life-time" (measured in years).
• ...provides an appropriate user interface.
• ...is accompanied by complete documentation.
• ...can be easily customized/configured.
• ...can be "easily" maintained and updated.
98
Factors to consider before obtaining a
software program
• correctness — does the software do what it is suppose to
do (according to the design specs)?
• robustness — how does the software respond to
unexpected conditions (wrong input)?
• user-friendliness — is the software easy to use by users
from the intended audience?
• adaptability — how difficult is it to modify the software to
adjust to an ever-changing world?
99

You might also like