chapter 6 phases, tools, and techniques chapter 6 systems development phases, tools, and techniques

57
Chapter 6 Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques Phases, Tools, and Techniques

Post on 18-Dec-2015

237 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Chapter 6Chapter 6 SYSTEMS DEVELOPMENT

Phases, Tools, and TechniquesPhases, Tools, and Techniques

Chapter 6Chapter 6 SYSTEMS DEVELOPMENT

Phases, Tools, and TechniquesPhases, Tools, and Techniques

Page 2: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

STUDENT LEARNING OUTCOMES

Page 3: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SAVING LIVES THROUGH SYSTEMS DEVELOPMENT

• Centers for Disease Control (CDC) tracks a wealth of information

• Unfortunately, most of that information is stored in separate IT systems that do not communicate with each other

Page 4: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SAVING LIVES THROUGH SYSTEMS DEVELOPMENT

• The CDC is using a service-oriented architecture (SoA) to integrate all those systems and information

Page 5: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

INTRODUCTION

• Information systems are the support structure for meeting the company’s strategies and goals

• Why new systems are created:

Page 6: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

INTRODUCTION

• When developing a new system, you have 3 “who” choices…1. Insourcing

2. Selfsourcing

3. Outsourcing

Page 7: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

CHAPTER ORGANIZATION

1. Insourcing and the SDLC

2. Component-Based Development

3. Selfsourcing

4. Prototyping

5. Outsourcing

Page 8: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

INSOURCING AND THE SDLC

• Systems development life cycle (SDLC)

• Also called a waterfall methodology

Page 9: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SDLC Phases & Major Activities

Page 10: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SDLC as a Waterfall Methodology

Page 11: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 1: Planning

• Planning phase

• Three primary planning activities:

1. Define the system to be developed

Page 12: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 1: Planning

2. Set the project scope• Project scope

• Scope creep

• Feature creep

• Project scope document

Page 13: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 1: Planning

3. Develop the project plan including tasks, resources, and timeframes• Project plan

• Project manager

• Project milestones

Page 14: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 1: Planning

Sample Project Plan

Page 15: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 2: Analysis

• Analysis phase

Page 16: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 2: Analysis• Two primary analysis activities:

1. Gather the business requirements• Business requirements

• Joint application development (JAD)

Page 17: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 2: Analysis

2. Prioritize the requirements• Requirements definition document

Page 18: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 2: Analysis

Take time during analysis to get the business requirements correct. If you find errors, fix them immediately. The cost to fix an error in the early stages of the SDLC is relatively small. In later stages, the cost is huge.

Page 19: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 3: Design

• Design phase

• Two primary design activities:

1. Design the technical architecture • Technical architecture

Page 20: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 3: Design

2. Design system models

• Starting with design, you take on less of an active participation role and act more as a “quality control” function, ensuring that the IT people are designing a system to meet your needs

Page 21: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 4: Development

• Development phase

• Two primary development activities:

Page 22: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 5: Testing

• Testing phase

• Two primary testing activities:

1. Write the test conditions

Page 23: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 5: Testing

2. Perform the testing of the system• Unit testing• System testing

• Integration testing

• User acceptance testing (UAT)

Page 24: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 6: Implementation

• Implementation phase

• Two primary implementation activities1. Write detailed user documentation

Page 25: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 6: Implementation

2. Provide training for the system users• Online training

• Workshop training

Page 26: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 6: Implementation

• Choose the right implementation method– Parallel implementation

– Plunge implementation

– Pilot implementation

– Phased implementation

Page 27: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Phase 7: Maintenance

• Maintenance phase

• Two primary maintenance activities:

1. Build a help desk to support the system users

2. Provide an environment to support system changes

Page 28: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

COMPONENT-BASED DEVELOPMENT

• The SDLC focuses only on the project at hand

• Component-based development (CBD)

• CBD focuses on

Page 29: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Component-Based Development Methodologies

• Rapid application development (RAD)• Extreme programming (XP)• Agile methodology

Page 30: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Rapid Application Development (RAD)

• Rapid application development (RAD) (also called rapid prototyping) –

Prototypes are models of the software components

• The development team continually designs, develops, and tests the component prototypes until they are finished

Page 31: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Rapid Application Development (RAD)

Build new software

components

Use already-existing software

components

Page 32: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Extreme Programming (XP)

• Extreme programming (XP)

Page 33: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Agile Methodology

• Agile methodology

Page 34: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SoA – An Architecture Perspective

• Service-oriented architecture (SoA)

• All CBD methodologies adhere to an SoA• Services are the same as components,

which are the same as small self-contained blocks of code

• More in Chapter 7

Page 35: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

SELFSOURCING

• Selfsourcing (end-user development)

Page 36: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Selfsourcing Approach

Page 37: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Selfsourcing Approach

Page 38: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Selfsourcing Advantages

Page 39: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Selfsourcing Disadvantages

Page 40: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

The Right Tool for the Job

• End users must have development tools that:

Page 41: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

PROTOTYPING

• Prototype

• Prototyping

– Proof-of-concept prototype

– Selling prototype

Page 42: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

The Prototyping Process

• The prototyping process involves four steps:

Page 43: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

The Prototyping Process

Page 44: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Advantages of Prototyping

Page 45: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Disadvantages of Prototyping

Page 46: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

OUTSOURCING

• Outsourcing

Page 47: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

OUTSOURCING

• The main reasons behind the rapid growth of the outsourcing industry include the following:

Page 48: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing Options

• IT outsourcing for software development can take one of four forms:

Page 49: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing Options

Page 50: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing Process

Page 51: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing Process

When outsourcing, you’ll develop two vitally important documents – a request for proposal and a service level

agreement

Page 52: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing – RFP

• Request for proposal (RFP)

Page 53: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing – SLA

• Service level agreement (SLA)

Page 54: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Outsourcing Options

• There are three different forms of outsourcing:1. Onshore outsourcing

2. Nearshore outsourcing

3. Offshore outsourcing

Page 55: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Offshore Outsourcing

• Primary outsourcing countries are:– India– China– Eastern Europe (including Russia)– Ireland– Israel– Philippines

Page 56: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

The Advantages and Disadvantages of Outsourcing

• Advantages

Page 57: Chapter 6 Phases, Tools, and Techniques Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

The Advantages and Disadvantages of Outsourcing

• Disadvantages