paper

profilesand
Chapter07.pptx

Chapter 7

Development Strategies

1

Learning Objectives

After this chapter, you will be able to:

Explain the differences between traditional and web-based systems development

Explain how Web 2.0, cloud computing, and mobile devices may affect systems development

Explain how to select one of the four in-house software development options

Explain outsourcing

ISt 603 - Chapter 7

2

2

Learning Objectives

Explain the main advantages and the unique concerns of offshoring

Describe the concept of Software as a Service

Explain how a systems analyst helps in selecting a development strategy

Execute the five steps in the software acquisition process

Describe a request for proposal (RFP) and a request for quotation (RFQ)

Summarize the tasks involved in completing the systems analysis phase of the SDLC

ISt 603 - Chapter 7

3

3

Web-Based Systems Development Technologies

Systems analyst must consider whether development will take place in a traditional environment or in a web-centric framework

Two representative web-based development environments

Microsoft’s .NET

MERN stack – MongoDB, Express, React, and Node

Applications using JavaScript

Technologies

There are two main categories of coding, scripting and programming for creating Web Applications:

Client Side

Server Side

ISt 603 - Chapter 7

4

4

Web-Based Systems Development Technologies

I. Client Side Scripting / Coding - Client Side Scripting is the type of code that is executed or interpreted by browsers.

Client Side Scripting is generally viewable by any visitor to a site (from the view menu click on "View Source" to view the source code).

Below are some common Client Side Scripting technologies:

HTML (HyperText Markup Language)

CSS (Cascading Style Sheets)

JavaScript

Ajax (Asynchronous JavaScript and XML)

jQuery (JavaScript Framework Library - commonly used in Ajax development)

MooTools (JavaScript Framework Library - commonly used in Ajax development)

Dojo Toolkit (JavaScript Framework Library - commonly used in Ajax development)

ISt 603 - Chapter 7

5

5

Web-Based Systems Development Technologies

II. Server Side Scripting / Coding - Server Side Scripting is the type of code that is executed or interpreted by the web server.

Server Side Scripting is not viewable or accessible by any visitor or general public.

Below are the common Server Side Scripting technologies:

PHP (very common Server Side Scripting language - Linux / Unix based Open Source - free redistribution, usually combines with MySQL database)

Zend Framework (PHP's Object Oriented Web Application Framework

ASP (Microsoft Web Server (IIS) Scripting language)

ASP.NET (Microsoft's Web Application Framework - successor of ASP)

ColdFusion (Adobe's Web Application Framework)

Ruby on Rails (Ruby programming's Web Application Framework - free redistribution)

Perl (general purpose high-level programming language and Server Side Scripting Language - free redistribution - lost its popularity to PHP)

Python (general purpose high-level programming language and Server Side Scripting language - free redistribution)

ISt 603 - Chapter 7

6

6

Traditional development considerations

Compatibility issues

Is the system being developed need to be compatible with existing hardware, software platforms?

Is the system being developed need to interface with legacy systems?

Systems need to run on local and wide-area networks (example networks shown in the next two slides)

Systems utilize Internet links and resources

Scalability is affected by network limitations and constraints

Many applications require substantial desktop computing power and resources

Security issues usually are less complex than with web-based systems

ISt 603 - Chapter 7

7

7

A Local Area Network (LAN) Scheme

ISt 603 - Chapter 7

8

https://www.conceptdraw.com/How-To-Guide/local-area-network

A Wide Area Network (WAN) Scheme

ISt 603 - Chapter 7

9

https://www.conceptdraw.com/examples/wan-diagram

Traditional development considerations

Development main paths:

In-house development

Purchase of software package with possible modification

Use of outside consultants

ISt 603 - Chapter 7

10

10

Web-Based Systems Development

Web-based development considerations

Systems are developed and delivered on an Internet-based framework

Internet-based development treats the web as the platform

Web-based systems are easily scalable and can run on multiple hardware environments

Web-based systems are often considered as a service – no one owns the software

Web-based service usually require middleware

Web-based systems require less desktop processing power

ISt 603 - Chapter 7

11

11

Web-Based Systems Development

Presentation tier

The presentation tier is the user interface and communication layer of the application, where the end user interacts with the application. Its main purpose is to display

Application tier

The application tier, also known as the logic tier or middle tier, is the heart of the application.

Data tier

The data tier, sometimes called database tier, data access tier or back-end, is where the information processed by the application is stored and managed.

ISt 603 - Chapter 7

12

12

Evolving Trends

Web 1.0

This is the Web you know and are familiar with

Vast majority of users simply act as consumers of content – created by someone else

Web 2.0

This is Web as a platform where software applications are built as opposed to upon the desktop

Enables users to participate in content creation (for example social media), to collaborate, interact, and share information

User created fresh content and profile data are being sold by businesses and internet has become a massive app store

ISt 603 - Chapter 7

13

13

Evolving Trends

Web 3.0

Initially visualized as a web where machines would process content in a humanlike way – a “Global Brain”

Web 3.0 was supposed to be a semantic web where all data would be connected and understood both contextually and conceptually

Was impossible to implement – machine cannot distinguish between a jaguar (the animal) and a Jaguar (the car)

There is still hope that original vision for Web 3.0 will materialize

ISt 603 - Chapter 7

14

14

Evolving Trends

Cloud computing

The delivery of computing services including servers, storage, databases, networking, software, analytics and intelligence over the internet (the cloud)

User/Customer typically pays for the services used

The cloud service provider manages cloud services and helps customers avoid paying for operating costs

Benefits

Cost - Customers avoid paying capital expense of buying hardware, software, power supply, cooling towers and IT expertise

Global Scale – ability to scale up

ISt 603 - Chapter 7

15

15

Evolving Trends

Cloud computing

Benefits (continued)

Performance – Biggest cloud computing services run on a worldwide network of secure datacenters. Datacenters are regularly upgraded and offer the latest generation hardware and software

Security – Offers broad set of policies and technologies that strengthens users’ overall security posture

Reliability – Cloud services provider takes the responsibility for regular backup, and disaster recovery. This can help business continuity at a relatively lesser cost.

ISt 603 - Chapter 7

16

16

Evolving Trends

Mobile devices

Smartphones and tablets

Developing apps for mobile devices

Requires many new platforms

Many of today’s development tools support web-based and mobile application development at the same time

ISt 603 - Chapter 7

17

17

Software Development Options

Software development options

Develop, purchase, lease

Most important consideration is the total cost of ownership (TCO)

Other issues such as security of data plays a role when lease of IT outsourcing are considered

Make or buy decision

Make or Buy; Build or Buy

Companies can develop user applications based on commercial software packages

ISt 603 - Chapter 7

18

18

In-House Software Development Options

ISt 603 - Chapter 7

Instead of outsourcing, a company can choose to develop a system in-house, or purchase and possibly customize a commercial package.

19

19

In-House Software Development Options

Important terms

Software package: obtained from a vendor or application service provider

Software vendors: develop software for sale

Value-added reseller: enhances a commercial package with custom features/configuration

Horizontal application: used by many different types of organizations

Vertical application: handles specific business requirements

ISt 603 - Chapter 7

20

20

In-House Software Development vs Purchasing a Package

Reasons for In-House Development Reasons for Purchasing a Software Package
Satisfy unique business requirement Lower cost – cost shared by many customers
Minimize changes in business procedures and policies Requires less time to implement
Meet constraints of existing system Proven reliability and performance benchmarks
Meet constraints of existing technology Requires less technical development staff
Develop internal IT talents and capabilities Future upgrades provided by the vendor
Satisfy unique security requirements Obtain input from other companies – public support groups and forum

ISt 603 - Chapter 7

21

21

In-House Software Development Options

Customizing a software package

Purchase a basic package that vendors will customize to suit project requirements

Negotiate directly with the software vendor to make enhancements to meet project needs by paying for the changes

Purchase the package and make project-specific modifications

If modifications are made to match the company’s business processes, upgrades will also need potential modifications

ISt 603 - Chapter 7

22

22

In-House Software Development Options

Creating user applications

User application: utilizes standard business software

User interface: enables effective interaction with the application

Service desk: provides user support

ISt 603 - Chapter 7

23

23

Outsourcing

Transfer of information systems development, operation, or maintenance to an outside firm

Temporary of long-term

The growth of outsourcing

Service provider: offers outsourcing solutions

Application service provider (ASP): delivers application by charging a fee

Internet business services (IBSs): web-based support for transactions

ISt 603 - Chapter 7

24

24

Outsourcing

Outsourcing fees

Fixed fee model: uses a set fee based on a specified level of service and user support

Subscription model: variable fee based on the number of users or workstations that have access to the application

Usage model or transaction model: charges a variable fee based on volume of transactions or operations performed by the application

ISt 603 - Chapter 7

25

25

Outsourcing

Outsourcing issues and concerns

Mission-critical IT systems are outsourced if the result is cost-attractive and reliable

Overseas outsourcing can raise issues with control, culture communication, and security

Reviewing the outsourcing firm’s history and financial condition is vital

Outsourcing clients can be affected by mergers and acquisitions

Employee job security is a major concern

ISt 603 - Chapter 7

26

26

Offshoring

Global outsourcing

Shifting IT development, support, and operations to other countries

Lower bottom-line costs

Risks and concerns

Impact on the economy

Project control

Security issues

Disparate cultures

Effective communication

Current trend is to bring back previously offshored IT services and development

ISt 603 - Chapter 7

27

27

Software as a Service

Model of software deployment in which an application is hosted as a service provided to customers over the Internet

Reduces the customer’s need for software maintenance, operation, and support

Provides the functionality the customer needs, but without the associated development, infrastructure, and maintenance costs

Example of Software as a service: Office 365

ISt 603 - Chapter 7

28

The Systems Analyst’s Role

Based on current and future needs

Evaluation and selection of alternatives is a complicated process

Evaluation and selection team: systems analysts and users

Eliminates system alternatives that will not meet requirements, ranks the alternatives that are feasible, and presents the viable alternatives to management for a final decision

ISt 603 - Chapter 7

29

29

Analyzing Cost and Benefits

Financial analysis tools

Payback analysis

Determines time taken for an information system to pay for itself through reduced costs and increased benefits

Example: Suppose the company invests $200,000. This investment results is a positive cash flow of $40,000 per year

Payback period = Investment /annual cash flow = 200000/40000 => 5 years

Problems: cash flow may be difficult to estimate for software

Does not account for time value of money

ISt 603 - Chapter 7

30

30

Analyzing Cost and Benefits

Return on investment (ROI)

Percentage rate that compares the total net benefits (the return) received from a project to the total costs (the investment) of the project

ROI = (Net Profit/Investment) * 100

Problem: IT project may not be linked to ‘profit’

Estimated savings can be considered as profit

Net present value (NPV)

Total value of benefits minus the total costs

ISt 603 - Chapter 7

31

31

Analyzing Cost and Benefits

Net present value (NPV)

Total value of benefits minus the total costs

where: Rt​ = net cash inflow-outflows during a single period t

i= discount rate or return that could be earned in alternative investments

t = number of time periods​

ISt 603 - Chapter 7

32

n Rt
NPV =
i=0 (1 + i)t

32

Analyzing Cost and Benefits

Cost-benefit analysis checklist

List each development strategy considered

Identify all costs and benefits

Consider future growth and need for scalability

Include support costs for hardware and software

Analyze various software licensing options

Apply financial analysis tools to each alternative

Study the results and prepare a report

ISt 603 - Chapter 7

33

33

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

ISt 603 - Chapter 7

34

Current Level Future Growth (based on existing procedures) Future Growth (assuming new website is operational)
Customers 36,500 40,150 63.875
Daily Orders 1,435 1,579 2,811
Daily Order Lines 7,715 7,893 12,556
Sales Rep 29 32 12
Order Processing Support Staff 2 4 3
Products 600 650 900

34

The Software Acquisition Process

Software and hardware need to be able to handle growth projection

Specify hardware, software, or personnel constraints

Prepare a request for proposal or quotation

Describes the company, lists IT services or products needed, and specifies features required

Unweighted Evaluation Model for a Network Project

ISt 603 - Chapter 7

35

Rate each vendor on a scale from 1 (low) to 10 (high), then add vendor scores to calculate total points
Vendor A Vendor B Vendor C
Price 6 5 9
Completion Date 2 5 8
Layout/Design 8 8 5
References 10 6 3
Total Points 26 24 25

35

The Software Acquisition Process

Weighted Evaluation Model for a Network Project. Multiply the vendor’s score by the weight factor. Add vendor score to calculate total points.

Vendor A is at the top in unweighted model

Vendor C is at the top in the weighted model

ISt 603 - Chapter 7

36

Weight Factor Vendor A Vendor B Vendor C
Price 25 6 * 25 = 150 5 * 25 = 125 9 * 25 = 225
Completion Date 25 2 * 25 = 100 5 * 25 = 125 8 * 25 = 200
Layout/Design 35 8 * 35 = 280 8 * 35 = 280 5 * 35 = 175
References 15 10 *15 = 150 6 * 15 = 90 3 * 15 = 45
Total Points 100 630 620 645

36

The Software Acquisition Process

Step 2: identify potential vendors or outsourcing options

Internet

Consulting firm

Online forums

ISt 603 - Chapter 7

37

37

The Software Acquisition Process

Step 3: evaluate the alternatives

Existing users

Application testing

Benchmarking

Measures the time a package takes to process a certain number of transactions

ISt 603 - Chapter 7

38

38

The Software Acquisition Process

Step 4: perform cost-benefit analysis

Identify and calculate total cost of ownership (TCO) for each option being considered

Study conditions of use that come along with the software license

If a software package is purchased, consider a supplemental maintenance agreement

ISt 603 - Chapter 7

39

39

The Software Acquisition Process

Step 5: prepare a recommendation

Evaluate and describe alternatives along with:

Costs

Benefits

Advantages

Disadvantages

Submit a formal system requirements document and deliver a presentation

ISt 603 - Chapter 7

40

40

Completion of Systems Analysis Tasks

System requirements document

Contains the requirements for the new system

Describes the alternatives considered

Makes a specific recommendation to management

Similar to a contract: identifies items that system developers must deliver to users

Format and organize the systems document: easy to read and use

ISt 603 - Chapter 7

41

41

Completion of Systems Analysis Tasks

Presentation to management

Suggestions for effective presentations

Start with a brief overview

Summarize the primary viable alternatives

Explain why the evaluation and selection team chose the recommended alternative

Allow time for discussion

Obtain a final decision from management or agree on a timetable for the next step in the process

ISt 603 - Chapter 7

42

42

Completion of Systems Analysis Tasks

Depending on management’s decision, a systems analyst will do one of the following:

Implement an outsourcing alternative

Develop an in-house system

Purchase or customize a software package

Perform additional systems analysis work

Stop all further work

ISt 603 - Chapter 7

43

43

Transition to Systems Design

Preparing for systems design

Systems design requires accurate documentation

Provide detailed specifications for output, input, data, processes, and other requirements

Logical and physical design

Logical design: defines what must take place

Physical design: describes the actual process of entering, verifying, and storing data

Logical and physical designs are closely related

ISt 603 - Chapter 7

44

44

Summary

Traditional systems

Must function in various hardware and software environments, be compatible with legacy systems, and operate within the constraints of company networks and desktop computing capability

Internet-based systems

Treat the web as the platform, rather than just a communication channel

ISt 603 - Chapter 7

45

Summary

Systems analysts must consider web-based development environments and various outsourcing options

Web 2.0 is fueling the expansion of information sharing, user collaboration, and social networking applications

If a company handles its own software needs, it can create in-house systems or purchase commercial packages

ISt 603 - Chapter 7

46

46

Summary

Existing commercial software packages can be an attractive alternative

SaaS is a model of software deployment in which an application is hosted as a service provided to customers over the Internet

Offshoring, also known as offshore outsourcing or global outsourcing, refers to the practice of shifting IT development, support, and operations to other countries

ISt 603 - Chapter 7

47

47

Summary

The systems analyst’s role in the software development process depends on the specific development strategy

The most important factor in choosing a development strategy is TCO

The process of acquiring software involves a series of steps

The system requirements document is the end product of the analysis phase

ISt 603 - Chapter 7

48

48