MANAGEMENT INFOIRMATION SYSTEM CHAPTER 5 AND 6
Kenneth J. Sousa Effy Oz
MANAGEMENT
INFORMATION
SYSTEMS Seventh Edition
Chapter 5
Business Software
© Cengage Learning 2015
Objectives
• Explain the difference between application
software and system software
• Enumerate the different generations of
programming languages and explain how they
differ
• Cite the latest major developments in application
and system software
• Identify and explain the roles of Web
programming languages
© Cengage Learning 2015 2
Objectives (cont'd.)
• Explain the types and uses of Web site design
tools
• 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 3
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 4
Programming Languages
and Software Development Tools
• Programs are needed for every computer
operation
• 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 English-
like statements © Cengage Learning 2015 5
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 6
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 7
© Cengage Learning 2015 8
Figure 5.1 The evolution of programming languages © Cengage Learning 2015
© Cengage Learning 2015 9
Figure 5.2 Advantages and disadvantages of using higher-level programming languages © 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
– ASNA Visual RPG
– Visual C++
• Developer can still work at the code level © Cengage Learning 2015 10
Object-Oriented Programming
• Object-oriented programming (OOP)
languages provide a modular approach to
programming
• Advantages:
– 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
object’s methods
© Cengage Learning 2015 11
© Cengage Learning 2015 12
Figure 5.3 Advantages of object-oriented programming (OOP) over procedural languages © 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
language
– Runs same way on different operating systems
© Cengage Learning 2015 13
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
– Compilers
– Interpreters
© Cengage Learning 2015 14
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
statement
– Goes through the program until an error or end of
program is encountered
© Cengage Learning 2015 15
© Cengage Learning 2015 16
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
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 17
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 18
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 19
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 OpenOffice.org
© Cengage Learning 2015 20
Hypermedia and Multimedia
• Hypermedia: a feature that enables users to
access information by clicking text or graphics
• Web authoring tools enable hypermedia
features
– Often part of other applications such as word
processors and presentation tools
© Cengage Learning 2015 21
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 situations
– Business situations: compound documents filed
and used electronically; and interactive websites
© Cengage Learning 2015 22
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 23
Web Site Design Tools
• Used to develop and change the content of Web
pages
• 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 24
Groupware
• An application that enables sharing of ideas and
information resources among group members
– Supports real-time collaboration via web
technologies
– Allows for remote collaboration
– Eliminates travel times and facilitates expression
and exchange of ideas
• Examples: Wiggio and Google Drive
© Cengage Learning 2015 25
3D Geographic Software
• Used to develop three-dimensional models of
geographic locations
• Models are created from land and aerial
photographs
• Helps with navigation when tied to global
positioning system software
• Can create virtual existing tangible items or
create new ones
© Cengage Learning 2015 26
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
software
© Cengage Learning 2015 27
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 28
© Cengage Learning 2015 29
Figure 5.6 The operating system mediates the computer system’s resources and application software as
well as controls peripheral and network devices © 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 30
Operating Systems (cont'd.)
• OS’s position in the computer’s 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 operation
– 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
sorting
© Cengage Learning 2015 31
© Cengage Learning 2015 32
Figure 5.7 Computer systems operate on a number of layers, beginning with the user interface and moving
into the computer’s hardware © 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
RAM)
– Plug-and-play (PnP): recognize and run a device
as soon as it is physically attached
© Cengage Learning 2015 33
Operating Systems (cont'd.)
• Driver: software that enables OS to control a
device
• Additional OS services include:
– Database management
– Networking
– Security
© Cengage Learning 2015 34
Operating Systems (cont'd.)
• Different computers and types of
microprocessors use different OSs
• Popular PC operating systems
– Windows
– Linux
– 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 35
© Cengage Learning 2015 36
Figure 5.8 Popular operating systems for various hardware platforms © Cengage Learning 2015
© Cengage Learning 2015 37
Figure 5.8 (cont’d.) Popular operating systems for various hardware platforms © Cengage Learning 2015
Other System Software
• Other types of system software include:
– Compilers and interpreters
– Communications software
– Utilities
– 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 38
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
programmers
– Reviewed by many programmers → fewer bugs
• Examples includes Mozilla Firefox, Drupal,
MySQL, PERL, and OpenOffice.org suite
© Cengage Learning 2015 39
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 40
Software Licensing
• Software is usually licensed
• Licensed software: provides limited permission
to use the software
– Time-limited license requires annual fees
© Cengage Learning 2015 41
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 42
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
hardware
– Provides maintenance, support, and hardware
operations
© Cengage Learning 2015 43
Considerations for Packaged Software
• Factors when purchasing large software
packages are complex, including:
– Cost
– Time to implement
– Cost of interrupting operations
– Modification costs to customize the software
© Cengage Learning 2015 44
© Cengage Learning 2015 45
Figure 5.9 Sample software evaluation form © Cengage Learning 2015
© Cengage Learning 2015 46
Figure 5.9 (cont’d.) Sample software evaluation form © Cengage Learning 2015
Summary
• Software: a collective term for computer
programs
• Two categories of software: system or
application
• Programming languages and software
development tools are used to develop software
• Increasing amount of software is linked to the
Internet
• Code written in non-machine language must be
translated by compilers or interpreters
© Cengage Learning 2015 47
Summary (cont'd.)
• Some application programs are custom-
designed; 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
business
© Cengage Learning 2015 48
Summary (cont'd.)
• Groupware combines hypermedia and
multimedia with web technologies for
collaboration
• 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
systems
© Cengage Learning 2015 49
Summary (cont'd.)
• Open source software is distributed freely via the
web
• 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 50