0% found this document useful (0 votes)
35 views22 pages

Understanding Application Software

Application software, also known as apps, are programs designed to help users perform tasks like word processing, spreadsheet creation, web browsing, and more. Examples include Microsoft Word, Excel, web browsers, and photo editors. Apps can be bundled with the operating system, sold separately, and can be proprietary, open-source, or developed by universities. Mobile apps refer specifically to applications built for phones and tablets.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views22 pages

Understanding Application Software

Application software, also known as apps, are programs designed to help users perform tasks like word processing, spreadsheet creation, web browsing, and more. Examples include Microsoft Word, Excel, web browsers, and photo editors. Apps can be bundled with the operating system, sold separately, and can be proprietary, open-source, or developed by universities. Mobile apps refer specifically to applications built for phones and tablets.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Application software (app for short) is software designed to perform a

group of coordinated functions, tasks, or activities for the benefit of


the user. Examples of an application include a word processor,
a spreadsheet, an accounting application, a web browser, an email client,
a media player, a file viewer, an aeronautical flight simulator, aconsole
game or a photo editor. The collective noun application software refers
to all applications collectively.[1] This contrasts with system software,
which is mainly involved with running the computer.
Applications may be bundled with the computer and its system software
or published separately, and may be coded as proprietary, open-
source or university projects.[2]Apps built for mobile platforms are
called mobile apps.

Contents

 1Terminology
o 1.1Metonymy
o 1.2Apps and killer apps
 2Classification
o 2.1By property and use rights
o 2.2By coding language
o 2.3By purpose and output
o 2.4Information worker software
o 2.5Entertainment software
o 2.6Educational software
o 2.7Enterprise infrastructure software
o 2.8Simulation software
o 2.9Media development software
o 2.10Product engineering software
o 2.11Software engineering
 3See also
 4References
 5External links
Terminology[edit]
In information technology, an application (app), application
program or software application is a computer programdesigned to
help people perform an activity. An application thus differs from
an operating system (which runs a computer), autility (which performs
maintenance or general-purpose chores), and a programming tool (with
which computer programs are created)[original research?]. Depending on the
activity for which it was designed, an application can manipulate text,
numbers, audio, graphics and a combination of these elements. Some
application packages focus on a single task, such as word processing;
others, called integrated software include several applications.[3]
User-written software tailors systems to meet the user's specific needs.
User-written software includes spreadsheet templates, word processor
macros, scientific simulations, audio, 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.

The delineation between system software such as operating systems and


application software is not exact, however, and is occasionally the object
of controversy.[4] For example, one of the key questions in the United
States v. Microsoft Corp. antitrusttrial 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 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. The above definitions may
exclude some applications that may exist on some computers in large
organizations. For an alternative definition of an app: see Application
Portfolio Management. Chapter 5

Information Systems Software

5.1 Software Overview

Computer hardware is virtually useless without computer software.


Software is the programs that are needed to accomplish the input,
processing, output, storage, and control activities of information
systems.

Computer software is typically classified into two major types of


programs: system software and application software.

System Software

Systems software are programs that manage the resources of the


computer system and simplify applications programming. They include
software such as the operating system, database management systems,
networking software, translators, and software utilities.

Application Software

Application software are programs that direct the performance of a


particular use, or application, of computers to meet the information
processing needs of end users. They include Aoff-the-shelf@ software
such as word processing and spreadsheet packages, as well as internally
or externally developed software that is designed to meet the specific
needs of an organization.

Software trends have been away from custom-designed one-of-kind


programs developed by the professional programmers or end users of an
organization toward the use of Aoff-the-shelf@ software packages
acquired by end users from software vendors.
Two types of packages are available:

1. Vertical packages - assist users within a specific industry segment.


Examples include packages that help to manage construction projects,
keep track of inventory of hospitals, or fast-food outlets.

2. Horizontal packages - can perform a certain general function, such as


accounting, or office automation, for a range of businesses.

Relationships between Hardware and Software Components [Figure


5.1][Slide 5-3]

Figure 5.1 is an excellent tool to use to explain the relationship that


exists between computer systems hardware, systems software, and
application software. ThisAonion-skin@ model indicates that the outer
layers rely on the facilities furnished by the inner ones.

5.2 Operating Systems

The most important system software package for any computer is its
operating system. Every computer system runs under the control of an
operating system. Operating systems for computers that are shared by
many users are considerably more complex than operating systems for
personal computers.

What Does an Operating System Do?

The operating system is the software that controls all the resources of a
computer system. For example it:

1. Assigns the needed hardware to programs

2. Schedules programs for execution on the processor

3. Allocates the memory required for each program

4. Assigns the necessary input and output devices


5. Manages the data and program files stored in secondary storage

6. Maintains file directories and provides access to the data in the files

7. Interacts with the users

Multiprogramming is the capacity of a computer to executing several


programs concurrently on the same processor by having one of the
programs using the processor while others are performing input or
output.

Multiprogramming requires that the active parts of the programs


competing for the processor be available in main memory. Virtual
memory is the seemingly expanded capacity of the main memory of the
computer, and achieved by keeping in the main memory only the
immediately needed parts of programs, with the complete programs kept
in secondary storage.

Modes of Computer System Operation

Operating systems enable the system they manage to operate in various


modes. These include batch processing, time sharing, and real-time
processing.

Batch processing Processing programs or transactions in batches,


without a user's interaction.

Time Sharing Systems providing interactive processing by allocating a


short time slice for the use of the server to each user in turn.

Real-time Processing Systems that respond to an event within a fixed


time interval; used for example, in manufacturing plants or to collect
data from several pieces of equipment in a laboratory.
With the move toward multiprocessors, in which several (or even many)
processors are configured in a single computer system, multiprocessing
operating systems have been designed to allocate the work to the
multiple processors. These systems also support multiprogramming,
which allows many programs to compete for the processors.

Operating Systems for Personal Computers

The operating systems of personal computers which are dedicated to a


single user are vastly simpler than the operating systems running larger
machines, to which hundreds or thousands of users may have
simultaneous access. One important capability an operating system can
offer in a personal computing environment ismultitasking: the ability to
run several tasks at once on behalf of a user.

The most popular microcomputer operating systems are:

Windows 95 - Windows 95 is an advanced operating system

- graphical user interface

- true multitasking

- network capabilities

- multimedia

DOS - is an older operating system which was used on microcomputers

- is a single user, single-tasking operating system

- can add a GUI interface and multitasking capabilities by using an


operating environment such as Microsoft Windows

OS/2 Warp - graphical user interface

- multitasking
- virtual memory capabilities

- telecommunications capabilities

Windows NT - multitasking network operating system

- multiuser network operating system

- installed on network servers to manage local area networks with high-


performance computing requirements

UNIX - popular operating system that is available for micros, minis,


and mainframe computer systems

- multitasking and multiuser system

- installs on network servers

MacIntosh System 7 - multitasking

- virtual memory capabilities

- graphical user interface

User Interface

A user interface is a combination of means by which a user interacts


with the computer system. It allows the end user to communicate with
the operating system so they can load programs, access files, and
accomplish other tasks. The three main types of user interfaces are:

1. Command drive

2. Menu drive

3. Graphical User Interface (GUI)


The most popular graphical user interface is that provided by Windows
95. The Windows environment has become a standard platform for
computers.

The Goal of Open Systems

A drive is to use open systems in organizational computing, so that the


software and hardware of any vendor can operate with those of any
other, calls for an operating system that would run on any hardware
platform. The term Aopen system@ is used as the opposite of
proprietary systems of a specific manufacturer.

In open systems, organizations want portability, scalability, and


interoperability of applications software.

Portable application: can be moved from one computer system to


another.

Scalable application: is one that can be moved without significant


reprogramming.

Interoperability: means that machines of various vendors and


capabilities can work together to produce needed information.

5.3 Personal Productivity Software

Personal productivity software is the most common applications


software. Run on personal computers, these programs assist the user in a
certain range of tasks. Taken together with professional support systems
and systems supporting groupwork, personal productivity software is a
potent enabler of today's knowledge work.

Functions of Personal Productivity Software [Figure 5.3][Slide 5-4]

Personal productivity software enhances its user's performance on a


specific range of common tasks. This software supports database
management and analysis, authoring and presentation, and activity and
notes tracking. All these are software applications. Data management is
supported by database management systems, while spreadsheet software
assists in data analysis. For the needs of authoring and presentation,
users employ the applications software for word processing, desktop
publishing, presentation, and multimedia authoring. Personal
information management software is used to track activities and personal
notes. Communications software enables the user to connect to a
telecommunications network in order to exchange information with
other users or systems. Web browsers are used to access the resources of
the Internet's World Wide Web.

Spreadsheets

Electronic spreadsheet packages are programs that are used for analysis,
planning, and modelling. They provide electronic replacement for more
traditional tools such as paper worksheets, pencils, and calculators. In a
worksheet of rows and columns are stored in the computer's memory
and displayed on the video screen. Data and formulas are entered into
the worksheet and the computer performs the calculations based on the
formulas entered. A spreadsheet package can also be used as a decision
support tool to perform what-if analysis.

Database Management

Database management packages facilitate the storage, maintenance, and


utilization of data in a database that is shared by many users.
Microcomputer DBMs enables the users to:

1. Create and maintain a database

2. Query a database with a query language

3. Prepare formatted reports

In addition, packages offer security features, network connectivity, and


the ability to present graphical output, as well as to perform spreadsheet-
type computations.
Word Processing

Word processing packages are programs that computerize the creation,


edition, and printing of documents by electronically processing text data.
Word processing is an important application of office automation. Word
processing is the most popular authoring and presentation activity. In
fact, it is the most common personal computing application.

Desktop Publishing

Organizations use desktop publishing software to produce their own


printed materials like newsletters, brochures, manuals, and books with
several type styles, graphics, and colors on each page. The components
required to set up a modest desktop publishing system include: a high-
resolution display, a laser printer, desktop publishing software, and
perhaps a scanner.

Presentation Software

The goal of presentation graphics is to provide information in a


graphical form that helps end users and mangers understand business
proposals and performance and make better decisions about them. It is
important to note that presentation graphics does not replace reports and
displays of numbers and text material.

Multimedia Authoring Software

Multimedia authoring software enables its users to design multimedia


presentations. Using these packages, you can develop attractive
computer-based training (CBT) courseware or customer presentations.
This software has superior graphic imagery, computer animation, and
motion video which may be combined with high-fidelity sound in
combination with the text.

Hypermedia are electronic documents that contain multiple forms of


media, including text, graphics, video, voice messages, or other units of
information such as worksheets. In the hypermedia method of
information delivery, linkages may be established among various items
in a large multimedia document. These linkages enable the user to move
from one topic directly to a related one, instead of scanning the
information sequentially. Hypertext is a methodology for the
construction and interactive use of text databases. By definition,
hypertext contains only text and a limited amount of graphics.

Personal Information Management

Personal Information management (PIM) packages are tools that help


knowledge workers track tasks, people, projects, commitments, and
ideas. These packages help end users store, organize, and retrieve text
and numerical data in the form of notes, lists, clippings, tables, memos,
letters, reports, and so on.

Communications Software and Web Browser

Communications software enables the user to connect to a


telecommunications network in order to exchange information with
other users or systems. The software provides the following capabilities:

1. Sending and receiving electronic mail

2. File transfer. You can download a program or a data file from a


remote computer to your own workstation or upload a file to the remote
computer.

3. Terminal emulation - enabling the personal computer to act as a


terminal when required in a particular application.

4. Sending and receiving a fax

More and more frequently, the reason for connecting to a


telecommunications network is to gain access to the resources of the
Internet. Web browsers are rapidly becoming one of the most popular
categories of software packages. Abrowser is a program that enables its
user to access electronic documents in included in the Internet's World
Wide Web, a collection of interlinked hypermedia databases distributed
among remote sites.

5.4 Programming Languages and their Translators [Figure 5.8][Slide


5-5]

Much of the applications software used in an organization needs to be


programmed or customized. Programming languages are the languages
which computer programs are written int. A programming language
allows a programmer or end user to develop the sets of instructions that
constitute a computer program. These languages have evolved over four
generations and can be grouped into five major categories:

1. Machine languages

2. Assembler languages

3. High-level languages

4. Fourth generation languages

5. Object-oriented languages

Machine Languages:

Machine languages are the most basic level of programming languages.


They were the first generation of machine languages.

Disadvantages of machine languages:

1. Programs had to be written using binary codes unique to each


computer.

2. Programmers had to have a detailed knowledge of the internal


operations of the specific type of CPU they were using.

3. Programming was difficult and error-prone


4. Programs are not portable to other computers.

Assembler Languages:

Assembler languages are the second generation of machine languages.


They were developed to reduce the difficulties in writing machine
language programs. Assembly language is also a low-level language
(refers to machine resources, such as registers and memory addresses), it
is also specific to a computer model or a series of models.

An assembly language program is translated into a machine language by


a simple translator called an assembler. Assembly languages are used
today only when tight control over computer hardware resources is
required, such as in certain systems programs, particularly those for real-
time computing.

Advantages:

1. Uses symbolic coded instructions which are easier to remember

2. Programming is simplified as a programmer does not need to know


the exact storage location of data and instructions.

3. Efficient use of computer resources is outweighted by the high costs


of very tedious systems development and by lock of program portability.

Disadvantage:

1. Assembler languages are unique to specific types of computers.

2. Programs are not portable to other computers.

High-Level Languages (procedural)

High-level languages are the third generation programming languages.


These languages provide statements, each of which is translated into
several machine-language instructions. High-level languages include
COBOL (business application programs), BASIC (microcomputer end
users), FORTRAN (scientific and engineering applications), and more
popular today are C, C++, and Visual Basic.

Advantages:

1. Easier to learn and understand than an assembler language as


instructions (statements) that resemble human language or the standard
notation of mathematics.

2. Have less-rigid rules, forms, and syntaxes, so the potential for error is
reduced.

3. Are machine-independent programs therefore programs written in a


high-level language do not have to be reprogrammed when a new
computer is installed.

4. Programmers do not have to learn a new language for each computer


they program.

Disadvantages:

1. Less efficient than assembler language programs and require a greater


amount of computer time for translation into machine instructions.

Beyond High-Level Programming Languages

The fourth-generation languages (4GLs) specify what needs to be done


rather than detailing steps to doing it. 4GLs include a variety of
programming languages that are more nonprocedural and conversational
than prior languages.

Advantages:
1. Simplified the programming process.

2. Use nonprocedural languages that encourage users and programmers


to specify the results they want, while the computers determines the
sequence of instructions that will accomplish those results.

3. Use natural languages that impose no rigid grammatical rules

Disadvantages:

1. Less flexible that other languages

2. Less efficient (in terms of processing speeds and amount of storage


capacity needed).

A number of languages could lay claim to belonging to the fifth


generation. The following types of programming languages are likely to
influence the development of such a new paradigm:

1. Object-oriented programming (OOP) languages tie data elements and


the procedures or actions that will be performed on them, together into
objects. Examples include Smalltalk, C++, Visual Basic, Java, Turbo
C++, C++, Object C+

2. Languages that facilitate parallel processing in systems with a large


number of processors.

3. Functional languages (such as LISP), based on the mathematical


concept of computation as an application of functions.

4. Limited subsets of natural languages which can be processed thanks


to the progress in artificial intelligence.

Advantages:

1. OOP languages are easier to use and more efficient for programming
the graphics-oriented user interface required by many applications.
2. Programmed objects are reusable.

Translators: Compilers and Interpreters

A variety of software packages are available to help programmers


develop computer programs. For example, programming language
translators are programs that translate other programs into machine
language instruction codes that computers can execute. Other software
packages called programming tools help programmers write programs
by providing program creation and editing [Link] translator
programs (language processors) are programs that translate other
programs into machine language instruction codes the computer can
execute. These programs allow you to write your own programs by
providing program creation and editing facilities.

Programming language translator programs are known by a variety of


names.

Assembler: translates the symbolic instruction codes of programs


written in an assembler language into machine language instructions.

Compiler: translates (compiles) high-level language statements (source


programs) to machine language programs.

Interpreter: translates and executes each program statement one at a


time, instead of first producing a complete machine language program,
like compilers and assemblers do.

5.5 Fourth-Generation Languages: (4GL's)

4GL's include a variety of programming languages that are more


nonprocedural and conversational than prior languages. The use of
fourth-generation languages permits a severalfold increase in
productivity in information systems development.

Categories of Fourth-Generation Languages and their Role in End-


User Computing
The distinguishing feature of 4GLs is that they specify what is to
be done rather than how to do it. Characteristics of 4GL's include:

1. The languages are nonprocedural

2. They do not specify the complete procedure for accomplishing the


task (this is filled in by the software translator for the 4GL).

3. About one-tenth of the number of instructions are required in 4GL as


compared to procedural languages. [Figure 5.12]

4. Principal categories of 4GLs are query languages, report generators,


and application generators - Figure 5.13 [Slide 5-6]

5. Query languages and report generators make it unnecessary to


develop certain applications by providing direct access to a database.
Application generators make it relatively easy to specify in
nonprocedural terms a system for such access.

6. 4GLs also have software generators for producing decision support


and executive information systems.

Three categories of 4GLs are:

1. Query language

2. Report generators

3. Application generators

Query Languages

Query languages enable end users to access databases directly.


Characteristics of query language include:

1. Used online for ad-hoc queries, that is, queries that are not predefined
2. Result of the query is generally not formatted since it is displayed in a
default format selected by the system itself.

3. Interaction is usually simple, only very simple computations are


involved.

4. Most query languages also make it possible to update databases. With


many query languages, it is possible to request a graphical output to a
query.

Six primary styles for querying a database:

1. Form fill-in

2. Menu selection

3. Command-type query language, such as SQL

4. Query by example (QBE)

5. Direct manipulation

6. Restricted natural language

Query languages are appropriate for:

1. Automatic teller machines

2. Electronic kiosks

Report Generators

A report generator enables an end user or an information systems


professional to produce a report without detailing all the necessary steps,
such as formatting the document.

Characteristics of report generators include:


1. Offer users greater control over the content and appearance of the
output than a query language.

2. Specified data may be retrieved from the specified files or databases,


grouped, ordered, and summarized in a specified way, and formatted for
printing as desired.

Application Generators

An application generator makes it possible to specify an entire


application, consisting of several programs, without much detailed
coding. Characteristics of application generators include:

1. Most generators produce (generate) code in a procedural language.


This code may then be modified to meet the precise needs of the
application.

2. Generators targeted toward end users are simple to use. They are
targeted to a limited application domain. They produce the code mostly
from a specification of the structure of files and databases and from the
given layouts of screens and reports. The requisite processing is
specified in terms natural to the end users.

3. A screen-painting facility makes it possible to specify the graphical


user interface for the system under development.

4. Powerful application generators require the expertise of information


systems professionals, and are general-purpose tools. They often may
run on mainframes and minicomputers.

5. Application generators are increasingly integrated into computer-


aided software engineering (CASE) environments.

Advantages:
1. Simplified the programming process.

2. Use nonprocedural languages that encourage users and programmers


to specify the results they want, while the computers determines the
sequence of instructions that will accomplish those results.

3. Use natural languages that impose no rigid grammatical rules

Disadvantages:

1. Less flexible that other languages

2. Programs written in 4GLs are generally far less efficient during


program execution that programs in high-level languages. Therefore,
their use is limited to projects that do not call for such efficiency.

5.6 Object-Oriented Languages

The idea of object-oriented programming (OOP) is to build programs of


software objects, in order to tie data elements and the procedures or
actions that will be performed on them, together into objects. Examples
include Smalltalk, C++, Turbo C++, Object C+, Java.

Characteristics of OOP include:

1. OOP, objects combine (encapsulate) the data with the operations that
act on the data.

2. OOP support class definition and inheritance, creating objects as


instances of classes, sending messages to the methods in these objects
during program execution, and other features of OOP.

3. OOP simplifies design of multimedia systems and of graphical user


interfaces.
Three fundamental concepts of object-oriented programming are:

1. Objects

2. Classes

3. Inheritance

Objects: are the basic components of which programs are built. In


software, a program component that models a real-world object by
encapsulating data and instructions that work with these data.

Class: is a template from which objects are created. Classes can be


defined in a hierarchy.

Inheritance: in object-oriented programming, classes lower in the


hierarchy inheriting properties (attributes and methods) of the classes
higher in it.

Advantages:

1. OOP languages are easier to use and more efficient for programming
the graphics-oriented user interface required by many applications.

2. Saves much programming, since inheriting properties means


programmed objects are reusable.

Metonymy[edit]
The word "application", once used as an adjective, is not restricted to the
"of or pertaining to application software" meaning.[5]For example,
concepts such as application programming interface (API), application
server, application virtualization, application lifecycle
management and portable application apply to all computer programs
alike, not just application software.
Apps and killer apps[edit]
Main article: Killer application
Some applications are available in versions for several different
platforms; others only work on one and are thus called, for example,
a Geography application for Microsoft Windows, or
an Android application for education, or a Linux game. Sometimes a new
and popular application arises which only runs on one platform,
increasing the desirability of that platform. This is called a killer
application or killer app. For example, VisiCalc was the first
modern spreadsheet software for the Apple II and helped selling the
then-new personal computers into offices. For Blackberry it was
their email software.
In recent years, the shortened term "app" (coined in 1981 or earlier[6])
has become popular to refer to applications for mobile devices such
as smartphones and tablets, the shortened form matching their typically
smaller scope compared to applications on PCs. Even more recently, the
shortened version is used for desktop application software as well.
Classification

You might also like