0% found this document useful (0 votes)
223 views20 pages

Introduction To Ict Chapter 4

The document discusses different types of computer software including system software and application software. It describes operating systems, their functions and categories. It also discusses other system software like utilities and device drivers as well as programming and different types of application software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
223 views20 pages

Introduction To Ict Chapter 4

The document discusses different types of computer software including system software and application software. It describes operating systems, their functions and categories. It also discusses other system software like utilities and device drivers as well as programming and different types of application software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

INTRODUCTION TO ICT CHAPTER 4: SOFTWARE

Learning objectives

 Explain computer software concept


 Discuss the types of system software programs.
 Distinguish between system software and application software
 Explain the basic
 functions, features, and categories of operating systems.
 Explain the purpose of utilities and utility suites.
 Describe the device Drivers
 Define programming and describe the six steps of programming
 Explain the five generations of programming languages.
 Identify general purpose applications.
 Describe word processors, spreadsheets, database management systems, and presentation
programs and database management systems.
 Identify specialized applications.
 Describe graphics programs, web authoring programs, and other specialized professional
applications.
 Describe mobile apps and app stores.
 Explain software suites.

INTRODUCTION

 Computer hardware is only effective as the instructions we give it, and those instructions are
contained in software.
 Software is a collection of computer programs and related data that provide the instructions
telling a computer what to do and how to do.
 Sometimes software is called as program.
 The process of writing programs is called as programming.
 A person who write a program is known as a programmer or a software engineer.

Software (program)

 The collection of computer programs and related data that provide the instructions telling a
computer what to do and how to do.

 Complete instructions that control, manage and support operational activities of computer
system.

 Various kind of programs used to operate and manipulate computers and their peripheral
devices.

 Sometimes software is called as program


Interface Between End Users and Computer

Relationship between User, Application Software, System Software and Computer Hardware

Types of Computer Software


System Software

 Programs or computer instructions that manage and support a computer system and its
information processing activities.

 Designed to operate the computer hardware and to provide and maintain a platform for
running application software.

Two categories:

- System management Programs


- System control programs
- System support programs
- System development Programs

Operating System

Integrated system of programs that:

- Manages the operations of the CPU


- Controls the input/output, storage resources,
and activities of the computer system
- Provides support services as the computer executes application programs.
- The operating system must be loaded and activated before other tasks can be accomplished.
- Allows the parts of a computer to work together by performing tasks like transferring data
between memory and disks or rendering output onto a display device.
- It also provides a platform to run high-level system software and application software.
An operating system (OS) is a set of programs that coordinate all the activities among computer or
mobile device hardware

Start and shut down a


Provide a user
computer or mobile Manage programs Manage memory Coordinate tasks
interface
device

Provide file
Establish an Internet management and Updating operating
Configure devices Monitor performance
connection other device or system software
media-related tasks

Control a network Administer security

Operating System Functions

Starting Computers and Mobile Devices

The process of loading an OS into the computer’s main memory is called Booting.

Booting involves four steps:

1. Turn the computer on.


2. Diagnostic routines test main memory, CPU, and other hardware.
3. Basic Input/Output System (BIOS) programs are copied to main memory. BIOS contains
instructions for operating the hardware. The computer needs those instructions to operate
the hardware and find a copy of the OS.
4. Boot program obtains the OS and loads it into computer’s main memory

Booting

Warm boot (Key Term) – computer is already on and you restart it without turning off the power

Cold boot (Key Term) – starting a computer that has been turned off

5 basic functions in the operation of a computer system

1. Providing a user interface


2. Resource management
3. Task management
4. File management
5. Utilities and support services
User Interface

The part of the operating system that allows us to communicate with it so that we can load
programs, access files, and accomplish other task

Three main types of user interface:

- Command-driven
- Command line interface (DOS/UNIX prompt)
- Menu-driven
- Choose the command on the menu
- Graphical user interfaces (GUI)
- Icons, bars, button, boxes, other images

Resource Management

Part of the operating system that manages the hardware and networking resources of a computer
system. Includes CPU, memory, secondary storage devices, telecommunications, and input/output
peripherals. i.e. memory management programs.

- Keep track of where data and programs are stored. Subdividing memory into a number of
sections.
- Swap parts of programs and data between memory and secondary storage.
- Providing virtual memory to process large programs and greater amounts of data than the
capacity of its memory.

File Management

Part of the operating system that:

 controls the creation, deletion, and access of files and programs.


 Keeps track of physical location on storage devices.
 Maintains directories of information about the location and characteristics of stored files.
 The file system arranges files in a hierarchical manner
 Top level is directories (folders)
 Subdirectories come below folders
 Find files using their pathname. Example: C:/MyDocuments/Termpaper/[Link]
Task Management

Part of the operating system that helps accomplish the computing tasks of end users.

- Task: An operation such as storing, printing, or calculating


- Controls which task gets access to the CPU, and for how long.
- Can allocate CPU time to a particular task or interrupt the CPU at any time to substitute a
higher priority task
- Supports preemptive and cooperative multi-tasking and multi-processing.
- Multitasking: Handling more than one program concurrently
- Example: You do word processing while playing music on your computer.
- OS directs processor to alternate time on each program until processing is complete.

Categories of Operating System

1. Stand-alone O/S or Desktop O/S

 Located on computer’s hard disk and control a single desktop computer.

 i.e. DOS, Windows 7, Mac O/S, Ubuntu

2. Embedded O/S

 Used for handheld devices like smartphones.

 Entire O/S is stored within or embedded in the device

 i.e. Mobile O/S (iPhone O/S, Windows mobile, Symbian (Nokia), Android.

3. Network O/S

 Located on one of the connected computer’s hard disk known as network server.

 Control and coordinate computers that are networked or linked together.

 i.e. Windows NT server, UNIX, Linux.

Example of Operating System

 DOS

 UNIX

 OS/2

 Macintosh

 Windows 95/98/2000/NT/ME/XP

 LindowsOS

 Google Chrome O/S

 UNIX-like O/S: Linux, GNU, RedHat, Debian, Ubuntu, Mobile O/S: iPhone O/S, Windows
mobile, Symbian (Nokia), Android
Disk Operating System (DOS)

Operating system for older IBM and IBM-compatible PCs between 1981 and 1995.

Advantage: Ease of use ~ user interface (command line interface)

Disadvantage: Do not support multitasking & Limits program use of memory to 640 kilobytes

UNIX

A computer operating system originally developed in 1969 by a group of AT&T employees at Bell
Labs. Operating System for all types of computers, which is machine independent and support multi-
user processing, multitasking and networking. Widely used in both servers and workstations and can
run on mainframes, midrange, and PCs.

OS/2

Operating system/2 created by Microsoft and IBM for IBM PCS that can take advantage of the 32-bit
microprocessor. Support multitasking and networking. Has its own graphical user interface and
desktop and server version. Require memory intensive applications.

Macintosh

- OS for Apple Macintosh computer that support multitasking.


- The first commercially successful personal computer to feature a mouse and a graphical user
interface.
- Has access to the internet and has powerful graphics and multimedia capabilities

Microsoft Windows

- A series of software operating systems and graphical user interfaces produced by Microsoft.
- Windows – Operating System to control and manage computer activities
- Based on graphical user interface – easier to use.
- Support multitasking, networking, multimedia

Windows 3.1

- Introduced graphical User Interface for example Program manager


- Based on windows- allowing few programs in their own windows.
- Disadvantages:
- Require high memory and storage
- Operates only on computers with micro-processor 286, 2MB RAM and at least 10MB
hardisk.

Windows 95

- Popular in mid 90s, used in personal PCs.


- Most of the software is based on windows format
- Using storage area of 80 MB, 8MB RAM and micro processor at least 486 DX.
- Using 32-bit operating system
- Perform twice better than windows 3.1(16-bit)
- Support multitasking
- Support plug and play
- Better GUI
Windows 98

- 32-bit operating system that is closely integrated with the Internet and that supports
multitasking, multithreading and networking
- Faster and more integrated compare to windows 95 with support for additional
hardware such as MMX, DVD.
- The most visible features is integration of the OS with Web browser software

Windows 2000

- 32-bit operating system for PCs, workstations and network servers.


- Support multitasking, multiprocessing, intensive networking and Internet services for
corporate computing.

Windows ME

- Microsoft Windows ME (Millennium Edition)


- Enhanced Windows Operating System for consumer users featuring tools for working with
video, photos, music and home networking.
- Improved capabilities for safeguarding critical files.

Windows NT

- Microsoft Windows NT (New Technology)


- Posses the same ability in UNIX such as multi-user, multitasking and high security.
- Suitable for high technology application, graphic and animation.
- Appropriate as server in a network

Windows XP

- Microsoft Windows XP (Experience)


- Reliable, robust operating system with versions for both home and corporate users.
- Features support of internet and multimedia and improved networking, security and
corporate management capabilities

Windows 7

- For use on personal computers, including home and business desktops, laptops, netbooks,
tablet PCs, and media center PCs
- New features are advances in touch and handwriting recognition, support for virtual hard
disks, improved performance on multi-core processors, improved boot performance,
DirectAccess, and kernel improvements

Windows 8

- For use on personal computers, including home and business desktops, laptops, tablets, and
home theater PCs.
- Primarily focused towards improving its user experience on mobile devices such as tablets to
better compete with other mobile operating systems like Android and Apple's iOS.
- Featuring a new Start screen that replaces the "Start menu" of earlier Windows versions.
- A new app platform with an emphasis on touchscreen input, and the new Windows Store to
obtain and/or purchase applications to run on the operating system
LindowsOS

- Linspire, previously known as LindowsOS, was a commercial operating system based on


Debian GNU/Linux and later Ubuntu.
- The first "Broadband OS"
- Built to take full advantage of broadband technology.
- Designed to fully utilize the world of tomorrow, where Internet connectivity is bountiful and
cheap, and computers are ubiquitous.

The computer BIOS and device firmware

- The BIOS (Basic Input/Output System) is a standard defining a firmware interface. It is built
into the PC.
- Firmware is a term often used to denote the fixed, usually rather small, programs and data
structures that internally control various electronic devices. It provides basic functionality to
operate and control the hardware connected to or built into the computer.
- The primary function of the BIOS is to load and start an operating system. When the PC
starts up, the first job for the BIOS is to initialize and identify system devices such as the
video display card, keyboard and mouse, hard disk, CD/DVD drive and other hardware. The
BIOS then locates software held on a peripheral device (designated as a 'boot device'), such
as a hard disk or a CD, and loads and executes that software, giving it control of the PC.

Firmware

- Low-level software often stored on electrically programmable memory devices.


- Fixed, usually small programs and data structures that internally control various electronic
devices.
- Examples of devices containing firmware range from end-user products such as remote
controls or calculators, through computer parts and devices like hard disks, keyboards, TFT
screens or memory cards, all the way to scientific instrumentation and industrial robotics.
- Also more complex consumer devices, such as mobile phones, digital cameras, synthesizers,
etc., contain firmware to enable the device's basic operation as well as implementing higher-
level functions.

Device Drivers

- Every device such as mouse or printer that is connected to a computer has a special program
associated with it, called a device driver.
- A device driver or software driver is a computer program allowing higher-level computer
programs to interact with a hardware device.
- It works with the O/S to allow communication between the device and the rest of the
computer system.
- Each time the computer system is started, the O/S loads all the drivers into memory.
- Control parts of computers such as disk drives, printers, CD drives, or computer monitors.
- Acts as a translator between a hardware device and the applications or operating systems
that use it.
System Support Programs

Program that supports the operations, management and users of a computer system by providing a
variety of support services.

- Utility software
- Network Management
- Application server
- Database manager
- Collaboration tools
- Development tools

Utility software

Utility software is a kind of system software designed to help analyze, configure, optimize and
maintain the computer. A single piece of utility software is usually called a utility or tool.

Example of utility software:

- Disk storage utilities ~ manage the storage like HDD, FDD, CD


- Disk defragmenters ~ detect computer files whose contents are broken across several
locations on the hard disk, and move the fragments to one location to increase efficiency.
- Disk partitions ~ divide an individual drive into multiple logical drives
- Backup utilities ~make a copy of all information stored on a disk, and restore either the
entire disk or selected files
- Disk compression ~ compress/uncompress the contents of a disk, increasing the capacity of
the disk.
- Anti-virus utilities ~ scan for computer viruses.
- Registry cleaners ~ clean and optimize the Windows registry by removing old registry keys
that are no longer in use.
- Network utilities ~ analyze the computer's network connectivity, configure network settings,
check data transfer or log events.

System Support Programs


System Development Programs

 Program that helps users develop IS programs and procedures and then prepare user
programs for computer processing.

 Also known as programming software

 i.e. language translators and editors, CASE and programming tools.

Programming Software

Software packages that help programmers develop computer programs.

- Programming language translator


- Programs that translate other programs into machine language instruction codes that
computers can execute.
- Programming language editor
- Known as programming tools that help programmers write programs by providing program
creation and editing capabilities.

Language Translator Programs

Translate instructions written in programming languages into machine language.

- Assembler
Translates assembler language statement

- Compiler
Translates high-level language statements

- Interpreter
A compiler that translates and executes each statement in a program, one at a time

Programming Tools

Help programmers identify and minimize errors while they are programming

- Graphical programming interfaces


- Programming editors
- Debuggers

CASE Tools

- A combination of many programming tools into a single application with a common interface
- Used in different stages of the systems development process

PROGRAMME LANGGUAGE

INTRODUCTION

- Most computer users depend on programmed applications – spreadsheets, image-


editing programs, Web browsers as problem solving tools.
- In some cases it’s necessary to write a program rather than use one written by
somebody’s else.
- A person who write a program is known as a programmer or a software engineer.
Program

- A list of instructions for the computer to follow to accomplish the task of processing data
into information.
- These instructions can be prewritten (off-the shelf) programs that are easy to install but are
sometimes rigid in what can be accomplished.
- i.e. Microsoft Office, (custom-made software)

Six step procedure

1. Program specification

2. Program design

3. Program code

4. Program test

5. Program documentation

6. Program maintenance
Programming languages

- An artificial language designed to express computations that can be performed by a


machine, particularly a computer.
- Programming languages can be used to create programs that control the behavior of a
machine, to express algorithms precisely, or as a mode of human communication.
- Many programming languages have some form of written specification of their syntax (form)
and semantics (meaning).
- The syntax is the form or arrangement of symbols and characters typical to a particular
language.
- Semantics deal with the meaning that a set of characters convey when arranged in a
particular way.
- Programming languages can be divided into:
- Low-level programming languages
- High-level programming languages
- Very high-level programming languages

Generations of Programming Languages

 1st Gen: Machine languages

 2nd Gen: Assembly languages

 3rd Gen: High level procedural languages (3GLs)

 4th Gen: Task-oriented languages (4GLs)

 5th Gen: Problem and Constraint languages (5GL)

Low-level programming language

 Language that provide little or no abstraction from a computer’s instruction set architecture
 The word "low" refers to the small or nonexistent amount of abstraction between the
language and machine language; because of this, low-level languages are sometimes
described as being "close to the hardware."

Low-level programming languages are sometimes divided into two categories:

 first generation

The first-generation programming language, or 1GL also known as Machine Language, is


machine code. It is the only language a microprocessor can process directly without a previous
transformation. Using binary code (1 and 0). Programming in machine language is very slow,
labor-intensive process and hard to understand. Example:1010 1101 8B54 2408 83FA 0077
 second generation

2GL, is assembly language, developed in 1950s that resembles machine language but substitutes
mnemonics for numeric codes. (example: load, sum). It is considered a second-generation
language because while it is not a microprocessor's native language, an assembly language
programmer must still understand the microprocessor's unique architecture (such as its registers
and instructions). These simple instructions are then assembled directly into machine code. The
assembly code can also be abstracted to another layer in a similar manner as machine code is
abstracted into assembly code. Difficult to read, debug and learn and costly in term of
programmer time. Example: mov edx, [esp+8], cmp edx, 0, ja @f, mov eax, 0, ret

High-level Programming languages

 with strong abstraction from the details of the computer.


 It may use natural language elements, be easier to use, or be more portable across
platforms.
 Such languages hide the details of CPU operations such as memory access models and
management of scope.
 It makes the language user-friendly.

Can be divided into:

 3rd Generation language

Specify instructions as brief statements (Procedure) that are more like natural language than
assembly language. More closely resembles the way we talk, easier to write and understand
in comparison of assembly language. More user friendly. When program written in
procedural language, it must be translated into machine language using Computer Language
Translation Program. Example: FORTRAN, COBOL, BASIC, Pascal Lisp and C

 4th Generation language


A task-oriented language that are used designed to solve specific problems. A programming
language that can be employed directly by end user or less skilled programmers to develop
computer applications more rapidly than conventional programming languages
(nonprocedural or less). Use for the development of commercial business software.
Vategories of 4th generation languages
o Query languages
o Report generators
o Graphics languages
o Application generators
o Very high-level programming languages
o Application software packages
o PC tools

E.g. LINC (Logic and Information Network Compiler), Oracle Express 4GL. i.e. of
instruction: SELECT student FROM class WHERE grade=‘A’
Computer Language Translation Programs

 Convert programming languages into machine language.


 Programs written in high-level language such as COBOL, C must be translated into machine
language that the computer can execute.
 The program in high-level language before translation is called source code and the machine
language after the translation is called object code.

The source code is translated into object code using:

 Compiler
 Interpreter

Compiler

 Translates source code into machine code called object code.


 Translates a high-level language into an assembly or machine language.
 Examples include Ada, ALGOL, COBOL, FORTRAN, PL/I, C/C++.

Interpreter

 Translates a high-level language into an assembly or machine language.


 Used to translate each source code statement one at a time into machine code during
execution and executes it.
 Examples include BASIC, LISP, Perl, Python, MATLAB, Ruby.

Very High-level Programming languages

 A programming language with a very high level of abstraction, used primarily as a


professional programmer productivity tool.
 Very high-level programming languages are usually limited to a very specific application,
purpose, or type of task.
 For this reason, very high-level programming languages are often referred to as goal-
oriented programming languages.
 Example: 5th Generation Language

5th Generation Languages

 A programming language based around solving problems using constraints given to the
program, rather than using an algorithm written by a programmer. (Problem and constraint
languages)
 Used mainly in artificial intelligence research to allow a person to provide a system with a
problem and some constraints, and then request for solution.
 E.g. Prolog, OPS5 (Official Production System), and Mercury
 i.e. of the instruction
 Get patient Diagnosis from patient Symptoms “sneezing”,”coughing”, “aching”
Application Software

The class of computer instructions that direct a computer system to perform specific processing
activities and provide functionality for users.

Includes a variety of programs that can be subdivided into:

 General purpose vs. function specific application categories


 Custom software vs. commercial off-the shelf (COTS)
 Open-source software vs. licensing software
 Mobile Apps

General Purpose Application Programs

 It is relatively cheap
 It is easily available from most computer shops
 It will have been thoroughly tested so there won’t be any serious problems or bugs
 There will be lots of user support i.e. books, user guides, online help and discussion forums
on the Internet

Function Specific Application Programs

 The user will get the exact application that they need
 The application will work exactly how they want it to work
 The program will only have the features that they specifically need in their business
Custom Software

 Software that is specially developed for some specific organization or other user.
 A computer program or application or Web site written specifically for the company,
according to the company's way of doing business.
 The company own the rights to the software, and it does not pay additional fees to add
users. They are free to resell the software to any other party.
 Custom software can be used to combine features from other packages with the features
that the company needs, or it can enable it to instantly access the information they need in a
format that makes sense for them.

Helps the businesses to store, manage and


Database Software retrieve data in the right manner especially if
the organization has a large number of clients
Helps the company to simulate physical and
abstracts systems finding in fields of research
Sim ulation Software and entertainment like flight simulators and
scientific simulators.
Helps organization or university to offer some
Educational Software specific and filtered information on some
topic or knowledge.
Helps companies or businesses to manage an
organizational Data Flow like ERP (Enterprise
Enterprise Software Resource Planning) CRM (Customer
Relationship M anagement) and FM S (Financial
M anagement System)

Commercial Off-The-Shelf Software

 Also known as pre-packaged or pre-written software


 The purchase of products that are standard manufactured products rather than customized.
 You do not technically own the software - you are paying for the right to use the software (a
license), and the amount of money you pay usually increases with the number of users.
 Commercial-off-the-shelf (COTS) software and services are built and delivered usually from a
third-party vendor.
 COTS can be purchased, leased or even licensed to the general public.
 Purchasers have no control over schedule, specifications, or evolution, and no access to
source code or internal documentation.
 Product vendor retains the intellectual property rights of the software.

COTS (example)

 Database Software
 Oracle and MSAccess
 Educational Software
 Matlab, Encarta, Google Earth
 Spreadsheet Software
 Presentation Software
 Multimedia Software
 Word Processing Software
Custom Software

 Designed specifically for your department or company


 Owned by you
 Can incorporate features from other software
 Flexible and upgradeable
 Built with industry-standard development tools

Commercial Off-the-Shelf (COTS) Software

 Applications are provided at a reduced cost.


 The application is more reliable because its reliability is proven through the use by other
organizations.
 COTS is more maintainable because the systems documentation is provided with the
application.
 The application is higher quality because competition improves the product quality.
 COTS is of higher complexity because specialists within the industry have developed the
software.

Open-Source Software

 "Open source" refers to something that can be modified and shared because its design is
publicly accessible.
 Open source software is software whose source code is available for modification or
enhancement by anyone.
 "Source code" is the part of software that most computer users don't ever see; it's the code
computer programmers can manipulate to change how a piece of software—a "program" or
"application"—works. Programmers who have access to a computer program's source code
can improve that program by adding features to it or fixing parts that don't always work
correctly.
 The source code is made available with a license in which the copyright holder provides the
rights to study, change, and distribute the software to anyone and for any purpose.
 It can be freely used, changed, and shared (in modified or unmodified form) by anyone.
 Computer software with its source code made available and licensed with a license in which
the copyright holder provides the rights to study, change and distribute the software to
anyone and for any purpose.
 It is made by many people, and distributed under licenses that comply with the Open Source
Definition. The application code becomes available and free to anyone who wants it.
 [Link]

Freeware

 Freeware is proprietary software that is available for use at no monetary cost.


 It may be used without payment but may usually not be modified, re-distributed or reverse-
engineered without the author's permission.
 Freeware is free, and is covered by copyright and anyone can download from the Internet
and use for free.
 The source code of freeware is typically not available,
 You can’t sell freeware software and modified software must be freeware.
 Examples: Skype, Adobe Acrobat Reader, Yahoo messenger, MSN messenger
Shareware

 Proprietary software which is provided (initially) free of charge to users, who are allowed
and encouraged to make and share copies of the program, which helps to distribute it.
 Shareware is often offered as a download from an Internet website or as a compact disc
included with a magazine.
 They may not require an initial up-front payment, all are intended to generate revenue in
one way or another.
 The software itself may be limited in functionality or be time-limited. Or it may remind the
user that payment would be appreciated.
 Sharewares give users a chance to try the software before buying it.
 Most of the times, all features are not available, or have limited use. To use all the features
of the software, user has to purchase the software.
 Shareware may or may not be distributed freely. In many cases, author’s permission is
needed, to distribute the shareware.
 [Link], Cuteftp, Getright

Licensing Software

 Software license is a legal instrument governing the use or redistribution of software.


 All commercial software must be licensed for use.
 Involves the underlying..
 Intellectual property rights
 Copyright
 Trademark, Trade secrets
 Contract law, i.e Uniform Commercial Code (UCC)
 You don’t buy software application
 You buy a license to use the software
 End-user license agreement (EULA) is the contract between the licensor and purchaser,
establishing the purchaser's right to use the software.
 Licensed to protect the vendor’s property rights, i.e. modifiying, disclosing, transfering,
selling, duplicating.

Software Suites

 Software suite is an example of general purposes application software


 Most widely used productivity packages are bundled together as software suites.
 Productivity packages are category of applications dedicated to helping accomplish specific
jobs such as documents, databases, presentations, spreadsheets, charts and graphs

 Collection of separate application programs

o Bundled together/Sold as group

 Office suites or office software suite / productivity suites

o Microsoft Office

o Apple iWork, OpenOffice

 Cloud suites or online office


suites
o Google Docs (Making IT Work for You), Zoho, Microsoft Web Apps

 Specialized suites

o Corel Draw Graphics Suite X6

o Moneyfree Software TOTAL Planning Suite

 Utility suites

o Norton Systems Works

o Norton Internet Security suite

Parts of an information system (6)

1.

You might also like