CHAPTER 11CHAPTER ELEVEN OVERVIEWSECTION 11.1LEARNING OUTCOMESSlide 5DEVLOPING SOFTWAREDEVELOPING SOFTWARETHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Slide 9THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC))Slide 11Slide 12SOFTWARE DEVELOPMENT METHODOLOGIESWaterfall MethodologyRapid Application Development Methodology (RAD)Slide 16Extreme Programming MethodologyAgile MethodologyDEVELOPING SUCCESSFUL SOFTWAREOPENING CASE QUESTIONS HP’s Software ProblemsSECTION 11.2Slide 22Slide 23SDLCSlide 25PHASE 1: PLANNINGIdentify and Select the System for DevelopmentSlide 28Assess Project FeasibilityDevelop the Project PlanPHASE 2: ANALYSISGather Business RequirementsSlide 33Create Process DiagramsSlide 35Perform a Buy vs. Build AnalysisSlide 37Slide 38PHASE 3: DESIGNDesign the IT InfrastructureDesign System ModelsSlide 42PHASE 4: DEVELOPMENTPHASE 5: TESTINGWrite the Test ConditionsPerform the System TestingPHASE 6: IMPLEMENTATIONWrite Detailed User DocumentationDetermine Implementation MethodProvide Training for the System UsersPHASE 7: MAINTENANCEBuild a Help Desk to Support the System UsersPerform System MaintenanceSupport System ChangesSOFTWARE PROBLEMS ARE BUSINESS PROBLEMSSlide 56Slide 57CLOSING CASE ONE Denver International AirportCLOSING CASE TWO Reducing AmbiguityCLOSING CASE THREE Gearing Up at REISlide 61McGraw-Hill/Irwin©2008 The McGraw-Hill Companies, All Rights ReservedCHAPTER 11CHAPTER 11SYSTEMS DEVELOPMENTSYSTEMS DEVELOPMENT11-2CHAPTER ELEVEN OVERVIEW•SECTION 11.1 – DEVELOPING ENTERPRISE APPLICATIONS–Developing Software–The Systems Development Life Cycle–Software Development Methodologies–Developing Successful Software•SECTION 11.2 – THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)–Systems Development Life Cycle–Phase 1: Planning–Phase 2: Analysis–Phase 3: Design–Phase 4: Development–Phase 5: Testing–Phase 6: Implementation–Phase 7: Maintenance–Software Problems are Business ProblemsMcGraw-Hill/Irwin©2008 The McGraw-Hill Companies, All Rights ReservedSECTION 11.1SECTION 11.1DEVELOPING ENTERPRISE APPLICATIONSDEVELOPING ENTERPRISE APPLICATIONS11-4LEARNING OUTCOMES1. Identify the business benefits associated with successful software development2. Describe the seven phases of the systems development life cycle11-5LEARNING OUTCOMES3. Summarize the different software development methodologies4. Define the relationship between the systems development life cycle and software development5. Compare the waterfall methodology and the agile methodology11-6DEVLOPING SOFTWARE•Software that is built correctly can transform as the organization and its business transforms•Software that effectively meets employee needs will help an organization become more productive and enhance decision making•Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail11-7DEVELOPING SOFTWARE•As organizations’ reliance on software grows, so do the business-related consequences of software successes and failures including:–Increase or decrease revenue–Repair or damage to brand reputation–Prevent or incur liabilities–Increase or decrease productivity11-8THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)•Systems development life cycle (SDLC) – the overall process for developing information systems from planning and analysis through implementation and maintenance11-9THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)1. Planning phase – involves establishing a high-level plan of the intended project and determining project goals2. Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system•Business requirement – detailed set of business requests that the system must meet in order to be successful11-10THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC))3. Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation4. Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system11-11THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)5. Testing phase – involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability and verify that the system meets all of the business requirements defined in the analysis phase6. Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system11-12THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)7. Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals11-13SOFTWARE DEVELOPMENT METHODOLOGIES•There are a number of different software development methodologies including:–Waterfall–Rapid application development (RAD)–Extreme programming–Agile11-14Waterfall Methodology•Waterfall methodology – a sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance11-15Rapid Application Development Methodology (RAD)•Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process•The prototype is an essential part of the analysis phase when using a RAD methodology–Prototype – a smaller-scale representation or working model of the users’ requirements or a proposed design for an information system11-16Rapid Application Development Methodology (RAD)11-17Extreme Programming Methodology•Extreme programming (XP) methodology – breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete11-18Agile Methodology•Agile methodology – a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components–Agile is similar to XP but with less focus on team coding and more on limiting project scope–An agile project sets a minimum number of requirements and turns them into a deliverable product11-19DEVELOPING SUCCESSFUL SOFTWARE•Primary principles for successful agile software development include:–Slash the budget–If it doesn’t work, kill it–Keep
View Full Document