Você está na página 1de 20

Computer Software

Presented by:
Huma Khan
Jawad Mughal
Mahpara Hameed
Wajiha Khan
Ziyad Mehtab
Introduction
 Computer software, or just software is a general
term primarily used for digitally stored data such as
computer programs and other kinds of information
read and written by computers.
 The term was coined in order to contrast to the old
term hardware (meaning physical devices); in
contrast to hardware, software is intangible,
meaning it "cannot be touched".
 Software is also sometimes used in a more narrow
sense, meaning application software only.
Key Words, Phrases &
Examples
 Application software, such as word processors which perform productive tasks
for users.
 Firmware, which is software programmed resident to electrically programmable
memory devices on board main boards or other types of integrated hardware
carriers.
 Middleware, which controls and co-ordinates distributed systems.
 System software such as operating systems, which govern computing
resources and provide convenience for users.
 Software testing is a domain dependent of development and programming.
Software testing consists of various methods to test and declare a software
product fit before it can be launched for use by either an individual or a group.
 Testware, which is an umbrella term or container term for all utilities and
application software that serve in combination for testing a software package but
not necessarily may optionally contribute to operational purposes. As such,
testware is not a standing configuration but merely a working environment for
application software or subsets thereof.
 Video games (except the hardware part)
 Websites
Overview
 Computer software is so called to distinguish it
from computer hardware, which encompasses the
physical interconnections and devices required to
store and execute (or run) the software.
 At the lowest level, executable code consists of
machine language instructions specific to an
individual processor.
 A machine language consists of groups of binary
values signifying processor instructions that change
the state of the computer from its preceding state.
Overview contd.
 Programs are an ordered sequence of instructions for
changing the state of the computer in a particular
sequence.
 It is usually written in high-level programming
languages that are easier and more efficient for humans
to use (closer to natural language) than machine
language.
 High-level languages are compiled or interpreted into
machine language object code.
 Software may also be written in an assembly language,
essentially, a mnemonic representation of a machine
language using a natural language alphabet.
 Assembly language must be assembled into object code
via an assembler.
Overview
 The types of software include web pages developed
in languages and frameworks
like HTML, PHP, Perl, JSP, ASP.NET, XML, and
desktop applications like OpenOffice, Microsoft
Word developed in languages like C, C++, Java,
or C#.
 Application software usually runs on an underlying
software operating systems such as
Linux or Microsoft Windows.
 Software (or firmware) is also used in video
games and for the configurable parts of
the logic systems of automobiles, televisions, and
other consumer electronics.
Types of Software
 Although the distinction is arbitrary, and often
blurred, practical computer systems divide software
systems into three major classes:

 System software,
 Programming software, and
 Application software
System Software

 System Software are designed to control the


operation and extend the processing
capability of a computer system.
Examples of System Software
 An Operating System (OS) is the master controller
within a computer and is a major example.
E.g. Windows, MacOS, MS-DOS, UNIX, Linux
 Works as coordinator between hardware and user software
 Example: Opening a word document, screen display, print, and
save.
 Allocates system resources (CPU, peripherals)
 Examples: use of key board, mouse, playing music, displaying on
monitor
 An operating system interacts with:
 All hardware installed in or connected to a computer system.
 All software installed or running from a storage device on a
computer system.
Examples of System Software

 Network Operating System (NOS)


 Manages network resources.
 Maintains security.
 Tracks user accounts.
 Handles communication between workstations
and servers.
 Popular network operating systems
Windows NT, Novell Netware, UNIX
Examples of System Software
 Utility Software is software that augments the
system software
 Example: Preparing disks to store data
 Utilities augment functionality of operating systems.
Utilities includes device drivers and Troubleshooting
capabilities.
 Utilities provide file management capabilities such
as copying, moving or renaming a file.
 E.g. Norton Utilities includes an undelete function that can
recover deleted files.
 Symantec and McAfee Virus checkers add protection for all
system and data files.
Examples of System Software

 The system software that helps computer


control a peripheral device is a Device
Drivers, which is usually supplied by the
vendor of the computer device
 Example: DD for mouse, DD for Laser printer
Examples of System Software:
Programming Software
 Programming Languages
 Tools to create the Application Software
Programming Languages
 Program is a sequence of instructions written in a
language that can be understood by a computer.
 Basic building blocks of any software.
 Programming languages allow a programmer to write
instructions that a computer can understand.
 Programming languages have some resemblance to
the English language.
 BASIC C++
 Pascal
Java
 Fortran
Application Software

 Application Software are designed to solve


a specific problem or to do a specific task.
 Enables a computer to become a multi-
purpose machine.

 Produce worksheets  Create flow charts and


and reports. graphic organizers.
 Automate record  Communicate
keeping like worldwide.
attendance and
grades.
Examples of Application
Software
 Productivity Software: Software which enhances the productivity
 Business software: Software which helps to efficiently do routine
tasks
 Horizontal Market Business Software

 Vertical Market Business Software

 Spreadsheets
 Databases

 Presentation Software
 Document Preparation
 Word Processing

 Desktop Publishing

 Project Management Software


Application Software
 Word Processing Software
 Electronic Spreadsheet Software
 Database Software
 Presentational Software
 Communication Software
 Electronic Mail Software
 Graphics Creation and Manipulation
 Animation and 3D Graphics
 Video Editing
 Internet Connectivity
 Website Creation and Management
 Groupware
 Financial Management
 Edutainment - Educational Games and Tutorials
Application Software

System Software

Hardware
Design & Implementation
 Design and implementation of software varies depending on the complexity of
the software. For instance, design and creation of Microsoft Word software will
take much longer time than designing and developing Microsoft
Notepad because of the difference in functionalities in each one.
 Software is usually designed and created (coded/written/programmed)
in Integrated Development Environments (IDE) like Microsoft Visual Studio that
can simplify the process and compile the program.
 Software is usually created on top of existing software and the Application
Programming Interface (API) that the underlying software provides
like JavaBeans.
 Libraries (APIs) are categorized for different purposes. For instance, JavaBeans
library is used for designing enterprise applications, Windows Forms library is
used for designing graphical user interface (GUI) applications like Microsoft
Word, and Windows Communication Foundation is used for designing web
services.
 When a program is designed, it relies on the API. Without these APIs, the
programmer needs to write these APIs him/herself.
 Companies like Sun Microsystems, and Microsoft provide their own APIs so that
many applications are written using their software libraries that usually have
numerous APIs in them.
The Person Behind

 A person who creates software is called


a programmer, software engineer, software
developer, or code monkey, terms that all
essentially have a same meaning.

Você também pode gostar