KEMBAR78
Sub ICT Topic 5 - Computer Software | PDF | Graphical User Interfaces | Operating System
0% found this document useful (0 votes)
4 views17 pages

Sub ICT Topic 5 - Computer Software

Computer software consists of electronic instructions that guide computers in performing tasks, characterized by traits such as portability, efficiency, and usability. It is classified into system software, which manages hardware and system operations, and application software, which serves specific user needs. Operating systems, a subset of system software, can be categorized based on user support and task execution capabilities, with various types including stand-alone, network, and embedded operating systems.

Uploaded by

kajjjo
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)
4 views17 pages

Sub ICT Topic 5 - Computer Software

Computer software consists of electronic instructions that guide computers in performing tasks, characterized by traits such as portability, efficiency, and usability. It is classified into system software, which manages hardware and system operations, and application software, which serves specific user needs. Operating systems, a subset of system software, can be categorized based on user support and task execution capabilities, with various types including stand-alone, network, and embedded operating systems.

Uploaded by

kajjjo
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
You are on page 1/ 17

TOPIC 6: COMPUTER SOFTWARE:

Computer Software:
Computer Software refers to electronic instructions or commands which tell the
computer how to perform tasks.

Characteristics of Computer Software:


 Portability: Portability refers to the ability of an application to run on
different platforms/operating systems with or without minimal changes.
 Readability: The program should be written in such a way that it makes
other programmers or users to follow the logic of the program without much
effort.
 Efficiency: Every program requires certain processing time and memory to
process the instructions and data.
 Structural: To develop a program, the task must be broken down into a
number of subtasks.
 Flexibility: A program should be flexible enough to handle most of the
changes without having to rewrite the entire program.
 Generality: Apart from flexibility, the program should also be general.
Generality means that if a program is developed for a particular task, then it
should also be used for all similar tasks of the same domain.
 Documentation: Documentation is one of the most important components
of an application development.
 Correctness: the software should meet all the specifications stated by the
customer
 Usability/learnability: the amount of effort or time required to learn how to
use the software should be less
 Reliability: the software product should not fail while processing a task
 Security: the software should not have negative effects on data it is
processing or hardware on which it is installed.
 Safety: the software should not be hazardous to the environment and life
 Cost: it should be affordable in terms of cost
 Interoperability: is the ability of software to exchange information with other
applications e.g. exporting MS Excel data to MS Word.

Software classifications:
Software classification is mainly based on purpose the software serves. This can
be broadly classified into two categories; system software and application
software.

107
Computer software may be classified broadly into 2 categories;
 System software
 Application software.

Sub-Topic: System Software.


These are the programs that control the operation of the computer and its
associated devices.
System software also serves as the interface between the user, application
software and the hardware devices.
Some system software is usually installed by the computer manufacturer or
vendor. System software consists of the following:-
 Operating Systems
 Utility Programs
 Programming Languages

Operating System Software


An operating system is a program which controls, co-ordinate, manages and
supports the operations of the computer system.
Examples of Operating systems include; Windows 98, Windows NT, Windows
2000, Windows XP, Windows 7, Windows 8, Windows 10, UNIX, Linux, Novel
Netware, Macintosh etc

Classification of Operating systems:


Operating systems are categorized based on the number of users supported,
number of tasks executed at a time and response time:
108
 Single user-single task OS: Are operating systems in which one user can
perform one task at a time. That single task must finish before the next task
can be started. E.g. in MS DOS if you wanted to format a floppy disk, the
computer would need to finish that task before it gave control back to you
to perform another task.
 Single user-Multi task OS: Are operating systems in which one user can
perform many tasks at a time.
 Multi-user OS: These Operating systems allow more than one person to
use the operating system resources simultaneously. For example Server
Operating systems.
 Real-time OS: This is an operating system where time taken by the system
to respond to an input and display of required updated information is
negligible. Real-time Oss are used to control machinery, scientific
instruments and industrial systems

Note:
Operating systems can also be categorized as; stand-alone OS, network OS, and
embedded OS.

Stand-Alone Operating System


A stand-alone operating system is a complete operating system that works on a
PC.
Examples of popular stand-alone operating systems include:
 Mac OS X
 UNIX
 Linux
 MS-DOS
 Windows XP
 Windows Vista
 Windows 7
 Windows 8
 Windows 10

Network Operating System


A network operating system (NOS) is an
operating system that supports a network
and typically resides on the server.
Some stand-alone OS systems include
networking capability.
However, network operating systems are
designed specifically to support all sizes of
networks.
109
Examples of network operating systems include:
 Windows Server 2003
 Windows Server 2008
 Windows Server 2012
 Windows Server 2016
 Solaris
 NetWare
 UNIX server
 Linux server.

Embedded Operating System


An embedded operating system is an operating system that resides on ROM
chips and typically used on handheld computers and small devices.
Popular embedded operating systems today include:
 Windows Embedded CE
 Windows Mobile
 Palm OS
 Embedded Linux
 Android
 Symbian OS
 iOS

Factors to Consider When Choosing an Operating System


When choosing an operating system for a computer the following factors may be
considered:
 The type of computer in terms of size and make. Operating systems are
available for all sizes of computers.
 The hardware configuration of the computer such as the memory capacity,
processor speed and hard disk capacity should meet the required minimum
requirements for the operating system to run well.
 The application software to be installed on the computer should be
supported by the operating system. For example Microsoft Office 2010
cannot run on Windows 2000.
 The operating system should be user friendly. This depends on the skills of
the intended users of the computers.
 The operating system should have adequate information and help guides
for user reference.
 The cost of the operating system.
110
 Reliability and security provided by the operating system.
 The number of processors and hardware devices it can support.
 The number of users it can support.
 The availability of basic utilities and accessory programs within the
operating system.

Functions of Operating Systems


 Booting: Load/enable the starting of the computer by accessing ―starter
files‖ located in the bootstrap loader or boot routine.
 Managing storage media/files: Perform common repetitive tasks necessary
for storage media e.g. formatting of blank diskettes.
 Keeps track of the locations within main memory where programs and data
are stored.
 Memory management: The operating system allocates and assigns
memory to programs on request and clears these items from memory when
they are no longer required by the CPU. Memory management can be
done through; Partitioning (dividing memory into portions. E.g. fore ground
and back ground.) and Queuing (This is typical of time sharing system
where data is prioritized for purposes of processing in the CPU)
 Managing tasks and processes: This is done through:
 Multitasking – A situation where processor time is shared between
competing tasks. Help in running more than one programs concurrently.
 Multiprogramming - Several user executing different user programs
concurrently.
 Time sharing - executing different users programs in round – ribbon
fashion.
 Multi-processing - Single or multiple users processing with two or more
programs at the same time.
 Providing User Interface: Operating systems provide user controllable parts
(icons, menus, buttons etc) which make it possible for the users to
communicate or interact with the computers. The user interface can be:
Command Driven interface (CLI), Menu–driven interface, Graphic user
interface (GUI)
 Platform: The operating system provides a platform for application software
to run
 Configuring devices: Most of the operating systems today support plug and
play. And configure computing devices automatically.
 Monitoring system performance: A performance monitor is a program that
analyses, assesses and reports information about various system
resources and devices.
111
 Administering security: Operating systems allow the user to assign user
accounts and passwords to allow only authorized people to access and
manage the computer.

User Interface
Computer users interact with software through its user interface.
A user interface is the part of the software with which you interact; it controls how
data and instructions are entered and information is presented on the screen.
It is through the user interface of an operating system that you communicate with
the computer.
Three types of user interfaces are:
 Command-line interface (CLI),
 Menu-driven interface (MDI),
 Graphical user interface (GUI).
Most operating systems use a combination of these types of user interfaces to
define how you interact with your computer.

Command-Line Interface
Command-line interfaces often are
difficult to use because the
commands used require exact
spelling and punctuation.
Minor syntax errors, such as a
missing period, generate error
messages.
Command-line interfaces, however,
give a user more control to manage
detailed settings, and execute
programs faster.
Examples systems using command line interface include; MS DOS, UNIX and
LINUX

Advantages
 Takes up little memory and normally does not require a very fast processor
 Operation is very fast since commands can be entered directly through the
keyboard
 Many commands can be grouped together to automate repetitive tasks

Disadvantages
 Commands have to be learnt and memorized

112
Menu-driven interface
Menu-driven interface provides
menus as a means of entering
commands.
Menu-driven interfaces are easier
to learn than CLI because users do
not have to cram keywords for
commands.
The characteristic of being easy to
learn and use is described as being
user-friendly.
Some software products using menu-driven interface include Apple Mac OS,
Windows Operating systems

Advantages
 These provide users with a number of options and simple means of
selecting between them. The user has a choice hence needs no
remembrance of the commands.
 They are suitable for beginners and infrequent users.
 Users are made at all times visibly aware of the options available.
 They are provided with immediate visual responses on the screen to any
action taken.

Disadvantages:
 Such interfaces require bit mapped screens
 Menu driven interfaces also require input devices like mice together with
keyboards.

Graphical User Interface (GUI)


Most of today's software programs have a graphical user interface (GUI).
A GUI is a user Interface in which visual images such as icons and buttons are
used to issue commands.
Of all the interfaces a GUI typically is the most user friendly, because it does not
require you to know any command language.
Examples of graphical user interfaces can be found on; systems and programs
on Windows (3.1, 95, 98, 2000, XP, Vista, 7, 8, 10)
Graphical user interfaces accept input via devices such as keyboard, mouse and
provide articulated graphical output on the computer.

113
Features of GUI;
 Windows; rectangular screens used to present information. It is called so
since you see into another part of a program.
 Icons; refer to pictures or symbols used to represent processing options.
They may also refer to the graphical representation of programs.
 Menus; these include a list of options from which the user can choose.
They also contain a list of commands, instructions that cause the computer
software to perform a specific action.
 Buttons; these are icons that cause a specific action to take place.

Advantages of a graphical user interface


 Is user friendly because it is easy to learn and work with
 There is no need to type or memorize commands
 It is easier to feed commands in different programs because graphical user
interfaces look and behave alike so it is easier to learn them.

Disadvantages of a graphical user interface


 Requires more memory and a faster processor
 Occupies more disk space
 Is difficult to automate functions for expert users

Utility Programs
A utility program is a type of system software that performs a specific task usually
related to the management of a computer, its devices and programs.
Utility programs are also referred to as service programs. Examples of utility
programs include:

114
Specific Utilities and their Functions
 File Viewer Utility; this is a utility program that displays and copies the
contents of file. An operating systems‘ file manager often includes a file
viewer utility.
 File Compressor Utility; a file compressor utility reduces or compresses
the size of file. A compressed file takes up less storage space on a storage
media. This frees up room for more files to be saved.
 Diagnostic Utility (Trouble-shooter); this compiles technical information
about a respective computers‘ hardware and certain system programs. And
then prepares a report outlining any identified problems.
 Disk Scanner Utility; this is a utility program that detects and
corrects/repairs both physical and logical problems on a computer hard
disk (Storage media). A physical problem on the media can be for example;
scratches on the surface of the hard disk and logical problems are usually
related to for example; corrupt files/file allocation table (FAT).
 Disk Defragmenter Utility; this is a utility that re-organizes unused space
on a computer hard disk so that data can be accessed more quickly and
programs can run much faster. When contents of a file are scattered across
2 or more non-continuous sectors, the file is fragmented. The process of
defragmentation is re-organizing the hard disk so that numerous parts of
given files are stored in continuous sectors.
 Uninstaller Utility; is a utility that removes an already installed
program/application as well as any associated entries or files.
 Backup Utility; backup utility allows the user to copy and backup selected
files from one partition of the hard disk to another or from the hard disk to
other storage media. E.g. external hard disk, DVDs, CDs, tapes etc.
 Antivirus Utility; this is a program that prevents, detects and removes
viruses, worms, spyware and other malware from the computer hard disk
and other associated storage media. Examples of anti-viruses include;
Avira, AVG, Avast, McAffee, Kaspersky, Norton, Symantec, Panda etc.
 Screen Saver Utility; this is a utility that causes the computer monitors‘
screen to display moving images or a blank screen if no keyboard/mouse
activity occurs for a specified period of time. Screen savers can also be
used for security, business advertising and entertainment.
 Data Recovery utility: Used to ―undelete‖ or resurrect a file or information
that has been accidentally deleted e.g. - Recycle bin for windows, Norton
un-erase wizard, etc.
 Disk Repair Utility: Checks your disk drive for defects and make repair on
the spot or mark the bad area.
 Merging utility: this is a utility that involves combining data from more than
115
one file into one or so.

Programming Languages
Programming languages are the sets of instructions used to write all computer
software.

Characteristics of programming language


 Readability: A good high-level language will allow programs to be written
in some ways that resemble a quite-English description of the underlying
algorithms. If care is taken, the coding may be done in a way that is
essentially self-documenting.
 Portability: High-level languages, being essentially machine-independent,
should be able to develop portable software.
 Generality: Most high-level languages allow the writing of a wide variety of
programs, thus relieving the programmer of the need to become expert in
many diverse languages.
 Brevity: Language should have the ability to implement the algorithm with
less amount of code. Programs expressed in high-level languages are
often considerably shorter than their low level equivalents.
 Error checking: Being human, a programmer is likely to make many
mistakes in the development of a computer program. Many high-level
languages enforce a great deal of error checking both at compile-time and
at run-time.
 Cost: The ultimate cost of a programming language is a function of many
of its characteristics. Familiar notation: A language should have familiar
notation, so it can be understood by most of the programmers.
 Quick translation: It should admit quick translation.
 Efficiency: It should permit the generation of efficient object code.
 Modularity: It is desirable that programs can be developed in the language
as a collection of separately compiled modules, with appropriate
mechanisms for ensuring self-consistency between these modules.

Programming languages are mainly categorized into low level programming


languages and high level programming languages.

Low Level Programming Languages


Advantages of Assembly Language
 This language was more understood and remembered by human beings.
 It has closer control over the computer hardware and executed very
efficiently.
116
 It is useful for writing operating systems and game programs which require
faster and efficient use of the central processing unit.

Disadvantages of Assembly Language


 It depends on registers and memory locations in a computer so cannot be
transferred from computer to computer.

3rd Generation languages (early 1960s)


 Also known as ―High level languages (HLL)‖.
 With HLL the programmer uses direct English words during the
programming process.
 They are not machine dependent and can be used on more than one kind
of Personnel computer. e.g. COBOL (Common Business oriented
language), Basic (Beginners all–purpose symbolic instructions) and
FORTRAN.

Characteristics of High level languages


 Less technical if compared to both 1st and 2nd generation languages.
 Less technical if compared to 1st and 2nd generation languages.
 They are more user friendly.
 A bit slow since they need to be interpreted to the computer first.

4th Generation languages (Early 1970s)


 Also known as Very High–level languages (VHLL).
 Are non–procedural or rapid application development (RAD) tools where
programs are written by only telling the computer what to do as opposed to
a step-by-step process. e.g. SQL (structured query language), C++, HTML,
C, C#, C++, ASP.Net, VB.Net, Java etc.

Language Translator/Processor:
A language Translator/Processor is a special type of computer software that
translates the program code (source code) written in a specific programming
language into machine code.
Language processors include some of the following:
117
Compiler:
A compiler is a language processor that translates program code (source code)
written in a high level language into binary machine code

Assembler:
An assembler is a language processor that translates program code (source
code) written in a low level language e.g. assembly language into binary machine
code.

Interpreter:
An Interpreter is a language processor that translates line by line, program code
(source code) written in a high level language into binary machine code.
Other language processors include; linkers, debuggers and loaders.

Sub-Topic: Application Software


Application software refers to the programs used by computer users to perform
specific tasks or jobs on the computer.

Examples of Application Software


 Document Processing Software; is used to create, edit, format, save and
print documents that contain text, images and graphics. Examples of word
processors include; MS office Word, Open Office, WordPad etc
 Spreadsheet Software; is used to organize, calculate and tabulate data in
rows and columns. Examples of spreadsheets include; MS Office Excel,
Lotus 1, Lotus 2 etc
 Database Management Software; it is also called database management
systems (DBMS). Examples of database management software/systems
include; MS Office Access, MS SQL Server, Postgre SQL, Oracle, MySQL,
SyBase etc
 Presentation Software; is used to create presentations e.g. project
presentations. Examples of presentation software include; MS PowerPoint
etc
 Desktop Publishing Software; is used to create and produce cards,
certificates, calendars, logos etc. examples of desktop publishers include;
MS office publisher, Adobe PageMaker, Adobe Photoshop, Adobe
illustrator, Corel Draw etc.
 Project Management Software; is software used to plan, schedule,
analyze and track events, resources and costs of a project. It is suitable for
managers, administrators, contractors etc.
 Personal Information Managers; helps to organize personal information
118
such as appointments, contracts, reminders and daily tasks. Examples of
personal information managers include; MS Outlook, Lotus Organizer etc.
 Accounting Software; this is software used to record, organize and report
financial transactions e.g. MS Money, Tally, QuickBooks, Sage.
 Print and Image Editing Software; is used to create and modify graphical
and photo images. Examples include; Adobe Photoshop, Adobe illustrator,
Macromedia Fireworks etc
 Audio and Video Editing Software; is used to edit or modify a segment of
audio and video clips. Examples include; MS Windows Movie Maker,
Adobe premiere
 Multimedia Authoring Software; this software combines text, graphics,
animations, audio and video into a multimedia file. Examples of multimedia
authoring software include; Macromedia Authorware, Macromedia Director,
Macromedia Flash etc
 Webpage Authoring Software; It is designed to create WebPages.
Examples of webpage authoring software include; Macromedia
Dreamweaver, Microsoft Visual Web Developer, Microsoft FrontPage,
Notepad, Notepad++
 Web Browsers; is the type of software or program designed to enable a
user access web pages on the internet. e.g. Mozilla firefox, opera, google
chrome, safari etc
 Computer Aided Design Software (CAD); is the type of software
designed for creating and modifying; manufacturing, engineering,
architecture and scientific designs and products e.g. Auto CAD, Microsoft
Visio technical
 Personal finance software; is a simplified accounting program that helps
a user to pay bills, balance the cheque book, track personal income and
expenditure e.g. Microsoft money
 Reference software; this provides valuable and thorough information for
reference purposes. (Encyclopedias, dictionaries, health and medical
guides) e.g. Microsoft Encarta, Mosby‗s medical encyclopedia, Webster‗s
dictionary and thesaurus.

Categories of Computer Software


Application software is mainly grouped into three categories.
 General purpose software: this is a packaged which may be used for a
wide variety of purposes such as word processors, spreadsheets,
databases and presentation software.
 Special purpose software: this is software designed to carry out a specific
set of tasks such as accounting, elearning system, web browsers, data
119
analysis and game softwares
 Custom/bespoke/tailor-made software: this is software that is specially
developed for an individual customer to perform a specific task. This occurs
when there is no existing software that does what they need. It can be very
expensive. Opposite of this is off-shelf software

Comparison General Purpose Software and Custom Software


General Purpose Software Custom Software
 Easy to use, because it is  Unique, and requires extensive
known by many people. training before use.
 Cheaper because it is  Expensive because it requires
massively produced and hiring a programmer.
packaged for commercial
purposes.
 Easy to acquire because it is  Difficult to acquire due to the
already made. time needed for programming it.
 More reliable because it is  May contain programming
tried and well tested by many errors since it is not tested
users. adequately.
 Containing online help to  Usually lacking online help
guide users in case of any services.
problems in use.
 Cannot be modified or  Meets all user requirements
changed to meet unique user and can be edited if need
requirements. arises.

Terms Used In Computer Software:


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.
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.
Freeware;

120
 Freeware is software provided to users free of charge.
 Freeware may have limited features and the full version (of the software)
may be downloaded by paying a fee.
 Many software companies these days use this strategy to market their
software products.
Trialware or Shareware;
 Trialware or Shareware is software provided to users free of charge, for
trial purposes and can be shared or distributed from one users to another.
 The Trialware or Shareware has limited features and can be used for a
limited period of time. When that time expires, the
 Trialware or Shareware stops working and the user will have to buy the full
version of the particular software.
Open source software;
 Open source software is software provided to uses free of charge, whose
source code is open to the public for inspection and editing.
 Open source software can be distributed from one user to the other.
Proprietary software;
 Proprietary software is copyrighted software provided to users for a fee
(cost).
 It cannot be modified, shared or redistributed by the user without exclusive
permission from the copyright owner.
Demoware;
 Demoware is a demonstration version of a particular software.
 The demoware is usually used to demonstrate particular software‘s
features.
 It has limited features and has an expiry period, upon which the user is
required to purchase the original version of the software.
Source Code;
 Source code is a list of commands or instructions to be compiled or
assembled into an executable computer program or software.
Computer Programming;
 Computer programming is the process of developing and implementing
various sets of instructions to enable a computer to do a certain task
Coding;
 Coding is the phase of software development during which a programmer
writes program code (instructions)
Computer Programmer;
 A computer programmer or programmer is a person who writes computer
software.

121
Bug;
 A bug is basically an error in computer program code that affects the
proper functioning of the computer program.
Debugging;
 Debugging is the process of locating and fixing bugs (errors) in computer
program code.
Device Driver;
 A device driver is a special program that interacts with a particular
hardware device (connected to a computer e.g. printer, scanner, web
camera etc).
 The device driver usually has very special knowledge of the workings of the
hardware device that the computer operating system or application
software do not have.
Prototype;
 A Prototype is basically a working incomplete version of a software
program being developed.
 The prototype is reworked and refined by the programmer until the final
complete software is developed.
Software Suite;
 Software Suite is a collection of different types of application softwares e.g.
Microsoft Office Suite, Adobe Suite etc
 Microsoft Office Suite includes; MS Office Word, MS Office PowerPoint,
MS Office Access, MS Office Excel, MS Office Publisher, MS Office
Outlook etc.
 Adobe Suite includes; Adobe Acrobat, Adobe After Effects, Adobe Audition,
Adobe Bridge, Adobe Contribute, Adobe Device Central, Adobe Fireworks,
Adobe Illustrator, Adobe Dreamweaver etc.

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.
Factors to consider before obtaining a software program
 Correctness—the software should do what it is supposed to do, according
to the design specifications.
 Robustness—the software should be stable, and it should respond well to
unexpected conditions e.g. wrong input.
122
 User-friendliness —the software should be easy to use by users from the
intended audience.
 Adaptability—the software should be easy to customize/modify to adjust to
the needs of the user.
 Reusability—the parts of the software code should be easily reused to build
other programs.
 Interoperability—the software should be able to interface with other
software systems.
 Efficiency—the software should make good use of its resources i.e.
(memory, disk, CPU, network)
 Portability —the software should be easy transfer from one system to
another.
 Security—the software should be able to protect the information it is
responsible for.

123

You might also like