Developing Software In

System Analysis and Design
System Analysis
- Mr. Ahmad Al-Ghoul
Learning 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
Explain advantages and disadvantages
of developing software in-house versus
other alternatives
Avicenna
System Analysis and Design
System Analysis
2
Development Strategies Overview

Selecting the best development path is an
important decision that requires
companies to consider three key topics



Avicenna
The impact of the Internet
Software outsourcing options
In-house software development alternatives
System Analysis and Design
System Analysis
3
The Impact of the Internet

The Internet has triggered enormous changes in business
methods and operations, and software acquisition is no
exception




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
Web-based services remove the responsibility for installation,
maintenance, and upgrades from a company’s in house staff
The Changing Software Marketplace


Avicenna
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
System Analysis and Design
System Analysis
4
The Impact of the Internet on Systems
Development



As analyst, you must consider whether development
will take place in a web-centric framework, or in
traditional environment
the web becomes an integral part of the application,
rather than just a communication channel
Let’s consider the differences between traditional and
web-based systems

Avicenna
Traditional development
 System design is influenced by compatibility issues,
including existing hardware and software platforms
and legacy systems
 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
System Analysis and Design
System Analysis
5
The Impact of the Internet on Systems
Development
Traditional development
 Development follows one of three main paths
 In-house development
 Purchase of a software package
 Use of outside consultant
 Many applications require substantial desktop
computing power and resources
 Security issues are less complex than with
Web-based systems, because the system
operates on a private telecommunication
network, rather than internet
Avicenna
System Analysis and Design
System Analysis
6
The Impact of the Internet on Systems
Development

Web-based development






Avicenna
Systems are developed and delivered in an Internetbased framework such as .NET or WebSphere
Internet-based development treats the Web as the
platform, rather than just a communication channel
Web-based systems are easily scalable, and can run on
multiple hardware environment
Web-based software treats the software application as a
service that is less dependent on desktop computing
power and resources
Limit in –house involvement to minimum, and have the
vendor install, configure, and maintain the system
Web-based software usually requires additional layers,
called middleware, to communicate with existing
software and legacy systems
System Analysis and Design
System Analysis
7
Outsourcing

Outsourcing


Avicenna
Is the transfer of information systems
development, operation, or maintenance to an
outside firm that provides these services, for a fee
Can refer to relatively minor programming tasks,
the rental of software from a service provider, the
outsourcing of a basic business process (often
called business process outsourcing, or BPO), or
the handling of a company’s entire IT function
System Analysis and Design
System Analysis
8
Outsourcing

A firm that offers outsourcing solutions
is called a service provider

Application service providers (ASP)
ASP is a firm that delivers a software
application, or access to an application
 ASP rents commercially available software such
as databases and accounting packages
 ASPs design, develop, implement, or maintain
the package

Avicenna
System Analysis and Design
System Analysis
9
Outsourcing

Outsourcing issues and concerns





Mission-critical 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
Outsourcing raises issues such as control, culture,
communication
A company must plan outsourcing carefully issues relating to
insurance, potential liability, licensing and information ownership,
warranties, and disaster recovery
Outsourcing can be especially attractive to a company whose
volume fluctuates widely, such as a defense contractor
Risks include possibly



Avicenna
Losing confidential information
Losing control over future development
Losing learning opportunities
System Analysis and Design
System Analysis
10
Outsourcing

Outsourcing guidelines






Avicenna
Keep lines of communication open between you and
your outsource
Define and stabilize requirements before signing a
contract
View the outsourcing relationship as a partnership
Select the vendor, or service provider carefully
Assign a person to manage the relationship with the
outsource
Don’t outsource what you don’t understand
System Analysis and Design
System Analysis
11
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)
[1]
Avicenna
System Analysis and Design
System Analysis
12
In-House Software Development
Options

Make or Buy Decision




Avicenna
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
Companies that develop software for sale are called
software vendors
A firm that enhances a commercial package by adding
custom features and configuring it for a particular
industry is called a value-added reseller (VAR)
System Analysis and Design
System Analysis
13
In-House Software Development
Options

Software packages are available for every
type of business activity


Avicenna
Horizontal application: a software package
that can be used by many different types of
organizations, like an accounting package
Vertical application: a software package
developed to handle information requirements
for a specific type of business, like collage,
banks, hospitals, real state, and airlines
System Analysis and Design
System Analysis
14
In-House Software Development
Options

Developing a system, buying a software
package, or customizing a software
package – each choice from above has
advantages, disadvantages, and cost
consideration
Avicenna
System Analysis and Design
System Analysis
15
In-House Software Development
Options

Developing Software In-House

Companies choose in-house development to:

Satisfy unique business requirements


Minimize changes in business procedures and policies


Installing a new software package almost always require
changes in how a company does business; however, if the
purchased package will be disruptive, it is better to develop the
software in-house
Meet constraints of existing systems

Avicenna
No commercially available software package can meet their
unique business requirements
if the new system must interface with an existing system, a
company could develop its own software to ensure that the
new system will interface with the old system
System Analysis and Design
System Analysis
16
In-House Software Development
Options

Developing Software In-House

Meet constraints of existing technology


Develop internal resources and capabilities


When developing the system in-house, the IT staff will understands
the organization’s business functions and information support needs
so they provide a competitive advantage by responding to business
problems or opportunities
Satisfy unique security requirements

Avicenna
The new system must work with existing hardware and legacy
systems. That could require a custom design not commercially
available
In some cases when security and confidently is one of the
organization main issues, building in-house software might be the
only choice
System Analysis and Design
System Analysis
17
In-House Software Development
Options

Purchasing a Software Package

A commercially available software package might
be in some cases an attractive to developing inhouse software

Lower costs


Requires less time to implement


The in-house developed software needs to designed,
programmed, tested, and documented, when the
purchased package, is already has been designed,
programmed, tested, and documented
Proven reliability and performance benchmarks

Avicenna
Compare to software developed in-house, a software
package almost always is less expensive
If the product is popular, it almost certainly has been rated
and evaluated by independent reviewers
System Analysis and Design
System Analysis
18
In-House Software Development
Options

Purchasing a Software Package


Requires less technical development staff
Future upgrades provided by the vendor


Input from other companies

Avicenna
Adding improvements and enhancements regularly
by software vendors
You can contact users in other companies to obtain
their input about the package, or you might be
able to try the package before making your final
decision
System Analysis and Design
System Analysis
19
In-House Software Development
Options

Customizing a Software Package


If the standard version of a software product does
not satisfy a company’s requirements, the firm can
consider adapting the package to meet its needs.
Three ways to customize a software package are:



Avicenna
You can purchase a basic package that vendors will
customize to suit your needs
You can negotiate directly with the software vendor to
make enhancements to meet your needs by paying for
the changes
You can purchase the package and make your own
modifications, if this is permissible under the terms of
the software license. A disadvantage of this approach is
that system analysts and programmers might be
unfamiliar with the software.
System Analysis and Design
System Analysis
20
In-House Software Development
Options

Customizing a Software Package

Disadvantages
More cost than purchasing the standard package
 The customized package will take longer time to
obtain than the standard package
 Vendors regularly upgrade their standard software
packages, they might not upgrade a customized
version

Avicenna
System Analysis and Design
System Analysis
21
Sequence Summary





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, and various outsourcing options, including
application service providers and internet business services
If a company choose to handle its own software development
needs, it can create in-house systems, or purchase and possibly
customize commercially available software packages
Companies choose in-house development to: 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, and Satisfy unique security
requirements
A commercially available software package might be in some
cases an attractive to developing in-house software for, Lower
costs, Requires less time to implement, Proven reliability and
performance benchmarks, Requires less technical development
staff, and Future upgrades provided by the vendor
Avicenna
System Analysis and Design
System Analysis
22
Sequence Summary

In this Sequence we have
 Described software trends, including the concept of
software as a service
 Explained software acquisition alternatives, including
traditional versus Web-based software development
strategies
 Described software outsourcing options
 Explained why companies choose to develop in-house
software or buy one
 Defined and distinguished between horizontal and
vertical applications
 Explain advantages and disadvantages of developing
software in-house versus other alternatives
 Described the three ways to customize a software
package
Avicenna
System Analysis and Design
System Analysis
23
Reference
[1] System Analysis and Design, Sixth Edition
Authors: Gary B. Shelly, Thomas J. Cashman
and Harry J. Rosenblatt ,
Publisher: SHELLY CASHMAN SEWIES.
[2] system analysis and design, sixth edition
Authors: Kenneth E. Kendall and Julie E.
Kendall
Publisher: Prentice Hall
Avicenna
System Analysis and Design
System Analysis
24