
"Software" redirects here. For other uses, see Software (disambiguation).
Computer software, or just software is a general term used to describe a
collection of computer programs, procedures and documentation that perform some
tasks on a computer system.
The term includes:
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 mainboards or other types of integrated hardware
carriers.
Middleware which controls and co-ordinates distributed systems.
System software such as operating systems, which interface with hardware to
provide the necessary services for application software.
Software testing is a domain independent of development and programming. It
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. Many tests on
functionality, performance and appearance are conducted by modern testers with
various tools such as QTP, Load runner, Black box testing etc to edit a
checklist of requirements against the developed code. ISTQB is a certification
that is in demand for engineers who want to pursue a career in testing.[2]
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.
Software includes websites, programs, video games, etc. that are coded by
programming languages like C, C++, etc.
"Software" is sometimes used in a broader context to mean anything which is not
hardware but which is used with hardware, such as film, tapes and records.
Overview
Computer software are often regarded as anything but hardware, meaning that the
"hard" are the parts that are tangible while the "soft" part is the intangible
objects inside the computer. Software encompasses an extremely wide array of
products and technologies developed using different techniques like programming
languages, scripting languages or even microcode or a FPGA state. The types of
software include web pages developed by technologies like HTML, PHP, Perl, JSP,
ASP.NET, XML, and desktop applications like Microsoft Word, OpenOffice developed
by technologies like C, C++, Java, C#, etc. Software usually runs on an
underlying software operating systems such as the Microsoft Windows or Linux.
Software also includes video games and the logic systems of modern consumer
devices such as automobiles, televisions, toasters, etc.
Relationship to computer hardware
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, software consists of a
machine language specific to an individual processor. A machine language
consists of groups of binary values signifying processor instructions which
change the state of the computer from its preceding state. Software is an
ordered sequence of instructions for changing the state of the computer hardware
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.
The term "software" was first used in this sense by John W. Tukey in 1958.[4] In
computer science and software engineering, computer software is all computer
programs. The theory that is the basis for most modern software was first
proposed by Alan Turing in his 1935 essay Computable numbers with an application
to the Entscheidungsproblem.
Types of software
A layer structure showing where Operating System is located on generally used
software systems on desktopsPractical computer systems divide software systems
into three major classes: system software, programming software and application
software, although the distinction is arbitrary, and often blurred.
System software
System software helps run the computer hardware and computer system. It
includes:
device drivers,
operating systems,
servers,
utilities,
Faraware,
windowing systems,
(these things need not be distinct)
The purpose of systems software is to unburden the applications programmer from
the details of the particular computer complex being used, including such
accessory devices as communications, printers, readers, displays, keyboards,
etc. And also to partition the computer's resources such as memory and processor
time in a safe and stable manner.
Programming software
Programming software usually provides tools to assist a programmer in writing
computer programs, and software using different programming languages in a more
convenient way. The tools include:
compilers,
debuggers,
interpreters,
linkers,
text editors,
An Integrated development environment (IDE) is a single application that
attempts to manage all these functions.
Application software
Application software allows end users to accomplish one or more specific (not
directly computer development related) tasks. Typical applications include:
industrial automation,
business software,
computer games,
telecommunications, (ie the internet and everything that flows on it)
databases,
educational software,
medical software,
Application software exists for and has impacted a wide variety of topics.
Source# wikipedia
For other information
***END***
ALL RIGHT RESERVED WITH QSCL
©2009