Systems Development Phases, Tools, and Techniques Chapter 6.
Chapter 6 Systems Development: Phases, Tools, and Techniques .
-
Upload
lilian-melton -
Category
Documents
-
view
225 -
download
0
Transcript of Chapter 6 Systems Development: Phases, Tools, and Techniques .
Chapter 6Systems Development: Phases, Tools, and Techniques
www.ePowerPoint.com
STUDENT LEARNING OUTCOMES1. 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 OUTCOMES4. Discuss the importance of prototyping and
prototyping within any systems development methodology
5. Describe the outsourcing environment and how outsourcing works.
6-3
www.ePowerPoint.com
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 DEVELOPMENT1. 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 company’s strategies and goals
New systems are created because employees request them
New systems are created to obtain a competitive advantage
6-7
www.ePowerPoint.com
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
www.ePowerPoint.com
CHAPTER ORGANIZATION
1. Insourcing and the SDLC Learning outcome #1
2. Component-Based Development Learning outcome #2
3. Self sourcing 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 can’t build every system, so you make choices based on your organization’s priorities, which may be expressed as critical success factors
Critical success factor (CSF) - a factor simply critical to your organization’s 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
www.ePowerPoint.com
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 Sample Project PlanPlan
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
www.ePowerPoint.com
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 can’t do everything, so prioritizing is important
Users sign off on this document which clearly sets the scope for the project
6-19
www.ePowerPoint.com
Phase 2: Analysis
Take time during analysis to get the business requirements correct. If you find 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 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.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
www.ePowerPoint.com
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 activities1. 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
www.ePowerPoint.com
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-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 on1. 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
www.ePowerPoint.com
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 Build new software software
componentscomponents
Use already-Use already-existing existing software software
componentscomponents
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
Agile methodology - a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components
6-35
www.ePowerPoint.com
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
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-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-42www.ePowerPoint.com
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
www.ePowerPoint.com
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-52www.ePowerPoint.com
Outsourcing Process
When outsourcing, you’ll develop two vitally When outsourcing, you’ll develop two vitally important documents – a request for proposal and a important documents – a request for proposal and a
service level agreementservice 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 you’re 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
www.ePowerPoint.com
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