CH02 (2)
CH02 (2)
and Design
Chapter 2
The Origins of Software
Learning Objectives
Explain outsourcing.
Describe six different sources of
software.
Discuss how to evaluate off-the-shelf
software.
Explain reuse and its role in software
development.
Chapter 2 2
Introduction
There are various sources of software for
organizations.
There are criteria to evaluate software
from different sources.
The impact of reuse on software
development.
Chapter 2 3
Systems Acquisition: Outsourcing
Outsourcing: Turning over
responsibility of some or all of an
organization's information systems
applications and operations to an
outside firm.
Chapter 2 4
Systems Acquisition: Outsourcing
(Cont.)
Outsourcing Examples
A company that runs payroll applications
for clients.
A company that runs your applications
at your site.
Chapter 2 5
Outsourcing (Cont.)
Reasons to outsource
Cost-effective.
Take advantage of economies of
scale.
Free up internal resources.
Chapter 2 6
Outsourcing (Cont.)
Reduce time to market.
Increase process efficiencies.
System development is a non-core
activity for the organization.
Chapter 2 7
Sources of Software
Information technology services
firm.
Packaged software producers.
Enterprise-wide solutions.
Chapter 2 8
Sources of Software (Cont.)
Application service providers
(ASPs)
Open source software.
In-house developers.
Chapter 2 9
Sources of Software (Cont.)
Chapter 2 10
Information Technology (IT)
Services Firms
Help companies develop custom
information systems for internal use.
Develop, host, and run applications for
customers.
Provide other services.
Chapter 2 11
Packaged Software Producers
Serve many market segments.
Software ranges from broad-based
packages (i.e. general ledger) to
niche packages (i.e. day care
management).
Chapter 2 12
Packaged Software Producers
Software runs on microcomputers to
large mainframes.
Prepackaged software is off-the-shelf
software.
Chapter 2 13
Packaged Software Producers
(Cont.)
Prepackaged software is turnkey
software (i.e. not customizable).
Off-the-shelf software at best meets
70 percent of organization’s needs.
Chapter 2 14
Packaged Software Producers
(Cont.)
Chapter 2 15
Prepackaged Software
Chapter 2 16
Enterprise Solutions Software
Enterprise Resource Planning (ERP) systems
that integrate individual traditional business
functions into modules enabling a single
seamless transaction to cut across functional
boundaries.
SAP AG is the leading vendor of ERP systems.
Chapter 2 17
Enterprise Solutions Software
(Cont.)
Chapter 2 18
Application Service Provider (ASP)
An organization that remotely
hosts and runs computer
applications for other companies,
typically on a per-use or license
basis.
Chapter 2 19
Application Service Provider (ASP)
(Cont.)
Application service providers (ASPs)
buy, install, maintain, and upgrade
the applications.
Application service providers (ASPs)
purchase or license applications from
other software vendors.
Chapter 2 20
Managed Service Provider (MSP)
An organization that remotely
provides customized computer
applications and network-based
services for other companies for a
monthly or per-use fee.
Chapter 2 21
Managed Service Provider (MSP)
(Cont.)
MSPs provide the ability to gain
access to large and complex systems
without the expense and time-
consuming implementation.
Chapter 2 22
Open Source Software
Freely available including source code.
Developed by a community of interested
people.
Performs the same functions as
commercial software.
Examples: Linux, mySQL, Firefox.
Chapter 2 23
In-House Development
If sufficient system development expertise with
the chosen platform exists in-house, then some
or all of the system can be developed by the
organization’s own staff.
Hybrid solutions involving some purchased and
some in-house components are common.
Chapter 2 24
In-House Development (Cont.)
Chapter 2 25
Off-the-Shelf Software
Most common criteria for selecting:
Cost: comparing the cost of
developing the same system in-house
with the cost of purchasing or
licensing the software package.
Chapter 2 26
Off-the-Shelf Software
Functionality: the tasks that the
software can perform and the
mandatory, essential, and desired
system features.
Chapter 2 27
Off-the-Shelf Software (Cont.)
Vendor support: whether or how
much support the vendor can
provide and at what cost.
Chapter 2 28
Off-the-Shelf Software (Cont.)
Viability of vendor: can the
software adapt to changes in
systems software and hardware.
Chapter 2 29
Off-the-Shelf Software (Cont.)
Flexibility:
how easy it is to
customize the software.
Documentation: is the user’s manual
and technical documentation
understandable and up-to-date.
Chapter 2 30
Off-the-Shelf Software (Cont.)
Response time: how long it takes the
software package to respond to the
user’s requests in an interactive
session.
Ease of installation: a measure of
the difficulty of loading the software
and making it operational.
Chapter 2 31
Validating Purchased Software
Information
Use a variety of information sources:
Collect information from vendor.
Software documentation.
Technical marketing literature.
Chapter 2 32
Request For Proposal (RFP)
Request for proposal (RFP) is a
document provided to vendors to ask
them to propose hardware and
system software that will meet the
requirements of a new system.
Chapter 2 33
Request For Proposal (RFP)
(Cont.)
Sometimes called a Request For
Quote (RFQ).
Based on vendor bids, analyst selects
best candidates.
Use a variety of information sources.
Chapter 2 34
Information Sources For RFP
Vendor’s proposal
Running software through a series of tests
Feedback from other users of the vendor’s
product
Independent software testing services
Articles in trade publications
Chapter 2 35
Reuse
The use of previously written software
resources, especially objects and
components, in new applications.
Commonly applied to two different
development technologies:
Object-oriented
development
Component-based development
Chapter 2 36
Reuse (Cont.)
Commonly applied to two different
development technologies:
Object-oriented
development
Component-based development
Chapter 2 37
Reuse (Cont.)
Object-oriented development
Object class encapsulates data and behavior
of common organizational entities (e.g.
employees)
Component-based development
Components can be as small as objects or as
large as pieces of software that handle single
business functions.
Chapter 2 38
Reuse (Cont.)
Object-oriented development
reuse is using object classes in
more than one application (e.g.
Employee).
Chapter 2 39
Reuse (Cont.)
Component-based development
reuse is the assembly of an
application from many different
components at many different
levels of complexity and size (e.g.
Currency conversion).
Chapter 2 40
Costs and Benefits of Reuse
Chapter 2 42
Approaches to Reuse (Cont.)
Managed: the development, sharing, and
adoption of reusable assets is mandated.
Designed: mandating assets be designed
for reuse as they are being designed for
specific applications.
Chapter 2 43
Approaches to Reuse (Cont.)
Chapter 2 44
Summary
In this chapter you learned how to:
Explain outsourcing.
Describe six different sources of software.
Discuss how to evaluate off-the-shelf
software.
Explain reuse and its role in software
development.
Chapter 2 45