Chapter 4
Computer Software
McGraw-Hill/Irwin
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
Learning Objectives
Describe several important trends
occurring in computer software.
Give examples of several major types of
application and system software.
Explain the purpose of several popular
software packages for end-user
productivity and collaborative
computing.
4-2
Learning Objectives
Define and describe the functions of an
operating system.
Describe the main uses of computer
programming software, tools, and
languages.
Describe the issues associated with
open-source software.
4-3
Section 1
Application Software: End-user Applications
4-4
I. Introduction to Software
What is Software? – software is
programs – instructions that tell the
computer and associated peripherals
what to do
Types of Software
System Software – programs that run the
computer
Application Software – programs perform a
function/job for you
4-5
I. Introduction to Software
Application Software for End Users
 General Purpose Application Programs –
perform common information processing
jobs for end users
Productivity Package – increases productivity of
user
Application-Specific Software – does a
specific function
4-6
I. Introduction to Software
Custom Software – designed and created
specifically to do a particular job for one
company
Commercial Off-the-Shelf Software (COTS) –
developed to sell many copies (usually for
profit); source code may not be modified by
user
Open Source Software – anyone may
modify the software, the documentation
and source code are available to anyone
4-7
I. Introduction to Software
4-8
II. Business Application Software
Available to support any part of business
Reengineer/Automate Business Processes
Customer Relationship management (CRM)
Enterprise Resource Planning (ERP)
Supply Chain Management (SCM)
4-9
II. Business Application Software
Internal Organizational Activities
Human Resource management (HRM)
Accounting
Finance
Decision Support tools
Data Mining
Enterprise Information Portals
Knowledge Management Systems
4-10
SAP Business Suite 7: Introducing Modular
Scenarios Cutting Across Organizational
Functions
What is Business Suite 7?
What does Business Suite 7 provide?
How does this help the organization?
What is the Need that this product fills?
4-11
III. Software Suites and Integrated
Packages
Software Suites – bundle together a variety of
general-purpose software applications
Advantages:
Lower cost than buying each package individually
All the programs use a common graphical user interface
(GUI)
The programs are designed to work together
Disadvantages:
Many features are never used
Suites take up a lot of disk space
4-12
III. Software Suites and Integrated
Packages
Integrated Packages – combine some but not
all of the functions of several programs; offer
advantages in a smaller package
Less powerful than software suites – leave out
some functions
Take up less disk space than software suites
Cost less than software suites
4-13
IV & V. Web Browsers & E-Mail
Web Browsers – the most widely used
software (even more than email)
Electronic Mail, Instant Messaging, and Blogs
 Email – has changed the way people communicate
 Instant Messaging (IM) – email/computer-conferencing
hybrid
 Blog – short for Weblog or Web Log – a personal or
commercial website on a particular topic or range of topics,
frequently updated
4-14
VI. Word Processing and Desktop
Publishing
Word Processing – creation, revision, editing,
and printing of documents; spell checkers and
grammar checkers, thesaurus
Desktop Publishing – produce printed
documents that look professionally published
4-15
VII & VIII. Spreadsheets and
Presentation Graphics
Spreadsheets – used for analysis, planning,
and modeling; calculations, graphics, what-if
scenarios
Presentation Graphics – convert numeric data
into graphics displays for easy and intuitive
comprehension
4-16
IX & X. Personal Information Managers
(PIM) and Groupware
Personal Information Managers (PIM) – help
end-users store, organize, and retrieve basic
personal and business information
Groupware – helps workgroups and teams
collaborate
4-17
XI. Software Alternatives
 Application Service Providers – provide necessary
applications for a fee (rather than a firm developing or
purchasing the s/w)
 Cloud Computing – a recent advance in computing and
software delivery; software and virtualized hardware
are provided as a service over the Internet; “cloud” is a
metaphor for the Internet
 Software Licensing – a complex topic involving
copyrights, trademarks, and intellectual property
rights; in most cases software is not purchased but
“licensed” for use under very specific circumstances
4-18
McAfee Inc.: Security under a Softwareas-a-Service Model
 What SaaS does McAfee offer?
 What are the advantages of this service?
 How is different from other products on the market?
4-19
Australian Maritime Safety Authority:
Cloud Computing? Nothing New
 What need did AMSA have?
 How did a cloud service provide for this need?
 What were the cost differentials between in-house
development and the SaaS version?
 What were the risks of using the SaaS version?
4-20
Section 2
System Software: Computer System
Management
4-21
I. System Software Overview
System Management Programs –
programs that manage the hardware,
software, network, and data resources
System Development Programs –
programs that help users develop IS
programs and procedures; CASE tools
4-22
I. System Software Overview
4-23
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
User Interface – how the user
communicates with the computer
Graphical User Interface (GUI)
Command-driven
Menu Driven
Resource Management – manages the
hardware and network resources
File Management – controls the creation,
deletion, and access of files of the data and
programs
4-24
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
Task Management – manages which tasks
are performed and when
Multitasking (Multiprogramming or
Timesharing) – programs take turns using the
processor
Preemptive – each program gets a slice of time
Cooperative – programs use the processor when it is
not being used by another program
Virtual Machines- applications run
independently at the same time
4-25
II. Operating Systems – programs that run
the computer operations
Unix – a multitasking, multiuser,
portable (runs on different hardware
platforms) operating system
Linux – low-cost, reliable, powerful,
open-source UNIX-like operating system
Open-Source Software – source code is
available to users, can be modified by
users
4-26
II. Operating Systems – programs that run
the computer operations
OpenOffice.org 3 – an open-source office
suite, may be used entirely free without
any license fees
Mac OS X – the latest OS from Apple for
Macintosh computers
Application Virtualization – software
technologies that allow applications to
run on various platforms
4-27
Toronto’s Hospital for Sick Children:
Challenges in Making Virtualization Work
What is the biggest problem with
virtualization at “Sick Kids”?
What is another problem?
What does this tell you about many
vendors? Why would they do this?
What’s the problem with data
migration? Why is this a continuing
problem?
4-28
III. Other System Management Programs
Utilities – system management programs
marketed separately from an operating
system
Middleware – helps diverse software
work together more efficiently
4-29
IV. Programming Languages
Machine Languages – first generation language
– instructions written in binary (0’s and 1’s);
runs directly on the computer
Assembler Languages – second generation
language – uses symbols/mnemonics to
represent operational codes; converted into
binary by an Assembler
High-Level Languages – third generation
language – BASIC, COBOL, FORTRAN;
converted into binary by Compliers and
Interpreters; users tell the computer What
results they want and How to get there
4-30
IV. Programming Languages
Fourth-Generation Languages (4GL) – nonprocedural languages; users tell the computer
What results they want, but the computer
decides How to get there
Fifth Generation Languages (5GL) – natural
languages, very close to English,
conversational
Object-Oriented Languages (5GL) – combine
the data elements and the programs that act
on them into Objects; Reusability
4-31
Modern (and Automatic?) Code
Generation
Why is automatic code generation
important?
Why would this be important for nonprogrammers?
4-32
V. Web and Internet Languages and Services
HTML (Hypertext Markup Language) – a page
description language (markup languages are
NOT programming languages)
XML (eXtensible Markup Language) –
describes the Content of Web pages by
applying contextual labels to the data
4-33
Aptara Inc.: Revolutionizing the Publishing
Industry through XML
Why are traditional publishing houses
experiencing lower sales?
Why is a shift to digital publishing a
challenge?
What opportunities are to be found?
Why is this good for the user/customer?
What does .xml have to do with this?
4-34
V. Web and Internet Languages and Services
Java and .NET
Java – a platform independent, object-oriented
programming language; very powerful
Applets – small Java programs that can be
executed by any computer running any OS
anywhere on the network
.NET – Microsoft’s collection of programming
support for Web services
Web Services – software that electronically
links applications of different users and
different platforms
4-35
V. Web and Internet Languages and Services
4-36
Airbus: Flying on SAP and Web Services
Why does Airbus like an open
architecture?
Why did Airbus want a Web-services
based travel management system?
What benefits does this system provide?
4-37
VI. Programming Software
Language Translator Programs –
instructions must be translated into
binary to be executed by the computer
Assembler – translates symbolic
instructions written in assembly language
Compiler – translates high level language
statements; translates the entire program
(Source code) into binary (Object code) then
executes the entire binary program
4-38
VI. Programming Software
Interpreter – translates and executes one
line of the program at a time
Programming Tools – help programmers
identify and minimize errors as they
write the code
CASE Tools (Computer-Aided Software
Engineering) – automated software support
tools for developing systems
4-39