CS1010 Introduction To Computing: (Computer Software)
CS1010 Introduction To Computing: (Computer Software)
Lecture 09
(Computer Software)
1
COMPUTER SOFTWARE
• How to differentiate between hardware and
software?
• Machine language is a
lowest level language.
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
Application Software
System software are programs that ..
• Control the overall operation of the computer.
– 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.
• 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.
• 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.
• 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.
Source code
Compiler Interpreter
Object code
Hardware
DEVICE DRIVERS
• Device drivers connect software to hardware.
• 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
• Key requirements:
– Reliability
– Security
– Ability to handle 1000’s of transactions, simultaneously
ERP (Enterprise Resource Planning) SW
• Very large scale, complex & expensive SW
• Popular productivity SW
– Word Processing -- Spreadsheets
– Presentations -- Databases
Word Processors
• Probably the most popular productivity app
• Automation
– Automatic end-of-line soft carriage return
– Style sheets
– Table of contents & index
– Spelling & grammar checking
• 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
• 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
• Share a common UI
• User Interface
– Consistent
– Intuitive
– Configurable
– Adapts to the users need
• 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:
• 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”.
• 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.
• 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.
• 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.