Está en la página 1de 50

Kenneth J.

Sousa Effy Oz

Seventh Edition

Chapter 5
Business Software

Cengage Learning 2015

Explain the difference between application
software and system software
Enumerate the different generations of
programming languages and explain how they
Cite the latest major developments in application
and system software
Identify and explain the roles of Web
programming languages
Cengage Learning 2015

Objectives (cont'd.)
Explain the types and uses of Web site design
Clarify the differences between proprietary
software and open source software
List characteristics that are important in
evaluating packaged software applications for
business use
Understand the problem of software piracy and
how it affects businesses and consumers
Cengage Learning 2015

Software: Instructions to the Hardware

Applications: computer programs that
contribute to productivity
Software: a series of instructions to a computer
to execute processes
Two major categories of software:
Application software: enables task completion
System software:
Enables applications to run on a computer
Manages components and devices
Cengage Learning 2015

Programming Languages
and Software Development Tools
Programs are needed for every computer
Programming: process of writing programs
Machine language: the only language that
hardware understands
Consists of long strings of 0s and 1s

Assembly language: easier to program than

machine language using words for commands
High-level programming languages: use Englishlike statements
Cengage Learning 2015

Programming Languages and Software

Development Tools (cont'd.)
Software development kits (SDKs): tools to
develop software with little knowledge of
programming languages
Third-generation languages (3GLs): known as
procedural languages
Programmer must detail logical procedure
Includes languages such as COBOL, FORTRAN,
BASIC, RPG, Pascal, and C
One 3GL statement = five to ten assembly
language statements
Cengage Learning 2015

Programming Languages and Software

Development Tools (cont'd.)
Fourth-generation languages (4GLs): use more
English-like statements

Speed up the development process

Built around database management systems
Include many preprogrammed procedures
One 4GL statement = several 3GL statements
Structured Query Language (SQL) is an example

Debugging: process of locating and fixing

program errors
Cengage Learning 2015

Figure 5.1 The evolution of programming languages

Cengage Learning 2015

Cengage Learning 2015

Figure 5.2 Advantages and disadvantages of using higher-level programming languages

Cengage Learning 2015

Cengage Learning 2015

Visual Programming
Visual programming languages: create
graphical screen objects by selecting icons from
a palette
Common visual programming languages

Microsoft Visual Basic

Embarcadero Delphi
Micro Focus COBOL
Visual C++

Developer can still work at the code level

Cengage Learning 2015


Object-Oriented Programming
Object-oriented programming (OOP)
languages provide a modular approach to
Ease of maintenance
Efficiency in application development

Object: contains data elements (data members)

and the methods to manipulate that data
Data members can only be accessed through the
objects methods
Cengage Learning 2015


Figure 5.3 Advantages of object-oriented programming (OOP) over procedural languages

Cengage Learning 2015

Cengage Learning 2015


Object-Oriented Programming (cont'd.)

Objects are reusable and are combined to
create complex programs
Popular OOP languages include Java, C++/C#,
and Visual Basic
Increasing amount of software developed for the
Web using languages such as Java, JavaScript,
and PHP
Applet: code produced by a Web programming
Runs same way on different operating systems
Cengage Learning 2015


Language Translation:
Compilers and Interpreters
Source code: program as originally written by
the developer
Object code: program in machine language that
can be run by the computer
Types of programming language translators

Cengage Learning 2015


Language Translation:
Compilers and Interpreters (cont'd.)
Compiler: translates entire source code to
object code but does not execute the code
Scans for syntax errors
Generates error messages if syntax errors found

Interpreter: scans one statement at a time

If error-free, interprets and executes the
Goes through the program until an error or end of
program is encountered
Cengage Learning 2015


Figure 5.5 A compiler converts higher-level language code (source code) into machine language (object
code), which the computer can execute
Cengage Learning 2015
Cengage Learning 2015


Application Software
Application software allows nonprogrammers to
develop their own tools
Application-specific software: programs
designed to perform specific jobs
General-purpose application software:
programs that serve multiple purposes
Usually comes as packaged software

Packaged software: software that is ready to

install from external storage media such as CDs
Cengage Learning 2015


Office Productivity Applications

Productivity tools assist normal office work
Include word processors, spreadsheets,
presentation tools, file/database software,
graphics programs, desktop publishing tools, etc.

Word processors create text documents

Spreadsheets store numbers and perform
complex mathematical, statistical, and financial
analysis functions

Cengage Learning 2015


Office Productivity Applications (cont'd.)

Presentation tools develop impressive
presentations quickly
File/database management tools create and
manipulate local or shared databases
Graphics programs create intricate graphical
images and manipulate digital photographs
Desktop publishing tools develop items for
publication, such as pamphlets, newsletters,
cards, calendars, etc.
Cengage Learning 2015


Office Productivity Applications (cont'd.)

Project management tools help plan projects
and track progress
Suite: collection of various applications that
perform multiple interrelated functions
Examples include Microsoft Office, IBM Lotus
SmartSuite, and the free Apache

Cengage Learning 2015


Hypermedia and Multimedia

Hypermedia: a feature that enables users to
access information by clicking text or graphics
Web authoring tools enable hypermedia
Often part of other applications such as word
processors and presentation tools

Cengage Learning 2015


Hypermedia and Multimedia (cont'd.)

Multimedia software handles many different
types of data
Often used in:
Education: lessons presented in multimedia
Research: data compiled and integrated
Training exercises: simulated real-world
Business situations: compound documents filed
and used electronically; and interactive websites
Cengage Learning 2015


Hypermedia and Multimedia (cont'd.)

Mashup: an integrated application containing
some or all features from several applications
Provides enhanced features for the end user

Cengage Learning 2015


Web Site Design Tools

Used to develop and change the content of Web
Popular packages include
Microsoft SharePoint Designer and Expression
Web, Avanquest WebEasy Professional, and
Adobe CS2/Dreamweaver

Newer software enables websites implemented

using a blog environment

Cengage Learning 2015


An application that enables sharing of ideas and
information resources among group members
Supports real-time collaboration via web
Allows for remote collaboration
Eliminates travel times and facilitates expression
and exchange of ideas

Examples: Wiggio and Google Drive

Cengage Learning 2015


3D Geographic Software
Used to develop three-dimensional models of
geographic locations
Models are created from land and aerial
Helps with navigation when tied to global
positioning system software
Can create virtual existing tangible items or
create new ones

Cengage Learning 2015


System Software
System software: deals with essential operations
between the user and computer such as:

Loading, copying, and deleting files

Managing memory resources
Operating peripheral equipment
Encompasses compilers and interpreters

Applications must be compatible with system


Cengage Learning 2015


Operating Systems
Operating system (OS): most important
program on the computer

Recognizes input from keyboard and mouse

Sends output to computer display
Keeps track of files and directories
Runs applications
Manages memory

Usually developed using low-level programming

languages such as assembly languages
Also known as platforms
Cengage Learning 2015


Figure 5.6 The operating system mediates the computer systems resources and application software as
well as controls peripheral and network devices
Cengage Learning 2015
Cengage Learning 2015


Operating Systems (cont'd.)

Application program interfaces (APIs):
software included in the OS that can be used by
application program developers

Cengage Learning 2015


Operating Systems (cont'd.)

OSs position in the computers logical operation
User interacts with user interface using menus,
icons, and application commands
Application converts user input into commands
OS commands the CPU to carry out the
OS allows applications to use the CPU, memory,
input and output devices, and the file system

Utilities perform other OS functions, e.g.,

hardware diagnostics, file comparison, and file
Cengage Learning 2015


Figure 5.7 Computer systems operate on a number of layers, beginning with the user interface and
moving into the computers hardware
Cengage Learning 2015
Cengage Learning 2015


Operating Systems (cont'd.)

OS must manage the system by allocating
hardware resources to applications
OS provides several services, including:
User interface
Memory allocation, including the use of virtual
memory (hard disk used as an extension of
Plug-and-play (PnP): recognize and run a device
as soon as it is physically attached

Cengage Learning 2015


Operating Systems (cont'd.)

Driver: software that enables OS to control a
Additional OS services include:
Database management

Cengage Learning 2015


Operating Systems (cont'd.)

Different computers and types of
microprocessors use different OSs
Popular PC operating systems
Mac OS

OSs for mobile environments used with

smartphones and tablets
OSs noted for stability include UNIX, Mac OS X,
and Linux
Cengage Learning 2015


Figure 5.8 Popular operating systems for various hardware platforms

Cengage Learning 2015

Cengage Learning 2015


Figure 5.8 (contd.) Popular operating systems for various hardware platforms

Cengage Learning 2015

Cengage Learning 2015


Other System Software

Other types of system software include:

Compilers and interpreters

Communications software
Database management systems

Communications software supports transmission

and reception of data across computer networks
Utilities include antivirus programs, firewalls, and
other programs that detect and remove
unwanted files and applications
Cengage Learning 2015


Open Source Software

Proprietary software: sold/licensed for profit
Source code is private and not available
Developer retains all rights to the software; user
purchases a license to use the software

Open source software: free source code

Developed through voluntary collaboration of
Reviewed by many programmers fewer bugs

Examples includes Mozilla Firefox, Drupal,

MySQL, PERL, and suite
Cengage Learning 2015


Open Source Software (cont'd.)

Linux: best known open source OS
Includes free versions and versions that charge
for support and additional features
Disadvantage: limited number of applications that
run on it
Popular because of its stability and versatility
Runs on mainframes, PCs, handhelds, and
electronic devices

Cengage Learning 2015


Software Licensing
Software is usually licensed
Licensed software: provides limited permission
to use the software
Time-limited license requires annual fees

Cengage Learning 2015


Software Licensing
Software licensing models
Permissive model: anyone can use and sell
modified versions of the software
General Public License (GPL): anyone can use
and make modified versions, but cannot sell
modified versions for profit
Proprietary: code is owned by someone who has
the right to sell or license it to us

Cengage Learning 2015


Software as a Service (SaaS)

Provides application software developed and
maintained by a third-party provider
Offered to organizations for a recurring fee

Third-party provider: also referred to as

application service provider (ASP)
Develops and maintains the software on their
Provides maintenance, support, and hardware

Cengage Learning 2015


Considerations for Packaged Software

Factors when purchasing large software
packages are complex, including:

Time to implement
Cost of interrupting operations
Modification costs to customize the software

Cengage Learning 2015


Figure 5.9 Sample software evaluation form

Cengage Learning 2015

Cengage Learning 2015


Figure 5.9 (contd.) Sample software evaluation form

Cengage Learning 2015

Cengage Learning 2015


Software: a collective term for computer
Two categories of software: system or
Programming languages and software
development tools are used to develop software
Increasing amount of software is linked to the
Code written in non-machine language must be
translated by compilers or interpreters
Cengage Learning 2015


Summary (cont'd.)
Some application programs are customdesigned; many are packaged
Office productivity tools such as word
processors and spreadsheets help improve
worker efficiency
Hypermedia and multimedia technology are
useful for training, education, research, and

Cengage Learning 2015


Summary (cont'd.)
Groupware combines hypermedia and
multimedia with web technologies for
Three-dimensional geographic software helps
model maps and locations
Many applications support web services and
access to information on the web
Most important system software is operating
Cengage Learning 2015


Summary (cont'd.)
Open source software is distributed freely via the
Nearly all software is licensed; SaaS is an
alternative to traditional software licensing
Ready-made software purchase decisions
should evaluate many factors, e.g., suitability,
ease of learning, ease of use, vendor reputation,
expected quality of vendor support, etc.
Software piracy is still a significant problem
Cengage Learning 2015