Introduction to Systems Analysis and Design Objectives Understand the fundamental SDLC and its four phases Understand the evolution of systems development methodologies Be familiar with the different roles on the project team What ? System Development Life Cycle : Process of how an Information System can support business needs, designing the system, building it, and delivering it to users Why ? Facts : A survey by the Standish Group in 1996 found that 42% of all corporate IS project were abandoned before completion A study by the General Accounting in 1996 found that 53% of all US Government IS projects were abandoned. The rest are delivered to the user significantly late, cost far more than planned, and have fewer features than originally planned Major Causes of Project Failure A real estate group in the federal government cosponsored a data warehouse with the IT department. Why didby theITsystem fail? Why A formal proposal was written in which costswould were company spend moneywas and time on estimated at $800.000, athe project duration a project and then cancel it? What estimated to be eight months, and the responsibility for could have been done to prevent this funding was defined as the business unit’s. The IT department proceeded with the project before it even knew if the project had been accepted. The project actually lasted two years because requirements gathering took nine months instead of one and a half,the planned user base grew from 200 to 2.500 and the approval process to buy technology for the project took a year. Three weeks prior to technical delivery, the IT director canceled the project. This failed endeavor cost the organization and taxpayers $2,5 million. No SDLC Advantages Time A clear purpose Disadvantages Lack of proper documentation Hard to handle complex system With SDLC Advantages Developers know what should and should’nt be built Clear documentation Easier to maintain program Disadvantages Different between what’s written in paper and what’s actually implemented Limits developer’s creativity Conclusion Without an SDLC Model to follow, developers can have a free hand of developing software. However, development of these software doesn’t have a clear view and it will never be viable in any business model. As long as the laid out plans of SDLC are followed, the usability and success of the software is ensured. Maintenance and development of the software is also possible since parts could be possibly be reused in different programs. Key Person of SDLC Is the key person in SDLC The goal is not to create a wonderful system, but to create value for organization Have to clearly understand how the system would fit the organization’s goals, current business process, and other information systems to provide values SDLC Phases Analysis Planning Implementation Design Each phase is composed of a series of steps, which rely upon techniques that produce deliverables SDLC Phases (2) Planning Analysis Who, what, when, where will the system be? Design Why build the system? How will the system work? Implementation System delivery Phase 1 : PLANNING Identifying business value Analyze feasibility Develop work plan Staff the project Prepare to control and direct project OUTPUT : Project Plan Phase 2 : ANALYSIS Developing analysis strategy Gathering requirements Combining analyses, system concept, and models OUTPUT : System Proposal Phase 3 : DESIGN Developing design strategy Designing system architecture : hardware, software, network infrastructure, and interface design Developing database and file specifications Building program design OUTPUT : System Specification Phase 4 : IMPLEMENTATION System construction : developing and testing the system System installation Establish a support plan for the system Process Product Planning Project Plan Analysis System Proposal Design Implementation System Specification New System and Maintenance Plan System Development Methodologies What is a methodology ? A formalized approach to implementing the SDLC. Paradigm : Process-centered Data-centered Object oriented Methodology Categorization Structured Design RAD Agile Waterfall Phased Extreme Programming Parallel Prototyping Scrum Throwaway Prototyping Dynamic Systems Development Method Methodology : Waterfall Pros Identifies systems requirements long before programming begins Cons Design must be specified on paper before programming begins Long time between system proposal and delivery of new system Methodology : Parallel Rapid Application Development (RAD) Adjusting the SDLC phases to get some part of the system developed quickly Most RAD-based methodology recommend that analysts use special techniques and computer tools Methodology : Phased Dev. Methodology : Prototyping Methodology : Throwaway Prototyping Agile Development Focus on streamlining the SDLC by eliminating much of the modeling and documentation overhead and time spent on those task. Methodology : XP Methodology : Scrum Methodology : Dynamic System Development Method How to select it ? PROJECT ROLES Project Team Roles References http://en.wikipedia.org/wiki/Systems_Development_ Life_Cycle Dennis, A. 2005. System Analysis and Design with UML version 2.0.