ICT Lecture 08 Computer Software

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 32

Fundamental of ICT

Lecture-8
Computer Software
Course Instructor: Nasir Ali Kalmati
COMPUTER SOFTWARE
• How to differentiate between hardware and software?

• Hardware is a physical part for a computing environment.


The part which you can touch.

• Software is runs that hardware. The instructions given to


hardware is what we called software also known as
Computer Program.

• The hardware needs software to be useful, and vice versa


is also true as well.
02/02/2021 University of Turbat Gwadar Campus 2
MACHINE LANGUAGE
• The language of computer that it can understand and execute is
called Machine Language.

• Machine language is a
lowest level language.

• Machine language is very easy but not for humans rather for
computers. To understand and write programs in machine
language is very difficult task for humans.

02/02/2021 University of Turbat Gwadar Campus 3


LANGUAGE TRANSLATORS
• Human programmers write programs in a language that is
easy to understand for them.

• They use language translators to convert that program


into machine language.
• Compiler
• Interpreter

• In future lecture we discuss on language translator in


detail.

02/02/2021 University of Turbat Gwadar Campus 4


SOFTWARE DEVELOPMENT
• Develop large scale, complex programs/software is not so
easy task.

• It does not include just coding, many other features are


also included.

• Analysis of Software Development:

• You just spend 15 % of your time in coding, rest 85 % of


your time you spend on other activities.
02/02/2021 University of Turbat Gwadar Campus 5
THE SOFTWARE DEVELOPMENT
PROCESS

Concept & Feasibility

User Requirement

Developer Spec.

Planning

Design

Implementation

02/02/2021 University of Turbat Gwadar Campus 6


• Concept & Feasibility:
Will this software will be useful, means think of a feasibility. How
many money will required to develop this complex software. What
will be the benefit of development. Is cost is higher than benefit.

• User Requirement:
Next phase is requirement gathering of user.
In this phase many questionnaire is asking from the potential user,
what type of features, processing they need.

• Developer Specification:
In which language, you will be written this software, tools etc.
02/02/2021 University of Turbat Gwadar Campus 7
• Planning:
In planning phase, what is the nature of this s/w, how many
work force is required? How many resources required, and how
much time is required.

• Design:
For a large scale, complex software, you don’t write a single
program, you divide it in many small modules and develop
individually and before that design individually.

• Implementation:
Final phase is implementation or coding.
02/02/2021 University of Turbat Gwadar Campus 8
MAJOR TYPES OF
SOFTWARE
• Two major types of software:

• System software
• Application software

02/02/2021 University of Turbat Gwadar Campus 9


02/02/2021 University of Turbat Gwadar Campus 10
SYSTEM & APPLICATION SOFTWARE
• System software are doing the task in the background, which user
can not see.

• System software interact with computer hardware.

• Application software talks to the hardware through system software.

• Through Application programs user interact with computer.

• Usually application software interact with operating system and then


operating system on behalf of application software interact with
hardware.
02/02/2021 University of Turbat Gwadar Campus 11
HARDWARE
OPERATING SYSTEM DEVICE DRIVER
Language Scientific Business Productivity Entertainment
Utility Translator Apps. Apps. Apps. Apps.

System Software

Application Software

02/02/2021 University of Turbat Gwadar Campus 12


System software are programs
that ..
• Control the overall operation of the computer.
• Operating system

• Interact directly with hardware.


• Device drivers

• Perform system management & maintenance.


• Utilities

• Are used to develop or maintain other programs.


02/02/2021
• Language Translators
University of Turbat Gwadar Campus 13
Types of System Software
• Operating System

• Firmware

• Utilities

• Language Translators

• Device Drivers

02/02/2021 University of Turbat Gwadar Campus 14


OPERATING SYSTEM
• Operating System are working in background.

• Example:
• How the files are transferring from memory to hard disk.
• How you see images on screen.
• When you typed on keyboard, they produce results.
• When microprocessor perform any particular task.

• The key factor about operating system is that they interact directly with
hardware.

• Types of OS:
• Windows, Mac OS, Unix, Linux.
• Solaris, MS DOS, CPM, VMS.

02/02/2021 University of Turbat Gwadar Campus 15


FIRMWARE
• Firmware is software that is embedded in a piece of hardware.

• Firmware are programs running on devices used to control it.

• Example:
• ROM (when computer is turned on, it’s the first program that always
executes.)
• On IBM-compatible PC’s, the startup program is known as BIOS.
• BIOS loads operation system into main memory.

02/02/2021 University of Turbat Gwadar Campus 16


UTILITIES
• Utility software is system software designed to help analyze, configure,
optimize or maintain a computer.
• Functions performed by Utilities:
A utility program performs a specific task related:
• Management of Computer Functions.
• Resources
• Memory Management,
• Virus Protection
• File Compression.
• Example:
• Anti virus software
• Data compression software
• Disk optimization software
• Disk backup software

02/02/2021 University of Turbat Gwadar Campus 17


LANGUAGE TRANSLATORS
• Language translators are programs that take code in high level
language and translate it into a low-level language that is easily
understood by microprocessor.

• Language translators are of two types:

• Compiler: the program written in a high level language translates into


machine language in one go. The translated code is then used by the
microprocessor whenever the program needs to run.

• Interpreter: translates the high level language program one statement at


time. It reads single statement, translates into machine language and
passes the machine language code to processor and then translates the
next statement, and so on… University of Turbat Gwadar Campus
02/02/2021 18
COMPILARS AND INTERPRETERS
• Programs written in a higher language must be
converted into machine language

Source code

Compiler Interpreter

Object code

Hardware
02/02/2021 University of Turbat Gwadar Campus 19
DEVICE DRIVERS
• Device drivers connect software to hardware.

• They are computer programs that is intended to allow another


program(typically OS) to interact with a hardware device.

• They sit between hardware and software.

• Think of a driver as a manual that gives the OS (e.g. windows)


instructions on how to use a particular piece of hardware.

• Device driver software converts generally input/output instructions


given by user into those instructions which a device can understand and
vice versa.
02/02/2021 University of Turbat Gwadar Campus 20
APPLICATION SOFTWARE
• Application software are programs that interact directly with the
user for the performance of a certain type of work.

• Generally application s/w talks with hardware through system


software.

• Scientific/Engineering/Graphics Software
• Business Software
• Productivity Software
• Entertainment Software
• Educational Software
02/02/2021 University of Turbat Gwadar Campus 21
APPLICATION SOFTWARE

CLASSIFICATION ACCORDING
TO THE MODE

02/02/2021 University of Turbat Gwadar Campus 22


Classification According to the
Mode
• Interactive-mode
• The user runs the program on the computer and keeps on interacting
with the computer while the program runs
• Example: Word processor

• Batch-mode
• The user starts the program and the computer processes the provided
data and produces results without any further intervention of from the
user
• Example: Payroll

02/02/2021 University of Turbat Gwadar Campus 23


CLASSIFICATION ACCORDING
TO APPLICATION AREA

02/02/2021 University of Turbat Gwadar Campus 24


• We classify application software in 5 different areas:

• Scientific/Engineering/Graphics Software
• Business Software
• Productivity Software
• Entertainment Software
• Educational Software

02/02/2021 University of Turbat Gwadar Campus 25


Scientific/Engineering/Graphics Apps
• Key feature: Intense floating-point calculations

• Scientific/engineering/mathematical apps
• Computers initially were designed just to run them
• Generally designed for specialists
• Rudimentary UI’s (Not a user friendly interface)
• Many run in batch mode

02/02/2021 University of Turbat Gwadar Campus 26


Scientific SW
• Simulation of natural systems
• Deforestation and effect on green-house gases

• Simulation of artificial systems


• NeuralWare (Simulator for artificial neural networks)
• Thermo-nuclear explosions

• Mathematical computation packages


• Mathematica (can do hundreds, if not thousands of functions, e.g.
solving a differential eq., symbolically)
• MathCAD, Matlab etc..

02/02/2021 University of Turbat Gwadar Campus 27


Engineering SW
• Computer-aided design (CAD)
• AutoCAD (design architecture drawings)
• SPICE (design electronic circuits)
• Virtual wind tunnels (e.g. Boeing 777)

• Computer-aided manufacturing (CAM)

• Industrial control SW (A SW to control different kinds of plants e.g.


chemical plant)
(e.g. ICI water treatment plant, to control it a system was built)

02/02/2021 University of Turbat Gwadar Campus 28


Graphics & Animation SW (1)
Two types:
Moving
graphics
1. Vector graphics e.g. cartoons
• Treats everything that is drawn as an object
• Objects retain their identity after they are drawn
• These objects can later be easily moved, stretched, duplicated,
deleted, etc
• Are resolution independent
• Relatively small file size
• Example: MS Visio, Corel Draw, Flash

02/02/2021 University of Turbat Gwadar Campus 29


Graphics & Animation SW (2)
2. Bit-mapped or raster graphics
• Treats everything that is drawn as a bit-map
• If an object is drawn on top of another, it is difficult to move just 1
of them while leaving the other untouched
• Changing the resolution often requires considerable touch-up
work
• Relatively large file size
• Example: MS Paint, Adobe Photoshop

02/02/2021 University of Turbat Gwadar Campus 30


Business Applications
• Most of the SW being developed today belongs to this category

• SW that is required to run most any sort of biz:


• Payroll
• General ledger
• Order entry
• Accounts receivable & accounts payable
• Inventory control

• Let’s now discuss a few business SW categories which are not that
common, but are becoming more and more popular with time

02/02/2021 University of Turbat Gwadar Campus 31


Thank you

02/02/2021 University of Turbat Gwadar Campus 32

You might also like