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 Define the traditional systems development life cycle (SDLC) and describe the 7 major phases within it. Compare and contrast the various component-based development methodologies. Describe the selfsourcing process as an alternative to the traditional SDLC. 6-2
STUDENT LEARNING OUTCOMES Discuss the importance of prototyping and prototyping within any systems development methodology 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 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? In systems development, prototyping is used to build a model of a proposed system. How have you used prototyping in your life? 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
INTRODUCTION When developing a new system, you have 3 “who” choices… Insourcing Selfsourcing Outsourcing 6-8
CHAPTER ORGANIZATION Insourcing and the SDLC Learning outcome #1 Component-Based Development Learning outcome #2 Selfsourcing Learning outcome #3 Prototyping Learning outcome #4 Outsourcing Learning outcome #5 6-9
INSOURCING AND THE SDLC Systems development life cycle (SDLC) 7 distinct phases, each with well-defined activities Also called a waterfall methodology 6-10
SDLC Phases & Major Activities 6-11
SDLC as a Waterfall Methodology 6-12
Phase 1: Planning Planning phase Three primary planning activities: Define the system to be developed 6-13
Phase 1: Planning Set the project scope Project scope Scope creep Feature creep Project scope document 6-14
Phase 1: Planning Develop the project plan including tasks, resources, and timeframes Project plan Project manager Project milestones 6-15
Phase 1: Planning Sample Project Plan 6-16
Phase 2: Analysis Analysis phase 6-17
Phase 2: Analysis Two primary analysis activities: Gather the business requirements Business requirements Business requirements address the “why” and “what” of your development activities Joint application development (JAD) 6-18
Phase 2: Analysis Prioritize the requirements Requirements definition document 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 Two primary design activities: Design the technical architecture Technical architecture 6-21
Phase 3: Design Design system models 6-22
Phase 4: Development Development phase Two primary development activities: 6-23
Phase 5: Testing Testing phase Two primary testing activities: Write the test conditions 6-24
Phase 5: Testing Perform the testing of the system 6-25
Phase 6: Implementation Implementation phase Two primary implementation activities Write detailed user documentation 6-26
Phase 6: Implementation Provide training for the system user 6-27
Phase 6: Implementation Choose the right implementation method Parallel implementation Plunge implementation Pilot implementation Phased implementation 6-28
Phase 7: Maintenance Maintenance phase Two primary maintenance activities: 6-29
COMPONENT-BASED DEVELOPMENT The SDLC focuses only on the project at hand Component-based development (CBD) CBD focuses on 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 6-32
Rapid Application Development (RAD) Use already-existing software components Build new software components 6-33
Extreme Programming (XP) 6-34
Agile Methodology Agile methodology 6-35
SoA – An Architecture Perspective Service-oriented architecture (SoA) More in Chapter 7 6-36
SELFSOURCING Selfsourcing (end-user development) 6-37
Selfsourcing Approach Is similar to traditional SDLC 6-38
Selfsourcing Approach 6-39
Selfsourcing Advantages 6-40
Selfsourcing Disadvantages 6-41
The Right Tool for the Job End users must have development tools that: 6-42
PROTOTYPING Prototype Prototyping 6-43
The Prototyping Process The prototyping process involves four steps: 6-44
The Prototyping Process 6-45
Advantages of Prototyping 6-46
Disadvantages of Prototyping 6-47
OUTSOURCING Outsourcing 6-48
OUTSOURCING The main reasons behind the rapid growth of the outsourcing industry include the following: 6-49
Outsourcing Options IT outsourcing for software development can take one of four forms: 6-50
Outsourcing Options 6-51
Outsourcing Process 6-52
Outsourcing Process When outsourcing, you’ll develop two vitally important documents – a request for proposal and a service level agreement 6-53
Outsourcing – RFP Request for proposal (RFP) 6-54
Outsourcing – SLA Service level agreement (SLA) 6-55
Outsourcing Options There are three different forms of outsourcing: 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 6-58
The Advantages and Disadvantages of Outsourcing 6-59