Você está na página 1de 59

McGraw-Hill/I rwin

Copyright 2013 by The McGraw-Hill Companies, I nc. All rights reserved.


Chapter 6
Systems
Development:
Phases, Tools, and
Techniques
6-2
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-3
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-4
CAMERAS USE FILM?
6-5
CAMERAS USE FILM?
The preceding slide Kodak 35mm
film sales dropped from $7 billion in
2004 to an estimated $1.9 billion in
2010
Many retailers no longer process
35mm film
Web sites like SnapFish, Photo
Bucket, and Flickr are now the norm
6-6
CAMERAS USE FILM?
1. Do you own a 35mm camera? Last
time you had 35mm film processed?
2. Will smartphones spell the end of
digital cameras?
3. Do you know someone who owns a
35mm camera? What do they use it
for?
6-7
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-8
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-9
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-10
INSOURCING AND THE SDLC
Systems development life cycle
(SDLC) - a structured step-by-step
approach for developing information
systems
7 distinct phases
Also called a waterfall
methodology, an approach in
which each phase of the SDLC is
followed by another, from planning
through implementation
6-11
SDLC Phases & Major Activities
6-12
SDLC as a Waterfall
Methodology
6-13
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-14
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-15
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-16
Phase 1: Planning
Sample Project
Plan
6-17
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-18
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-19
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-20
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-21
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-22
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-23
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-24
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-25
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-26
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-27
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-28
Phase 6: Implementation
Choose the right implementation
method
Parallel implementation 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-29
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-30
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
1. Using already-developed components
2. Building new components as needed
6-31
Component-Based
Development Methodologies
Rapid application development (RAD)
Extreme programming (XP)
Agile methodology
6-32
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 systems development
Prototypes are models of software
The development team continually designs,
develops, and tests the component prototypes
until they are finished
6-33
Rapid Application
Development (RAD)
Build new
software
components
Use already-
existing
software
components
6-34
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-35
Agile Methodology
Agile methodology - a form of XP,
aims for customer satisfaction
through early and continuous
delivery of useful software
components
6-36
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
6-37
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-38
Selfsourcing Approach
Is similar 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-39
Selfsourcing Approach
6-40
Selfsourcing Advantages
Improves requirements determination
Increases end user participation and
sense of ownership
Increases speed of development
Reduces invisible backlog
Invisible backlog list of all systems
that an organization needs to develop
but never get funded because of the lack
of organizational resources
6-41
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-42
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-43
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 - prove the
technical feasibility of a proposed system
Selling prototype - used to convince
people of the worth of a proposed system
6-44
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-45
The Prototyping Process
6-46
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-47
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-48
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-49
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-50
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-51
Outsourcing Options
6-52
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-53
Outsourcing Process
When outsourcing, youll develop two vitally
important documents a request for proposal and a
service level agreement
6-54
Outsourcing RFP
Request for proposal (RFP) formal
document that describes in excruciating detail
your logical requirements for a proposed
system and invites outsourcing organizations
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-55
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-56
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-57
Offshore Outsourcing
Primary outsourcing countries are:
India
China
Eastern Europe (including Russia)
Ireland
Israel
Philippines
6-58
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-59
Disadvantages:
Reduces technical know-how for future
innovation
Reduces degree of control
Increases vulnerability of your strategic
information
Increases dependency on other
organizations
The Advantages and
Disadvantages of Outsourcing

Você também pode gostar