0% found this document useful (0 votes)
237 views65 pages

CS1010 Introduction To Computing: (Computer Software)

This document provides an overview of computer software, including: 1) It distinguishes between hardware and software, noting that software consists of instructions that run on hardware. 2) It describes different types of software including system software like operating systems, device drivers, and language translators, as well as application software. 3) It discusses the software development process and how programs are developed through various phases like requirements gathering, design, implementation, and testing.

Uploaded by

asad shah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
237 views65 pages

CS1010 Introduction To Computing: (Computer Software)

This document provides an overview of computer software, including: 1) It distinguishes between hardware and software, noting that software consists of instructions that run on hardware. 2) It describes different types of software including system software like operating systems, device drivers, and language translators, as well as application software. 3) It discusses the software development process and how programs are developed through various phases like requirements gathering, design, implementation, and testing.

Uploaded by

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

CS1010 Introduction to Computing

Lecture 09
(Computer Software)

1
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.
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 very difficult
task for humans.
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.
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.
THE SOFTWARE DEVELOPMENT
PROCESS
Concept & Feasibility

User Requirement

Developer Spec.

Planning

Design

Implementation
• 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.
• 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.
MAJOR TYPES OF SOFTWARE
• Two major types of software:

– System software
– Application software
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.
HARDWARE
OPERATING SYSTEM DEVICE DRIVER
Language Scientific Business Productivity Entertainment
Utility
Translator Apps. Apps. Apps. Apps.

System Software

Application Software
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.


– Language Translators
Types of System Software
• Operating System

• Firmware

• Utilities

• Language Translators

• Device Drivers
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.
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.
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
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…
COMPILARS AND INTERPRETERS
• Programs written in a higher language must
be converted into machine language

Source code

Compiler Interpreter

Object code

Hardware
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.
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
INTERFACE HARDWARE - USER

End user
System software
• operating system: OS Application SW
• support: system utilities
System SW
• development: compilers

Computer-
Application software hardware
• packages
• own development
APPLICATION SOFTWARE

CLASSIFICATION ACCORDING
TO THE MODE
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
CLASSIFICATION ACCORDING
TO APPLICATION AREA
• We classify application software in 5 different
areas:

• Scientific/Engineering/Graphics Software
• Business Software
• Productivity Software
• Entertainment Software
• Educational Software
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
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..
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)
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
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
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
E-Commerce Software
• Interactive SW(customer through website interact
with you, and interact with computer not with a
sales person).

• E-Commerce SW is Custom Built.

• Key requirements:
– Reliability
– Security
– Ability to handle 1000’s of transactions, simultaneously
ERP (Enterprise Resource Planning) SW
• Very large scale, complex & expensive SW

• Ties together all key activities & major systems of an


organization into a single SW system

• Key benefit: Optimization of the business processes


of an organization as a single system instead of
many loosely-related stand-alone systems

• Example: SAP, Oracle, PeopleSoft, Baan


DSS (Decision Support Systems) SW
• Sometimes also called “expert systems”

• Many times are based on a branch of computer


science called “artificial intelligence”

• This category of SW is designed to help business


managers in making effective decisions in complex
situations based on the analysis of the relevant data
Productivity SW
• Most popular category in terms of licenses sold
• Common features
– Ability to simplify, automate everyday business tasks
– Highly interactive and user-friendly design
– Designed to run on PC’s
– Most users do not use 90% of the SW features

• Popular productivity SW
– Word Processing -- Spreadsheets
– Presentations -- Databases
Word Processors
• Probably the most popular productivity app

• Initially designed as a replacement for the typewriter

• Automation
– Automatic end-of-line soft carriage return
– Style sheets
– Table of contents & index
– Spelling & grammar checking

• Two approaches: WYSIWYG (e.g. Word, WordPerfect, Star)


or NON-WYSIWYG (HTML, LaTeX)?

• Desktop publishing
Web Page Development SW
• Web pages can be developed using a simple plain-
text editor like the “notepad”, but more efficient,
easy-to-use HTML editors can make the process
quicker

• Some of them are WYSIWYG (i.e. you don’t really


need to know any HTML to use them), others are
not, while some provide both types of interfaces
(DreamWeaver)

• Most popular word processors now come with a


built-in Web page development facility
Spreadsheet SW (1)
• Electronic replacement for ledgers
• Is used for automating engineering, scientific, but in
majority of cases, business calculations
• A spreadsheet - VisiCalc - was the first popular
application on PC’s.
• It helped in popularizing PC’s by making the task of
financial-forecasting much simpler, allowing
individuals to do forecasts which previously were
performed by a whole team of financial wizard
Spreadsheet SW (2)
• Consist of cells arranged in rows and columns

• Each cell may contain numeric values, text or


formulas

• Automation
– Recalculations
– Charts
Presentation Development SW
• Used to prepare multimedia material for lectures &
presentations to display key points, graphics,
animation, or video with the help of multimedia
projectors

• Have replaced acetate films (slides) that were used


with over-head projectors

• Key advantage over acetate slides:


– Easy to modify
– Can be sent electronically
– Its multimedia nature makes it more interesting for the
audience
Small-Scale Databases SW (1)
• Easy to use applications designed for efficient
storage and fast and easy retrieval of data

• That data may be in the form of numbers, text, or


even multimedia, i.e. sounds, graphics, animation,
video
Small-Scale Databases SW (2)
• Before the advent of the currently popular
“relational” database model, the data-basing
function was performed using what is called the
“flat-file” model
• That model is not very efficient for storing and
searching in large databases
• A database consists of a file or a set of files.
Information in these is stored in the form of
records, and the records are further subdivided into
fields
Productivity SW Suites
• A set of stand-alone productivity applications
designed to work easily with each other

• Share a common UI

• Are available as a bundle along with additional


useful utilities

• Examples: MS Office, Corel WordPerfect Office,


Lotus SmartSuite, Star Office

• SW Suites for other app areas are available as well,


e.g. the Adobe suite of graphics apps
Entertainment SW
Key feature: Simple, intuitive, many times social UI’s

• The user is generally assumed to know nothing


about computers

• Both Microsoft & Apple are pursuing a PC-as-a-


personal-entertainment-hub strategy. Probable
result: Already popular entertainment SW will
become even more popular
Music & Video Players
• Music players (WinAmp)

• Video/Music players (Real player, Windows Media


player, QuickTime player)

• The Web Browsers can also display video,


animation, and play music with the help of helper
applications like Flash
Games
• Many types
– Educational (especially for toddlers)
– Strategy/Simulation (e.g. SimCity)
– Sports
– Shoot’em ups

• The saddest aspect: You do not need any


opponents or partners to play computer games

• The application SW category that provides the


toughest challenge for computer HW
Educational SW
• Category with probably the highest growth rate

• Current focus on augmenting traditional training


and education methods, but it is shifting towards
replacing traditional methods
Electronic Encyclopedias
• Great resource of useful information presented in a
very interesting format

• Superior to the paper-based version because:


– Access speed is dramatically higher
– Can contain animation and sound
– Much lower cost as thousand’s of pages in dozens of
volumes have been replaced by a couple of CD’s
On-Line Learning
• With time, the VU Web site will become more and
more focused on interactive online learning

• The Website of our textbook “Understanding


Computers” is an example of an on-line learning
Website

• Key features of good online learning SW:


– The student can learns at his or her own pace
– The student can select his or her own hours
Interactive CD’s
• Same as on-line learning, but through a CD
instead of a Web site
• Key advantage:
– Ideal for students with slow Internet access
Attributes of Good Application Software
• Easy to install, un-install

• User Interface
– Consistent
– Intuitive
– Configurable
– Adapts to the users need

• Has a tutorial and a complete help manual

• Does not have any critical bugs


ANOTHER WAY OF
CLASSIFYING A SOFTWARE
ANOTHER WAY OF CLASSIFYING SOFTWARE
• Shrink-Wrapped Software
 You can just go to shop and buy it.
 They are built in such a way that it is useful for
many different users in many different ways.

• Example:
MS Word, MS Excel etc.
• Custom-built Software
 You have to find someone who can develop it for
you.
 These software are built for a particular
organization to fulfill the needs of the particular
organization

• Example:
Payroll system, Inventory Control, Library system etc.
DIFFERENCE
• Another thing that distinguish shrink wrapped
software from custom built software is delivery
time is longer in custom built software and they
are expensive.
WHO OWNS SOFTWARE?
• When we buy a SW package, we do not really
buy it. We just buy a license that allows us to
use it, the ownership stays with the maker.

• Software Licenses:

– Proprietary Software License


– Freeware Software License
– Shareware Software License
PROPRIETARY SOFTWARE LICENSE
• The Software that license you purchased and are
not free.

• The modification and redistribution is prohibited in


proprietary software license and consider as illegal.

• Most of the software in the world come under this


license scheme.

• Example:
MS Windows, MAC OS, MS office s/w package,
Adobe Photoshop, Norton Anti-virus.
TYPES OF PROPRIETARY LICENSES
• Single-User License

• Multi-User License
– For an organization, used by 5 people and can be
installed on 5 computers

• Concurrent-User License

• Site License
FREEWARE SOFTWARE LICENSE
• Also known as “Public Domain Software”.

• You use it without paying anything.

• Examples:
Linux, LaTeX, Chrome, Opera, Netscape
Navigator, Internet Explorer Web Browsers.
OPEN-SOURCE SOFTWARE LICENSE
• When you purchased a SW you get it in machine
language form (machine code), and to modify
machine code it’s a complex and difficult task.

• Others even give away the high-level language


source code so that users can make changes
according to their own requirements.

• Example:
Apache Web Server, MySQL
SHAREWARE SOFTWARE LICENSE
• Authors say use it for free of cost.
• Authors say if you are satisfied then please pay
us some money.

• In some cases paying the money is optional.

• Ownership belongs to author, author allow you


to use this software for some period of time.
After certain period of time if you are satisfied
then purchase the license of this software.
• These software usually you download from web.

• Example:
WinZip, Download Accelerator, PDF to Word
Converts etc.
TRAILWARE
• Is similar to shareware but difference is that the
SW is usable for a short period of time only.

• When the period is expired, it is no more is use


until the license is not purchased.

• The time period may vary according to its


developer.

• These kind of software can easily download


from internet.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy