Вы находитесь на странице: 1из 59

Chapter 6

Systems Development: Phases, Tools,


and Techniques
McGraw-Hill/Irwin Copyright 2010 by the McGraw-Hill Companies, Inc. All rights reserved.
STUDENT LEARNING OUTCOMES
1. Define the traditional systems development
life cycle (SDLC) and describe the 7 major
phases within it.
2. Compare and contrast the various
component-based development
methodologies.
3. Describe the selfsourcing process as an
alternative to the traditional SDLC.

6-2
STUDENT LEARNING OUTCOMES
4. Discuss the importance of prototyping and
prototyping within any systems development
methodology
5. Describe the outsourcing environment and
how outsourcing works.

6-3
SAVING LIVES THROUGH SYSTEMS
DEVELOPMENT
Centers for Disease Control (CDC) tracks a
wealth of information
Antimicrobial-resistant infections in hospitals
Influenza outbreaks
Terrorist biochemical attacks
Bacteria counts in rivers and stagnant ponds, etc

Unfortunately, most of that information is


stored in separate IT systems that do not
communicate with each other

6-4
SAVING LIVES THROUGH SYSTEMS
DEVELOPMENT
The CDC is using a service-oriented
architecture (SoA) to integrate all those
systems and information
An SoA treats every component of an IT
system a database file, a server, a CRM
software solution, etc as a building block
Within an SoA, those building blocks can be
plugged and played so that everything
works together in an integrated fashion

6-5
SAVING LIVES THROUGH SYSTEMS
DEVELOPMENT
1. All computers use a common binary base
language. That being true, why is it so
difficult to get computer systems to easily
communicate with each other?
2. In systems development, prototyping is used
to build a model of a proposed system. How
have you used prototyping in your life?
3. Outsourcing going to another company for
systems development is big business.
Why would the CDC not want to pursue
outsourcing?
6-6
INTRODUCTION

Information systems are the support structure


for meeting the companys strategies and
goals
New systems are created because
employees request them
New systems are created to obtain a
competitive advantage

6-7
INTRODUCTION

When developing a new system, you have 3


who choices
1. Insourcing IT specialists inside your
organization
2. Selfsourcing do-it-yourself approach many
end users take with little or no help from IT
specialists
3. Outsourcing a third-party organization (i.e., let
someone do the work and pay them for it)

6-8
CHAPTER ORGANIZATION

1. Insourcing and the SDLC


Learning outcome #1
2. Component-Based Development
Learning outcome #2
3. Selfsourcing
Learning outcome #3
4. Prototyping
Learning outcome #4
5. Outsourcing
Learning outcome #5
6-9
INSOURCING AND THE SDLC

Systems development life cycle (SDLC) - a


structured step-by-step approach for
developing information systems
7 distinct phases, each with well-defined
activities
Also called a waterfall methodology, an
approach in which each phase of the SDLC is
followed by another, from planning through
implementation

6-10
SDLC Phases & Major Activities

6-11
SDLC as a Waterfall Methodology

6-12
Phase 1: Planning

Planning phase - create a solid plan for


developing your information system
Three primary planning activities:
1. Define the system to be developed
You cant build every system, so you make choices
based on your organizations priorities, which may be
expressed as critical success factors
Critical success factor (CSF) - a factor simply critical to
your organizations success

6-13
Phase 1: Planning

2. Set the project scope


Project scope - clearly defines the high-level system
requirements
Scope creep - occurs when the scope of the project
increases
Feature creep - occurs when developers add extra
features that were not part of the initial requirements
Project scope document - a written definition of the
project scope and is usually no longer than a paragraph

6-14
Phase 1: Planning

3. Develop the project plan including tasks,


resources, and timeframes
Project plan - defines the what, when, and who
questions of system development
Project manager - an individual who is an expert in
project planning and management, defines and develops
the project plan and tracks the plan to ensure all key
project milestones are completed on time
Project milestones - represent key dates for which you
need a certain group of activities performed

6-15
Phase 1: Planning

Sample Project
Plan

6-16
Phase 2: Analysis

Analysis phase - involves end users and IT


specialists working together to gather,
understand, and document the business
requirements for the proposed system

6-17
Phase 2: Analysis

Two primary analysis activities:


1. Gather the business requirements
Business requirements - the detailed set of knowledge
worker requests that the system must meet in order to
be successful
Business requirements address the why and what of
your development activities
Joint application development (JAD) - knowledge
workers and IT specialists meet, sometimes for several
days, to define or review the business requirements for
the system

6-18
Phase 2: Analysis

2. Prioritize the requirements


Requirements definition document prioritizes the
business requirements and places them in a formal
comprehensive document
Again, you probably cant do everything, so prioritizing is
important
Users sign off on this document which clearly sets the
scope for the project

6-19
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.

6-20
Phase 3: Design

Design phase - build a technical blueprint of


how the proposed system will work
Two primary design activities:
1. Design the technical architecture
Technical architecture - defines the hardware,
software, and telecommunications equipment required to
run the system

6-21
Phase 3: Design

2. Design system models


This includes GUI screens that users will interface with,
database designs (see XLM/C), report formats, software
steps, etc

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

6-22
Phase 4: Development

Development phase - take all of your


detailed design documents from the design
phase and transform them into an actual
system
Two primary development activities:
1. Build the technical architecture
2. Build the database and programs
Both of these activities are mostly performed by IT
specialists

6-23
Phase 5: Testing

Testing phase - verifies that the system


works and meets all of the business
requirements defined in the analysis phase
Two primary testing activities:
1. Write the test conditions
Test conditions - the detailed steps the system must
perform along with the expected results of each step

6-24
Phase 5: Testing

2. Perform the testing of the system


Unit testing tests individual units of code
System testing verifies that the units of code function
correctly when integrated
Integration testing verifies that separate systems
work together
User acceptance testing (UAT) determines if the
system satisfies the business requirements

6-25
Phase 6: Implementation

Implementation phase - distribute the


system to all of the knowledge workers and
they begin using the system to perform their
everyday jobs
Two primary implementation activities
1. Write detailed user documentation
User documentation - highlights how to use the system

6-26
Phase 6: Implementation

2. Provide training for the system users


Online training - runs over the Internet or off a CD-
ROM
Workshop training - is held in a classroom environment
and lead by an instructor

6-27
Phase 6: Implementation

Choose the right implementation method


Parallelimplementation use both the old and
new system simultaneously
Plunge implementation discard the old system
completely and use the new
Pilot implementation start with small groups of
people on the new system and gradually add more
users
Phased implementation implement the new
system in phases

6-28
Phase 7: Maintenance

Maintenance phase - monitor and support


the new system to ensure it continues to
meet the business goals
Two primary maintenance activities:
1. Build a help desk to support the system users
Help desk - a group of people who responds to
knowledge workers questions
2. Provide an environment to support system
changes

6-29
COMPONENT-BASED DEVELOPMENT

The SDLC focuses only on the project at


hand
Component-based development (CBD)
focuses on building small self-contained
blocks of code (components) that can be
reused across a variety of applications
CBD focuses on
1. Using already-developed components to build
systems quickly
2. Building new components as needed that can be
used in all future systems
6-30
Component-Based Development
Methodologies
Rapid application development (RAD)
Extreme programming (XP)
Agile methodology

6-31
Rapid Application Development
(RAD)
Rapid application development (RAD) (also
called rapid prototyping) - emphasizes
extensive user involvement in the rapid and
evolutionary construction of working
prototypes of a system to accelerate the
systems development process
Prototypes are models of the software
components
The development team continually designs,
develops, and tests the component
prototypes until they are finished
6-32
Rapid Application Development
(RAD)

Build new Use already-


software existing
components software
components

6-33
Extreme Programming (XP)

Extreme programming (XP) - breaks a project


into tiny phases and developers cannot
continue on to the next phase until the first
phase is complete

6-34
Agile Methodology

Agilemethodology - a form of XP, aims for


customer satisfaction through early and
continuous delivery of useful software
components

6-35
SoA An Architecture Perspective

Service-oriented architecture (SoA)


perspective that focuses on the development,
use, and reuse of small self-contained blocks
of code (called services) to meet all
application software needs
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

6-36
SELFSOURCING

Selfsourcing (end-user development)


the development and support of IT systems
by end users with little or no help from IT
specialists
Do-it-yourself systems development
approach
Can relieve IT specialists of the burden of
developing many smaller systems

6-37
Selfsourcing Approach

Issimilar to traditional SDLC


Big exception is that design, development,
testing, and implementation are replaced by
the process of prototyping
Prototyping is the process of building models,
and in this case continually refining those
models until they become the final system

6-38
Selfsourcing Approach

6-39
Selfsourcing Advantages

Improves requirements determination


Increases end user participation and sense of
ownership
Increases speed of systems development
Reduces invisible backlog
Invisible backlog list of all systems that an
organization needs to develop but because of
the prioritization of systems development needs
never get funded because of the lack of
organizational resources

6-40
Selfsourcing Disadvantages

Inadequate end user expertise leads to


inadequately developed systems
Lack of organizational focus creates
privatized IT systems
Insufficient analysis of design alternatives
leads to subpar IT systems
Lack of documentation and external support
leads to short-lived systems

6-41
The Right Tool for the Job

End users must have development tools that:


Are easy to use
Support multiple platforms
Offer low cost of ownership
Support a wide range of data types

6-42
PROTOTYPING

Prototype a model of a proposed product,


service, or system
Prototyping - the process of building a model
that demonstrates the features of a proposed
product, service, or system
Proof-of-concept prototype - used to prove the
technical feasibility of a proposed system
Selling prototype - used to convince people of
the worth of a proposed system

6-43
The Prototyping Process

The prototyping process involves four steps:


1. Identify basic requirements
2. Develop initial prototype
3. User review
4. Revise and enhance the prototype

6-44
The Prototyping Process

6-45
Advantages of Prototyping

Encourages active user participation


Helps resolve discrepancies among users
Gives users a feel for the final system
Helps determine technical feasibility
Helps sell the idea of a proposed system

6-46
Disadvantages of Prototyping

Leads people to believe the final system will


follow
Gives no indication of performance under
operational conditions
Leads the project team to forgo proper testing
and documentation

6-47
OUTSOURCING

Outsourcing the delegation of specified


work to a third party for a specified length of
time, at a specified cost, and at a specified
level of service
The third who option of systems
development, after insourcing and
selfsourcing

6-48
OUTSOURCING

The main reasons behind the rapid growth of


the outsourcing industry include the following:
Globalization
The Internet
Growing economy and low unemployment rate
Technology
Deregulation

6-49
Outsourcing Options

IT outsourcing for software development can


take one of four forms:
1. Purchase existing software
2. Purchase existing software and pay the publisher
to make certain modifications
3. Purchase existing software and pay the publisher
for the right to make modifications yourself
4. Outsource the development of an entirely new
and unique system for which no software exists

6-50
Outsourcing Options

6-51
Outsourcing Process

Like selfsourcing, the selfsourcing process


looks similar to the traditional SDLC
Big exception here is that you outsource
most of the work to another company

6-52
Outsourcing Process

When outsourcing, youll develop two vitally


important documents a request for proposal and a
service level agreement
6-53
Outsourcing RFP

Request for proposal (RFP) formal


document that describes in excruciating detail
your logical requirements for a proposed
system and invites outsourcing organizations
(vendors) to submit bids for its development
In outsourcing, you must tell another
organization what you want developed; you do
that with an RFP
Therefore, the RFP must be very detailed
Some RFPs can take years to develop

6-54
Outsourcing SLA

Service level agreement (SLA) - formal


contractually obligated agreement between
two parties
In outsourcing, it is the legal agreement
between you and the vendor and specifically
identifies what the vendor is going to do (and
by when) and how much youre going to pay
Supporting SLA documents service level
specifications and service level objectives
contain very detailed numbers and metrics
6-55
Outsourcing Options

There are three different forms of


outsourcing:
1. Onshore outsourcing - the process of engaging
another company within the same country for
services
2. Nearshore outsourcing - contracting an
outsourcing arrangement with a company in a
nearby country
3. Offshore outsourcing - contracting with a
company that is geographically far away

6-56
Offshore Outsourcing

Primary outsourcing countries are:


India
China
Eastern Europe (including Russia)
Ireland
Israel
Philippines

6-57
The Advantages and
Disadvantages of Outsourcing
Advantages:
Focus on unique core competencies
Exploit the intellect of another organization
Better predict future costs
Acquire leading-edge technology
Reduce costs
Improve performance accountability

6-58
The Advantages and
Disadvantages of Outsourcing
Disadvantages:
Reduces technical know-how for future innovation
Reduces degree of control
Increases vulnerability of your strategic
information
Increases dependency on other organizations

6-59

Вам также может понравиться