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

Computer Software

Uploaded by

Ayesha Faisal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Computer Software

Uploaded by

Ayesha Faisal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 66

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 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
• The details are coming down inside lecture
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 25 % of your time in coding, rest


75 % 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 be useful, means think of a feasibility.
How much money will be 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 questionnaire is asking from the potential
user, what type of features, processing they need.

• Developer Specification:
In which language you will be writing 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 before that design.

• 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 interact to the hardware through


system software.

• Through Application programs user interacts with computer.

• Usually application software interact with operating system


and then operating system on behalf of application
software interacts 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 type on keyboard, they produce results.
– When microprocessor performs 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)
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 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
Overhead Projector
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, 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 Web sites 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 learn 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
– 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
• 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