Application software is a computer program that functions and is
operated by means of a computer, with the purpose of supporting or
improving the software user's work. In other words, it is the
subclass of computer software that employs the capabilities of a
computer directly and thoroughly to a task that the user wishes to
perform. This should be contrasted with system software
(infrastructure) or middleware (computer services/ processes
integrators), which is involved in integrating a computer's various
capabilities, but typically does not directly apply them in the
performance of tasks that benefit the user. In this context the
term application refers to both the application software and its
implementation.
A simple, if imperfect analogy in the world of hardware would be
the relationship of an electric light bulb (an application) to an
electric power generation plant (a system). The power plant merely
generates electricity, not itself of any real use until harnessed
to an application like the electric light that performs a service
that benefits the user.
Typical examples of 'software applications' are word processors,
spreadsheets, media players and database applications.
Multiple applications bundled together as a package are sometimes
referred to as an application suite. Microsoft Office,
OpenOffice.org, and iWork, which bundle together a word processor,
a spreadsheet, and several other discrete applications, are typical
examples. The separate applications in a suite usually have a user
interface that has some commonality making it easier for the user
to learn and use each application. And often they may have some
capability to interact with each other in ways beneficial to the
user. For example, a spreadsheet may be embedded in a word
processor document even though it has been created in a separate
spreadsheet application.
User-written software tailors systems to meet the user's specific
needs. User-written software include spreadsheet templates, word
processor macros, scientific simulations, graphics and animation
scripts. Even email filters are a kind of user software. Users
create this software themselves and often overlook how important it
is.
In some types of embedded systems, the application software and the
operating system software may be indistinguishable to the user, as
in the case of software used to control a VCR, DVD player or
microwave oven.
This definition may exclude some applications that may exist on
some computers in large organizations. For an alternative
definition of an application: see Application Portfolio
Management.
Terminology
The delineation between system software such as operating systems
and application software is not exact, however, and is occasionally
the object of controversy. For example, one of the key questions in
the United States v. Microsoft antitrust trial was whether
Microsoft's Internet Explorer web browser was part of its Windows
operating system or a separable piece of application software. As
another example, the GNU/Linux naming controversy is, in part, due
to disagreement about the relationship between the Linux kernel and
the operating systems built over this kernel.
In computer science, an application is a computer program designed
to help people perform a certain type of work. An application thus
differs from an operating system (which runs a computer), a utility
(which performs maintenance or general-purpose chores), and a
programming language (with which computer programs are created).
Depending on the work for which it was designed, an application can
manipulate text, numbers, graphics, or a combination of these
elements. Some application packages offer considerable computing
power by focusing on a single task, such as word processing;
others, called integrated software, offer somewhat less power but
include several applications.
Application software classification
There are many subtypes of application software:
* Enterprise software addresses the needs of
organization processes and data flow, often in a large distributed
environment. (Examples include Financial, Customer Relationship
Management, and Supply Chain Management). Note that Departmental
Software is a sub-type of Enterprise Software with a focus on
smaller organizations or groups within a large organization.
(Examples include Travel Expense Management, and IT Helpdesk)
* Enterprise infrastructure software provides
common capabilities needed to support Enterprise Software systems.
(Examples include Databases, Email servers, and Network and
Security Management)
* Information worker software addresses the
needs of individuals to create and manage information, often for
individual projects within a department, in contrast to enterprise
management. Examples include time management, resource management,
documentation tools, analytical, and collaborative. Word
processors, spreadsheets, email and blog clients, personal
information system, and individual media editors may aid in
multiple information worker tasks.
* Content access software is software used
primarily to access content without editing, but may include
software that allows for content editing. Such software addresses
the needs of individuals and groups to consume digital
entertainment and published digital content. (Examples include
Media Players, Web Browsers, Help browsers, and Games)
* Educational software is related to content
access software, but has distinct requirements for delivering
evaluations (tests) and tracking progress through material. It is
also related to collaboration software in that many Educational
Software systems include collaborative capabilities.
* Simulation software are computer software for
simulation of physical or abstract systems for either research,
training or entertainment purposes.
* Media development software addresses the needs
of individuals who generate print and electronic media for others
to consume, most often in a commercial or educational setting. This
includes Graphic Art software, Desktop Publishing software,
Multimedia Development software, HTML editors, Digital Animation
editors, Digital Audio and Video composition, and many others.
* Product engineering software is used in
developing hardware and software products. This includes computer
aided design (CAD), computer aided engineering (CAE), computer
language editing and compiling tools, Integrated Development
Environments, and Application Programmer Interfaces.
Wikipedia