1 / 59

Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 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.

litwin
Download Presentation

Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 6SYSTEMS DEVELOPMENTPhases, Tools, and Techniques

  2. 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.

  3. STUDENT LEARNING OUTCOMES • Discuss the importance of prototyping and prototyping within any systems development methodology • Describe the outsourcing environment and how outsourcing works.

  4. 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

  5. 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. 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 personal life? • Outsourcing – going to another company for systems development – is big business. Why would the CDC not want to pursue outsourcing?

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

  8. INTRODUCTION • When developing a new system, you have 3 “who” choices… • Insourcing – IT specialists inside your organization • Selfsourcing – do-it-yourself approach many end users take with little or no help from IT specialists • Outsourcing – a third-party organization (i.e., let someone do the work and pay them for it)

  9. 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

  10. 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

  11. SDLC Phases & Major Activities

  12. SDLC as a Waterfall Methodology

  13. Phase 1: Planning • Planning phase - create a solid plan for developing your information system • Three primary planning activities: • 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

  14. Phase 1: Planning • 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

  15. Phase 1: Planning • 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

  16. Phase 1: Planning Sample Project Plan

  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

  18. Phase 2: Analysis • Two primary analysis activities: • 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

  19. Phase 2: Analysis • 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

  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.

  21. Phase 3: Design • Design phase - build a technical blueprint of how the proposed system will work • Two primary design activities: • Design the technical architecture • Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system

  22. Phase 3: Design • 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

  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: • Build the technical architecture • Build the database and programs • Both of these activities are mostly performed by IT specialists

  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: • Write the test conditions • Test conditions - the detailed steps the system must perform along with the expected results of each step

  25. Phase 5: Testing • 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

  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 • Write detailed user documentation • User documentation - highlights how to use the system

  27. Phase 6: Implementation • 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

  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

  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: • Build a help desk to support the system users • Help desk - a group of people who responds to knowledge workers’ questions • Provide an environment to support system changes

  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 • CBD focuses on • Using already-developed components to build systems quickly • Building new components as needed that can be used in all future systems

  31. Component-Based Development Methodologies • Rapid application development (RAD) • Extreme programming (XP) • Agile methodology

  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 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

  33. Rapid Application Development (RAD) Use already-existing software components Build new software components

  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

  35. Agile Methodology • Agile methodology - a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components

  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 • More in Chapter 7

  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

  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

  39. Selfsourcing Approach

  40. 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

  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

  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

  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 - used to prove the technical feasibility of a proposed system • Selling prototype - used to convince people of the worth of a proposed system

  44. The Prototyping Process • The prototyping process involves four steps: • Identify basic requirements • Develop initial prototype • User review • Revise and enhance the prototype

  45. The Prototyping Process

  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

  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

  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

  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

  50. Outsourcing Options • IT outsourcing for software development can take one of four forms: • Purchase existing software • Purchase existing software and pay the publisher to make certain modifications • Purchase existing software and pay the publisher for the right to make modifications yourself • Outsource the development of an entirely new and unique system for which no software exists

More Related