Modern Systems Analysis and Design: The Origins of Software
Modern Systems Analysis and Design: The Origins of Software
Sixth Edition
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.
Turning over responsibility of some or all of an organization's information systems applications and operations to an outside firm
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
many market segments. Provide software ranging from broadbased packages (i.e. general ledger) to niche packages (i.e. day care management).
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.
Prepackaged 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.
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
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.
Cost: comparing the cost of developing the same system inhouse with the cost of purchasing or licensing the software package
Functionality: the tasks that the software can perform and the mandatory, essential, and desired system features
Vendor support: whether or how much support the vendor can provide and at what cost
Viability of vendor: can the software adapt to changes in systems software and hardware
6.
Flexibility: how easy it is to customize the software Documentation: is the users manual and technical documentation understandable and up-to-date
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
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.
called a Request For Quote (RFQ) Use a variety of information sources Based on vendor bids, analyst selects best candidates.
Reuse
The use of previously written software resources, especially objects and components, in new applications Commonly applied to two different development technologies:
Object-oriented
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).
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.
Summary
outsourcing. Describe six different sources of software. Discuss how to evaluate off-the-shelf software. Explain reuse and its role in software development.