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
Why did the system fail? Why would A real estate group in the federal government cosponsored a data warehouse with the IT department. A formal proposal was written by IT in which costs were estimated at $800.000, the project duration was estimated to be eight months, and the responsibility for 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. Why did the system fail? Why would a company spend money and time on a project and then cancel it? What could have been done to prevent this
No SDLC Advantages Disadvantages Time A clear purpose Lack of proper documentation Hard to handle complex system
With SDLC Advantages Disadvantages Developers know what should and should’nt be built Clear documentation Easier to maintain program Different between what’s written in paper and what’s actually implemented Limits developer’s creativity http://www.learn.geekinterview.com/it/sdlc/sdlc-necessity.html
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 Planning Analysis Design Implementation Each phase is composed of a series of steps, which rely upon techniques that produce deliverables
SDLC Phases (2) Planning Analysis Design Implementation Why build the system? Analysis Who, what, when, where will the system be? Design 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 Analysis Design Implementation Project Plan System Proposal 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 Waterfall Parallel RAD Phased Prototyping Throwaway Prototyping Agile Extreme Programming Scrum Dynamic Systems Development Method
Methodology : Waterfall
Pros Cons Identifies systems requirements long before programming begins Design must be specified on paper 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.