Chapter 07 - Option For Development

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

1

CHAPTER 7
DEVELOPMENT STRATEGIES

Chapter Objectives
Describe the concept of Software as a Service
Define Web 2.0 and cloud computing
Explain software acquisition alternatives,
including traditional and Web-based software
development strategies
Describe software outsourcing options, including
offshore outsourcing and the role of service
providers
Explain advantages and disadvantages of inhouse software development

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 system requirements document
Explain the transition from systems analysis to
systems design, and the importance of
prototyping
Discuss guidelines for systems design
Describe software development trends

Introduction
Chapter 7 describes the remaining activities in
the systems analysis phase
The chapter also describes the transition to
systems design, prototyping, and systems design
guidelines
The chapter concludes with a discussion of
trends in software development

The Impact of the Internet


Software as a Service
Software as a Service (SaaS)-is a model of
software deployment where an application is
hosted as a service provided to customers
over the Internet.
25% of all new business software will be
deployed as a service by 2011, while the value
of the SaaS industry will grow to $40 billion

The Impact of the Internet


Traditional vs. Web-Based Systems Development
Traditional development

System design is influenced by compatibility issues


Systems are designed to run on local and wide-area company
networks
Systems often utilize Internet links and resources, but Webbased features are treated as enhancements rather than core
elements of the design
Development typically follows one of three main paths: inhouse development, purchase of a software package or use
outside consultants.
Scalability can be affected by network limitations and
constraints.
Many application require substantial desktop computing power
and resources.
Security issues usually are less complex than with Web-based
systems, because the system operates on a private company
network, rather than the Internet.

The Impact of the Internet


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
Large firms tend to deploy Web-based systems as enterprise-wide
software solutions for applications such as customer relationship
management, order processing and material management.
Web-based software treats the software application as a service
that is less dependent on desktop computing power and resources.
When companies acquire Web-based software as a service rather
than a product they purchase, they can limit in-house involvement
to a minimum and have the vendor install, configure and maintain
the system by paying agreed upon fees.
Web-based software usually requires additional layers, called
middleware to communicate with existing software and legacy
systems.

The Impact of the Internet


Looking to the Future: Web 2.0 and Cloud
Computing
Web 2.0: a second generation of the web tat will
enable people to collaborate, interact and share
information much more effectively.
The Web 2.0 platform will enhance interactive
experiences including wikis and blogs, and social
networking applications (Twitter,FB)
Cloud computing could bring enormous computing
power to business and personal Internet users

Outsourcing
Outsourcing : is the transfer of information system
development,operation,or maintenance to an outside firm
that provides these service ,for a fee,on a temporaray or in
term basis.
The Growth of Outsourcing
A firm that offers outsourcing solutions is called a service
provider
Application service providers (ASP): firm that delivers a
software application, or access to an application, by charging
a usage or subscription fee.
Internet business services (IBS):provide powerful Webbased support for transactions such as order processing,
billing, and customer relationship management.
Also called managed hosting: because system operation
are managed by the outside firm, or host.

10

Outsourcing
Outsourcing Fees
Based on three model:
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
to the application
A usage model or transaction model charges a
variable fee based on the volume of transactions or
operations performed by the application

11

Outsourcing
Outsourcing Issues and Concerns

Mission-critical IT systems should be outsourced only


if the result is a cost-attractive, reliable, business
solution that fits the companys long-term business
strategy
Outsourcing also can affect day-to-day company
operations and can raise some concerns
Advantage:

Relieves a company of the responsibility of adding IT staff


in busy times and downsizing when he workload lightens.

Disadvantage:

Raises employee concern about job security

12

Outsourcing
Offshore Outsourcing
Offshore outsourcing global outsourcing: refer t
practice of shifting IT development, support, and
operations to other countries.
Many firms are sending IT work overseas at an
increasing rate
The main reason for offshore outsourcing is the
same as domestic outsourcing: lower bottom-line
costs
Offshore outsourcing, however, involves some
unique risks and concerns

13

In-House Software Development Options


Make or buy decision
The choice between developing versus purchasing
software.
In house software : companys IT department
makes, builds and develops its own software
Software package: obtained from a vendor or
application service provider
Software vendors: companies that develop
software for sale
Value added Reseller (VAR):a firm that enhances
a commercial package by adding custom features
and configuring if for .particular industry

14

In-House Software Development


Options

15

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

16

In-House Software Development Options


Creating User Applications
Business requirements sometimes can be fulfilled by a user
application, rather than a formal information system or
commercial package
User application : utilizes standard business software which has
been configured in a specific manner to enhance user productivity
User interface can be created that enable users to interact more
effectively with the application.
Help desk or information center (IC) is responsible for providing
user support
Some user application have Screen generators &Report generators
User application must provide control such a hidden or read-only
properties

17

Role of the Systems Analyst


When selecting hardware and software, systems
analysts often work as an evaluation and
selection team
The primary objective of the evaluation and
selection team is to eliminate system alternatives
that will not meet requirements, rank the system
alternatives that are feasible, and present the
viable alternatives to management for a final
decision

18

Analyzing Cost and Benefits


Financial Analysis Tools
Use to evaluate development strategies and decide how
the project will move forward.
3 popular tools:
Payback Analysis: determines how long it takes an
information system to pay for itself through reduced
costs and increased benefits.
Return on investment (ROI):is percentage rate
that compares the total net benefits (the return)
received from a project to the total costs (the
investment) of the project.
Net present value (NPV):he total value of the
benefits minus the total value of the costs, with both
costs and benefits adjusted to reflect the point in time
at which they occur

19

Analyzing Cost and Benefits


Cost-Benefit Analysis Checklist
List each development strategy being considered
Identify all costs and benefits for each alternative.
Be sure to indicate when costs will be incurred and
benefits realized
Consider future growth and the need for
scalability
Include support costs for hardware and software

20

Analyzing Cost and Benefits


Cost-Benefit Analysis Checklist
Analyze various software licensing options,
including fixed fees and formulas based on the
number of users or transactions
Apply the financial analysis tools to each
alternative
Study the results and prepare a report to
management

21

The Software Acquisition Process


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
Prepare a request for proposal or quotation

22

The Software Acquisition Process


Step 2: Identify Potential Vendors or
Outsourcing Options
The Internet is a primary marketplace
Another approach is to work with a consulting
firm
Another valuable resource is the Internet bulletin
board system that contains thousands of forums,
called newsgroups

23

The Software Acquisition Process


Step 3: Evaluate the Alternatives

Existing users
Application testing
Benchmarking - benchmark
Match each package against the RFP features and
rank the choices

24

The Software Acquisition Process


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
supplemental maintenance agreement

25

The Software Acquisition Process


Step 5: Prepare a Recommendation
You should prepare a recommendation that
evaluates and describes 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

26

The Software Acquisition Process


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 systems format

27

Completion of Systems Analysis Tasks


System Requirements Document
The system requirements document, or software
requirements specification, contains the
requirements for the new system, describes the
alternatives that were considered, and makes a
specific recommendation to management
Like a contract
Format and organize it so it is easy to read and use

28

Completion of Systems Analysis Tasks


Presentation to Management
Summarize the primary viable alternatives
Explain why the evaluation and selection team
chose the recommended alternative
Allow time for discussion and for questions and
answers
Obtain a final decision from management or agree
on a timetable for the next step in the process

29

Completion of Systems Analysis Tasks


Presentation to Management
Depending on their decision, your next task as a
systems analyst will be one of the following
1.
2.
3.
4.
5.

Implement an outsourcing alternative


Develop an in-house system
Purchase or customize a software package
Perform additional systems analysis work
Stop all further work

30

The Transition to Systems Design


Preparing for Systems Design
It is essential to have an accurate and
understandable system requirements document

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

31

Systems Design Guidelines


The systems analyst must understand the logical
design of the system before beginning the
physical design of any one component
Systems Design Objectives
The goal of systems design is to build a system
that is effective, reliable, and maintainable

32

Systems Design Guidelines


Systems 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 hard-coded
Provide flexibility

33

Systems Design Guidelines


Systems Design Objectives
Data Considerations
Enter data as soon as possible: Data should be entered
into the system where and when it occurs because delays
cause data errors
Verify data as it is entered, to catch errors immediately
Automated methods of data entry should be used
whenever possible
Access for data entry should be controlled and all entries
or changes to critical data values should be reported
audit trail
Log every instance of data entry and changes
Enter data once
Avoid data duplication

34

Systems Design Guidelines


Systems Design Objectives
Architecture considerations
Use a modular design
Design modules that perform a single function are
easier to understand, implement, and maintain

35

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

36

Prototyping
Prototyping: produces an early ,rapidly constructed working
version of the proposed information system.
Prototyping Methods
System prototyping-produces a full featured, working model
of the information system.

SYSTEM
PROTOTYPE

37
Design prototyping/ Throwaway prototyping-prototyping used to verify user
requirements, after which the prototype is discarded and implementation continues.

Prototyping offers many benefits


Users and systems developers can avoid misunderstanding
System developers can create accurate specifications for the finished system based on
the prototype
Managers can evaluate a working model more effectively than a paper specification.
Systems analyst can use a prototype to develop testing and training procedures before
the finished system is available.
Prototyping reduces the risk and potential financial exposure that occur when a
finished system fails to support business needs.

38

Prototyping
Potential problems:
The rapid pace of development can create quality
problems, which are not discovered until the
finished system is operational
Other system requirements, such as reliability and
maintainability cannot be tested adequately using a
prototype.
In very complex systems, the prototype becomes
unwisely and difficult to manage

39

Prototyping Tools

CASE tools
Application generators
Report generators
Screen generators
Fourth-generation language (4GL)
Fourth-generation environment

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

40

Software Development Trends


A review of current online topics being discussed
in the IT community
Software quality will be more important than ever
Project management will be a major focus of IT
managers

41

Software Development Trends


Service-oriented architecture (SOA)
Loose coupling: object can interact but are
essentially independent

Growth in open-source software


Developers will use more Web services
Programmers will continue to use dynamic
languages (Python,Java,Perl,Ruby,Visual Basic)

42

Chapter Summary
This chapter describes system development
strategies, the preparation and presentation of
the system requirements document, and the
transition to the systems design phase of the
SDLC
An important trend that views software as a
service, rather than a product, has created new
software acquisition options
Systems analysts must consider Web-based
development environments

43

Chapter Summary
The systems analysts role in the software
development process depends on the specific
development strategy
The most important factor in choosing a
development strategy is total cost of ownership
(TCO)
The process of acquiring software involves a
series of steps
A prototype is a working model of the proposed
system

44

Review Questions
1. Describe the trend that views software as service rather
than a product.
2. What are the reasons for a company to choose to
develop its own information system?
3. What is outsourcing ?
4. State 2 reasons why a company want to outsource IT
tasks.
5. List three Financial Analysis Tools.
6. What is prototype ? Explain two types of prototyping
method.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy