Chapter 5

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 53

Chapter Objectives

• Describe software trends, including the


concept of software as a service
• Explain software acquisition alternatives,
including traditional versus Web-based
software development strategies
• Describe software outsourcing options,
including the role of service providers
• Explain advantages and disadvantages of
developing software in-house versus other
alternatives
Chapter Objectives
• Explain cost-benefit analysis and
financial analysis tools
• Explain the differences between a
request for proposal (RFP) and a request
for quotation (RFQ)
• Describe the contents of the system
requirements document
Chapter Objectives
• Explain the transition from systems
analysis to systems design, and the
difference between logical and physical
design
• Explain the transition to systems design
and the importance of prototyping
• Discuss guidelines for system design, and
explain the importance of codes
Introduction
• Chapter 5 describes the remaining
activities in the systems analysis phase
• The chapter also describes the transition
to systems design, prototyping, design
guidelines, and using codes to represent
values and simplify data entry
Development Strategies
Overview
• Selecting the best development path is an
important decision that requires
companies to consider three key issues
– In-house software development alternatives
– Software outsourcing options
– Web-based software trends
Web-Based Software Trends
• Software as a Service
– The
Software and Information Industry Association
(SIIA)
is an industry group that focuses on the digital
economy
– SIIA believes that the concept of software as
a service is redefining the way that companies
develop and deploy their information systems
Figure 5-2 Figure 5-3
Web-Based Software Trends
• The Changing Software Marketplace
– In the traditional model, software vendors
develop and sell application packages to
customers
– In addition to traditional vendors, the
marketplace now includes many forms of
outsourcing, including application service
providers and firms that offer Internet
business services
Web-Based Software Trends
• The Impact of the Internet on Systems
Development
– Developers will focus on Web-based
application development, which builds the
Web into the application, rather than the other
way around
• IBM’s WebSphere
• Microsoft’s .NET
• Sun Microsystem’s J2EE
Web-Based Software Trends
• The Impact of the Internet on Systems
Development
– Traditional development
• System design is influenced by compatibility
issues
• Systems are designed to run on local and wide-
area company networks
• Web-based features are treated as
enhancements rather than core elements of the
design
Web-Based Software Trends
• The Impact of the Internet on Systems
Development
– Web-based development
• Systems are developed and delivered in an
Internet-based framework such as .NET or
WebSphere
• Internet-based development treats the Web as
the platform, rather than just a communication
channel
• Web-based software usually requires additional
layers, called middleware
Software Outsourcing Options
• Outsourcing is the transfer of information
systems development, operation, or
maintenance to an outside firm that
provides these services, for a fee, on a
temporary or long-term basis
• Can refer to relatively minor
programming tasks or the handling of a
company’s entire IT function
Software Outsourcing Options
• The Growth of Outsourcing
– Traditionally, firms outsourced IT tasks as a
way of controlling costs and dealing with rapid
technological change
– Today, outsourcing is a vital business issue
that shapes a company’s overall IT strategy
– the most important factor is the potential
saving in operating costs

Figure 5-5 Figure 5-6


Software Outsourcing Options
• The Growth of Outsourcing
– A firm that offers outsourcing solutions is
called a service provider
– Application service providers (ASP)
• Online software rental
– Internet business services (IBS)
• Also called managed hosting
• Provide Web-based support for business
transactions (order processing, billing, CRM, etc)
Software Outsourcing Options
• Outsourcing Fees
– A fixed fee model uses a set fee based on
a specified level of service and user
support
– A subscription model has a variable fee
based on the number of users or
workstations that have access
– A usage model or transaction model
charges a variable fee based on the
volume of transactions or operations
Software Outsourcing Options
• Outsourcing Issues and Concerns
– Mission-critical IT systems should be out-
sourced only if the result is a cost-attractive,
reliable, business solution that fits the
company’s long-term business strategy
– out-sourcing can also affect day-to-day
company operations and can raise some
concerns
– A major disadvantage of outsourcing is that it
raises employee concerns about job security
In-House Software
Development Options
• A company can choose to develop its own
systems, or purchase, possibly customize,
and implement a software package
• The most important consideration is total
cost of ownership (TCO)
• Companies also develop user applications
designed around commercial software
packages
In-House Software
Development Options
• Make or Buy Decision
– The choice between developing versus
purchasing software often is called a
make or buy, or build or buy decision
– The company’s IT department makes, builds,
and develops in-house software
– A software package is obtained from a vendor
or application service provider.
In-House Software
Development Options
• Make or Buy Decision
– Companies that develop software for sale are
called software vendors
– Value-added reseller (VAR)
– Vertical application
– Horizontal application
In-House Software
Development Options
• Reasons for In-House development
– Satisfy unique business requirements
– Minimize changes in business procedures
and policies
– Meet constraints of existing systems
– Meet constraints of existing technology
– Develop internal resources and capabilities
In-House Software
Development Options
• Reasons for Purchasing a Software
Package
– Lower costs
– Requires less time to implement
– Proven reliability and performance
benchmarks
– Requires less technical development staff
– Future upgrades provided by the vendor
– Input from other companies
In-House Software
Development Options
• Customizing a Software Package
1. You can purchase a basic package that
vendors will customize to suit your needs
2. You can negotiate directly with the
software vendor to make enhancements
to meet your needs by paying for the
changes
3. You can purchase the package and make
your own modifications, if this is
permissible under the terms of the
software license
In-House Software
Development Options
• Creating User Applications
– A user application utilizes standard business
software
– Help desk or information center (IC)
– Screen generators
– Report generators
– Read-only properties

Figure 5-13
Role of the Systems Analyst
• When selecting hardware and software,
systems analysts often work as an
evaluation and selection team
• A team approach ensures that critical
factors are not overlooked and that a
sound choice is made
Role of the Systems Analyst
• The primary objective of the evaluation
and selection team is to eliminate system
alternatives that will not work, rank the
system alternatives that will work, and
present the viable alternatives to
management for a final decision
Cost-Benefit Analysis
• Now, at the end of the systems analysis
phase of the SDLC, you must apply
financial analysis tools and techniques to
evaluate development strategies and
decide how the project will move forward

Figure 5-14
Cost-Benefit Analysis
• Financial Analysis Tools
– Payback Analysis
• How long will it take for IS to pay for itself
– Return on investment (ROI)
• Compares net benefits (return) to total cost
– Net present value (NPV)
• Total benefits – total cost
A Software Acquisition Example
• Step 1: Evaluate the Information System
Requirements
– Identify key features
– Consider network and web-related issues
– Estimate volume and future growth
– Specify hardware, software, or personnel
constraints
A Software Acquisition Example
• Step 1: Evaluate the Information System
Requirements
– Prepare a request for proposal or quotation
• Request for proposal (RFP)
– Document to vendors who decide whether they have a
product that meets your needs
– Evaluation model
• Request for quotation (RFQ)
– More specific than RFP
A Software Acquisition Example
• Step 2: Identify Potential Vendors or
Outsourcing Options
– The Internet is a primary marketplace
• newsgroups
– Another approach is to work with a consulting
firm
A Software Acquisition Example
• Step 3: Evaluate the Alternatives
– Existing users
– Application testing
– Benchmarks
– Match each package against the RFP
features and rank the choices
A Software Acquisition Example
• Step 4: Perform Cost-Benefit Analysis
– Identify and calculate TCO for each option
you are considering
– When you purchase software, what you are
buying is a software license
– If you purchase a software package, consider
a maintenance agreement
A Software Acquisition Example
• Step 5: Prepare a Recommendation
– You should prepare a recommendation that
contains your recommendation and lists the
alternatives, together with the costs, benefits,
advantages, and disadvantages of each
option
– At this point, you may be required to submit a
formal system requirements document and
deliver a presentation
A Software Acquisition Example
• Step 6: Implement the Solution
– Implementation tasks will depend on the
solution selected
– Before the new software becomes
operational, you must complete all
implementation steps, including loading,
configuring, and testing the software; training
users; and converting data files to the new
system’s format
Completion of Systems Analysis
Tasks
• To complete the systems analysis phase,
you must prepare the system
requirements document and your
presentation to management
Completion of Systems Analysis
Tasks
• Presentation to Management
– Based on their decision, your next task will
be one of the following
1. Implement an outsourcing alternative
2. Develop an in-house system
3. Purchase or customize a software package
4. Perform additional systems analysis work
5. Stop all further work
The Transition to System
Design
• If management decides to develop the
system in-house, then the transition to the
systems design phase begins
• Preparing for Systems Design Tasks
– It is essential to have an accurate and
understandable system requirements
document
The Transition to System
Design
• The Relationship between Logical and
Physical Design
– The logical design defines the functions and
features of the system and the relationships
among its components
– The physical design of an information system
is a plan for the actual implementation of the
system
Systems Design Guidelines
• The systems analyst must understand the
logical design of the system before
beginning the physical design of any one
component
– Data design
– User interface
– System design specification

Figure 5-24
Systems Design Guidelines
• System Design Objectives
– The goal of systems design is to build a
system that is effective, reliable, and
maintainable
– A system is reliable if it adequately handles
errors
– A system is maintainable if it is well designed,
flexible, and developed with future
modifications in mind
Systems Design Guidelines
• System Design Objectives
– User considerations
• Carefully consider any point where users receive
output from, or provide input to, the system
• Anticipate future needs of the users, the system,
and the organization
• Provide flexibility

Figure 5-25
Systems Design Guidelines
• System Design Objectives
– Data Considerations
• Data should be entered into the system where
and when it occurs because delays cause
errors
• Data should be verified when entered to catch
errors immediately
• Automated methods of data entry should be
used whenever possible

Figure 5-26
Systems Design Guidelines
• System Design Objectives
– Data Considerations
• Access for data entry should be controlled and all
entries or changes to critical data values should be
reported – audit trails
• Every instance of entry and change to data should
be logged
• Data should be entered into a system only once
• Data duplication should be avoided
Systems Design Guidelines
• System Design Objectives
– Architecture considerations
• Use a modular design
• Design modules that perform a single function are
easier to understand, implement, and maintain
Systems Design Guidelines
• Design Trade-Offs
– Design goals often conflict with each other
– Most design trade-off decisions that you will
face come down to the basic conflict of quality
versus cost
– Avoid decisions that achieve short-term
savings but might mean higher costs later
Prototyping
• Prototyping produces an early, rapidly
constructed working version of the
proposed information system, called a
prototype
• Prototyping allows users to examine a
model that accurately represents system
outputs, inputs, interfaces, and processes
Figure 5-27
Prototyping
• Prototyping Methods
– System prototyping

– Design /Throwaway prototyping


Prototyping
• Prototyping Tools
– Systems analysts can use powerful tools to
develop prototypes
Prototyping
• Other Modeling Tools
– Systems flowchart
– American National Standards Institute (ANSI)
Prototyping
• Limitations of Prototypes
– A prototype is a functioning system, but it is
less efficient than a fully developed system
– Systems developers can upgrade the
prototype into the final information system by
adding the necessary capability
– Otherwise, the prototype is discarded
Using Codes During System
Design
• Overview of Codes
– Code – set of letters or numbers that
represent data
– They save storage space and costs, reduce
transmission time, and decrease data entry
time
– Can reduce data input errors
Using Codes During System
Design
• Types of Codes
1. Sequence codes
– E.g. consecutive employee numbers
2. Block sequence codes
– College course numbers
3. Alphabetic codes
a. Category codes
• Identify a group of related items (e.g. dept store)
b. Abbreviation codes
• E.g. TN (Tennessee), JFK
Using Codes During System
Design
• Types of codes
– Significant digit codes
– Derivation codes
– Cipher codes
– Action codes
– Self-checking codes

You might also like