0% found this document useful (0 votes)
164 views

Topic 6 - COMPUTER SOFTWARE

The document discusses different types of computer software including application software and system software. It defines software and describes the differences between hardware and software. It also covers various categories of application software such as customized, packaged, and different types of system software including operating systems and their functions.

Uploaded by

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

Topic 6 - COMPUTER SOFTWARE

The document discusses different types of computer software including application software and system software. It defines software and describes the differences between hardware and software. It also covers various categories of application software such as customized, packaged, and different types of system software including operating systems and their functions.

Uploaded by

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

COMPUTER SOFTWARE/COMPUTER

INTELLIGENCE
• Computer software refers to sets electronic
instructions, commands or programs which
direct the computer on the capture, processing,
storage and outputting of information.
• Software defines a computers intelligence –
what a computer can do or used for. Computers
work on programmed instructions as provided
by the programmer/software engineer. Hence
computers having artificial intelligence.
Differences between computer
hardware and computer software
Computer Hardware Computer Software
• It is physical/tangible • It is intangible. They are
internal instructions that
tell computers to do
whatever they do
• They define performance of
• Hardware defines a
a computer.
computers presence
• Software has got power
Categories of Software
Computer software is classified basing on;
the element of the computer system that
directly uses it. Elements of the computer
system include:- users, hardware, software
and procedures.
Hence;
1. Application software
2. System software.
Application software
• All softwares a computer user directly
interacts with to do work on and with the
computer. It is user dependent.
• Application software takes two forms. That is;
• Customized or in-house or tailor made or user
application or Bespoke application software.
• Packaged/off-the-shelve /standardized application
software
Customized or in-house or tailor made or
user application or Bespoke software
• Refers to all softwares designed to be used by
one organisation
• Customized software can be in form of;
• Vertical customized application software – i.e.
if it is used in one department or section of the
organisation.
• Horizontal customized application software –
i.e. if it can be used in several or other departments
and sections of the company.
An evaluation of customized softwares
Advantages of customized apps Disadvantages of customized apps

• Hard to manipulate. • Usually very expensive to


• Makes the organisation design and develop. All
using it look unique. production costs are met by
Improve image. one organisation.
• Customized softwares • They are not flexible. Since they
applications offer very high can only be used by one
productivity. company.
• Usually caters for all • They take long time to develop.
organizational needs by • They need a lot of specialized
providing for all the skills to use since they are not
necessary details. very common.
Packaged/off-the-shelves /Standardized
application software

These are copyrighted and commercial softwares


designed to meet software needs of a wide
variety of users.
Packaged softwares can be;
•Generalized packaged apps – if they can be used
for many tasks like some word processors
•Specialized packaged apps: if they handle tasks
of a specialized nature like accounting and
marketing apps.
Advantages of off-the-shelve software
• They are always available in software kiosks.
• They are cheap to procure.
• They are very flexible since they can be used
by any organization.
• They are the core of entertainment and leisure
application programs.
• Do not need a lot of specialized skills.
• They form the majority of educational
reference software.
Disadvantages of off-the-shelve software

• They are very easy to manipulate since they


are almost known by many people
• They are not very secure.
• May not handle some problem with ease. May
not provide the necessary software needs
breadth and depth.
Software acquisition
• Softwares are generally distributed through;
• Software writers retail outlets in major cities
around the world,
• Software writers agents
• Software writers certified firms.
• Application service providers (ASP): Third
party organizations that manage and
distribute software and other computer
services online (through the WWW).
Other forms of software and concepts
• A Cross-platform application: Any software that runs
identically on multiple operating systems. Different
platforms like Windows, Linux and Mac
• Copyrighted software: Authentic software with
copyright owners or true software writer.
• Pirated software: Stolen software without copyright
restrictions. It is typical of tampered security features.
• Freeware. This is copyrighted software provided at no
cost for users. Usually provided by government
agencies and other donors.
• Shareware. Is copyrighted software that is distributed
for free during its trial period, but payment is required
for its continued usage beyond the trial period.
Other forms of software and concepts
• Public Domain software. This is free software
donated for public use and has no copyrighted
restrictions.
• Software suite: A collection of applications with
common basic interface features sold as a single
unit e.g. Microsoft Office and Lotus SmartSuite.
• Software version: A major upgrade in a software
product – Office 2003 and Office 2007.
• Software release: A minor upgrade in a software
product – Office 2007 and Office 2010.
• Software perch: Updates provided by the
software writer periodically.
General Common types of application
software
Video and Audio editing
Word Processing software software
Spread sheet software Multimedia authorizing
Database software software
Presentation software Web page authoring software
Integrated software Personal finance software
Computer aided design Educational Reference
software software
Desktop publishing software Entertainment software
Project management Communications software
software – Ms. Project Accounting software
Personal information Pointing and Image editing
managers software
SYSTEM SOFTWARE
These are programs or softwares a computer uses
to manage itself. System softwares provide control,
coordination, planning and reporting of system
activities.
System softwares are to the computer system as
application softwares are to the computer user.
They include;
1) The operating system
2) Utility or service programs
3) Programming tools
4) System drivers
5) Firmware
1) The Operating System
• Is a master control program that manages the general
operations and resources of the computer system. For
example;
• Android
• Windows family OS like Windows XP, 7, 8, 10,
(Windows Millennium)Me, 2000, NT, 95, 3.1, 98, etc
• Mac
• Linux
• Unix
• Disc Operating system (DOS)
• Wang
Classifications of OS
1. Multi–tasking OS: This allows many tasks to
be handled by a single CPU system at the a
time. Multi-tasking Operating Systems are
multi-processing and multi-user Operating
Systems
2. Single user OS: These are operating systems
that allow only one activity in the CPU at a
time.
Functions of the operating system in
the computer system
1. Manage storage media/allocates memory: They determine
on where data and programs should be placed at the time of
processing and after processing.
2. Management of computer system security: Enable
computer users to create user accounts with passwords.
3. Manages system prompts: They direct or prompt devices
and programs to start work.
4. Facilitate the booting process: Loading the OS into memory
is one of the last processes of the booting process. Without
a working OS the computer cannot boot. Booting is the
process of attaining the operational run-time environment
of the computer system. The booting process can be;
1. Cold/hard booting: Starting the PC when the system has been off.
2. Warm/soft booting: Restarting the PC when the OS is already
running in memory
Functions of the OS Cont’d
5. Management of system faults and errors: The OS
keeps on checking on system devices and programs.
Where it finds an error it reports it to the user or
make an effort to fix it. They monitor system
performance and usage.
6. Provide system user interface: The OS provides tools
and mechanisms (interface) through which the user
interacts with the computer. The OS provides;
I. Menu driven interface – where users interact
through lists of options they choose from.
II. Command line interface through command boxes
where commands are punched.
III. Voice recognition interface
IV. Touch and wave interface
V. Remote terminal or controlled interface
Functions of the OS Cont’d
VI. Device configuration. The OS initiates or aligns devices
such that they interact well with the entire computer
system. Configuration also refers to the alignment or
arrangement of the functional part of the computer
system.
VII. They provide a platform or foundation into which
application programs run.
VIII. Graphical user interface (GUI): The OS provides
interactive dialogue boxes, buttons, icons, and tabs with
which the user can work with the computer.
Advantages of GUI
• Commands are easy to learn and work with.
• There is no need to type and memorize any hard command
language.
• The interface is similar for any application.
• They make program identification easy. Each program has got a
unique graphical image
Functions of the OS Cont’d
Disadvantages of GUI
• Graphical images require faster memory and faster
processor because they generally heavy.
• It also occupies more disk space to hold all files for
different functions.
• It is difficult to automate functions for expert users.
SYSTEM UTILITIES
• A utility program is a form of system software
that services other programs and system
devices, enhance system performance or
make the computer system more user friendly
and cost effective.
• They are also called Service programs.
• Some utility programs come embedded in
operating systems, while others can be
bought independently or down loaded online.
Classifications of utility programs.
Popular categories and types of utility programs
include:
1. File management utilities like;
– File sort utilities: rearranges files in either descending
or ascending order of date, type, name or size.
– File viewer: Copies and enables files to be copied and
viewed.
– File compression utility. Reduces or compresses the
size of a file for more storage space & faster
movement on a network.
– Diagnostic utility. compiles technical report about
programs and devices
1. File management utilities like Cont’d;
– Backup utility: Enables computer users to create
extra copies of the same file for reference purposes
– Un installer: enables users to remove no-longer
useful or contaminated programs.
– Text editors: Enables creation and editing of text
based files using basic text formatting features. They
do not work with graphics or images.
– Recycle bin: Contains/holds deleted files and folders
– Disc cleanup: Enables the user to clear unwanted
files and folders.
Classifications of utility programs cont’d
2. Malware/duty data management utilities
– Antivirus utility: They detect, prevent and remove
viruses from a computer memory or storage media.
– Anti-spyware utilities: Prevent system activities from
being spied on by third parties.
3. Software and device optimizers or enhancement utilities
– Language translators like compilers and interpreters
– Disk defragmenter: reorganizes files and also ensure that
bad disc sectors and files are isolated for enhanced
performance.
– System restore: It restores the system to a known
previous state that worked well.
– Calculators and Calendar utilities
Classifications of utility programs cont’d
4. Device maintenance utilities
– Scanner Disk: It check system disks or storage
media for faults/errors and attempts fixing them
where possible. They identify and correct storage
media (hard disk) physical and logical errors
– Screen saver: It causes the monitor/screen to
display a moving image or blank screen if no
keyboard or mouse activity occurs for a specified
time period.
Programming tools
Definitions
Programming tools are sets of system programs
used to create other programs. They include;
• Programming languages
• Language translators (like interpreters, compilers
and assemblers)
• Debugging utilities
• Linkers
Programming language. They are platforms or system
programs used to create other programs or softwares
NB:
Some programming languages are sold
separately from other programming
tools, while others are sold as a package
consolidated into one pack called an
Integrated Development Environment
(IDE)
Classifications of programming languages
• Low level: They are programming platforms where
programmer use data binary codes or specific
abbreviations when developing programs or software.
o Machine language or 1st generation languages
o Assembly languages or second generation
languages
• High level languages: They are programming
platforms where programmers use natural words,
statements and objects in the program development
process. E.g. C, C++, Pascal, Fortran, BASIC, Java, Lisp,
Smalltalk.
High level languages:
(i) BASIC (Beginning All purpose symbolic
Instruction Code). This was developed in
1964 by John Kemeny and Thomas Kutz to
teach students how to use computers.
(ii) FORTRAN. (FORmula TRANslation). This was
developed in 1956 to provide an easier way
of writing scientific and engineering
applications
High level languages:
(iii) COBOL (Common Business Oriented
Language). Developed for developing business
application programs
(iv) PASCAL. Was developed in early 1970
specifically for computer scientists.
Others:
• ADA
• ALGOL
• PL/M
• (Programming Language Microcomputer)
• LOGO
Basic terminologies
• Code: Is a written program text or statement
• Source code:
• Object code: Is program code which is
computer–readable i.e. a source code that has
been translated into machine understandable
language.
• Translator: It is a program or utility that
interprets a program code for the computer to
understand it. It translates an object code into
machine code.
Basic terminologies Cont’d
• Algorithm: Refers to a limited number of logical
steps that a program follows to solve a problem
• Flow chart: A flowchart is a diagrammatic
representation of a program’s algorithm
• Pseudo code: Refers to a set of statements written
in a natural readable language (like Luganda, English
or Japadhola, Lukiga, etc) but expressing the
processing logic of program. It is a set of statements
written in a readable language (English – like) but
expressing the processing logic of program.
Pseudo code: A pseudo code for adding
and averaging two numbers
START
Print “Enter two numbers”
Input x,y
Sum – x+y
Average = sum /2
PRINT sum
PRINT Average
STOP
Program or language translators
• Interpreters: These utilities translate program
text file or data statement by statement of the
program code.
• Compilers: They translate the entire program
code (text file or data) at once.
• Assembler: An assembler translates a program
written in 2nd generation (assembly) language
into machine language or first generation
language
Program errors
• Syntax errors/procedural errors: These errors occur
as a result of improper use of language rules. e.g.
grammar mistakes , punctuation , improper naming of
the variables
• Logical errors: These errors are not detectable by the
translator. The program runs but gives a wrong output.
Error detection methods/approaches
• Dry run/desk check – through the program script
• Error detection utilities – like debugging utilities
• Use of test data – giving the program sample data to
manipulate.
OBJECT ORIENTED PROGRAMMING
Languages (OOPL)
• OOPL Use objects to represent data and
behavior (like motion). Examples include
Visual Basic (C++)
Qualities of a good programming
language
 Suitability of the problem.
 Clarity and simplicity.
 Efficiency – well organized and detailed enough
 Availability
 Consistency – stable and reliable
 Economy – it must fit in the budget
Considerations when buying a
programming platform/language
• Cost
• Nature of program to develop
• Experience
• Availability
• Consistency – stable and reliable
• Compatibility with available hardware and
software
• Source

You might also like