Modern Systems Analysis and Design
Sixth Edition
Jeffrey A. Hoffer Joey F. George Joseph S. Valacich
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.
Introduction
There are various sources of software for organizations. There are criteria to evaluate software from different sources.
Systems Acquisition: Outsourcing
Outsourcing:
Turning over responsibility of some or all of an organization's information systems applications and operations to an outside firm
Systems Acquisition: Outsourcing (Cont.)
Outsourcing
A
Examples
company that runs payroll applications for clients A company that runs your applications at your site
Outsourcing (Cont.)
Reasons
Take
to outsource
Cost-effective
advantage of economies of scale Free up internal resources Reduce time to market Increase process efficiencies System development is a non-core activity for the organization
Sources of Software
Information technology services firm Packaged software producers Enterprise-wide solutions Application service providers (ASPs) Open source software In-house developers
Sources of Software (Cont.)
FIGURE 2-1 Sources of Application Software
Information Technology (IT) Services Firms
Help companies develop custom information systems for internal use. Develop, host, and run applications for customers. Provide other services.
Packaged Software Producers
Serve
many market segments. Provide software ranging from broadbased packages (i.e. general ledger) to niche packages (i.e. day care management).
Packaged Software Producers (Cont.)
Software runs on all size computers, from microcomputers to large mainframes. Prepackaged software is off-the-shelf, turnkey software (i.e. not customizable). Off-the-shelf software at best meets 70 percent of organizations needs.
Packaged Software Producers (Cont.)
Prepackaged Software
Figure 2-2 Microsoft Project
Enterprise Solutions Software
Enterprise Resource Planning (ERP) systems 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.
Enterprise Solutions Software (Cont.)
Figure 2-3 SAPs Business ByDesign, a product designed for medium sized companies. (Source: www.sap.com/usa/solutions/Sme/Businessbydesign/Flash/bsm/A1S.html)
Cloud Computing
The
provision of computing resources, including applications, over the Internet, so customers do not have to invest in the computing infrastructure needed to run and maintain the resources
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
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 organizations own staff. Hybrid solutions involving some purchased and some in-house components are common.
Sources of Software Components
Selecting Off-the-Shelf Software
1.
Cost: comparing the cost of developing the same system inhouse with the cost of purchasing or licensing the software package
Selecting Off-the-Shelf Software
2.
Functionality: the tasks that the software can perform and the mandatory, essential, and desired system features
Selecting Off-the-Shelf Software
3.
Vendor support: whether or how much support the vendor can provide and at what cost
Selecting Off-the-Shelf Software
4.
Viability of vendor: can the software adapt to changes in systems software and hardware
Selecting Off-the-Shelf Software
5.
6.
Flexibility: how easy it is to customize the software Documentation: is the users manual and technical documentation understandable and up-to-date
Selecting Off-the-Shelf Software
7.
8.
Response time: how long it takes the software package to respond to the users requests in an interactive session Ease of installation: a measure of the difficulty of loading the software and making it operational
Validating Purchased Software Information
Use a variety of information sources:
Collect
information from vendor Software documentation Technical marketing literature
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.
Request For Proposal (RFP) (Cont.)
Sometimes
called a Request For Quote (RFQ) Use a variety of information sources Based on vendor bids, analyst selects best candidates.
Information Sources For RFP
Vendors proposal Running software through a series of tests Feedback from other users of the vendors product Independent software testing services Articles in trade publications
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
Reuse (Cont.)
Object-oriented development
Object
class encapsulates data and behavior of common organizational entities (e.g. employees) can be as small as objects or as large as pieces of software that handle single business functions.
Component-based development
Components
Reuse (Cont.)
Object-oriented
development reuse is the use of object classes in more than one application (e.g. Employee).
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).
Costs and Benefits of Reuse
FIGURE 2-5
Investments necessary to achieve reusable components (Source: Royce, 1998, used by permission.)
Approaches to Reuse
Ad-hoc: individuals are free to find or develop reusable assets on their own. Facilitated: developers are encouraged to practice reuse.
Approaches to Reuse (Cont.)
Managed: the development, sharing, and adoption of reusable assets is mandated. Designed: assets mandated for reuse as they are being designed for specific applications.
Approaches to Reuse (Cont.)
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.