Surasit.com Software Development Life Cycle by A.Surasit Samaisut Copyrights 2009-2010 : All Rights Reserved Introduction to SDLC – Definitions System Development Life Cycle (SDLC) Also know as; Software Development Life Cycle Is a systematic approach to solving business problems Is the process of creating or altering systems, and the models and methodologies that people use to develop these systems Is any logical process used by a systems analyst to develop an information system, including requirements, validation, training, and user ownership Page 2 The Concepts of SDLC The concept generally refers to computer or information systems Basic process of system development from start to finishing the system It is divided into seven phases, each phase has unique activities • Systems Analysis and Design by Kendall and Kendall Page 3 SDLC: Phase 1 – Identifying Identifying Information • To generate a high-level view of the intended project and determine the goals of the project. • Problems: basic problems and technical problems • Opportunities: business plan • Competitors : market share / initiator • Objectives and Goals Page 4 SDLC: Phase 2 – Determining Determining Information Requirements • Interview management, operations personnel • Gather systems/operating documents • Use questionnaires • Observe the system and personnel involved who, what, where, when, why, how Page 5 SDLC: Phase 3 – Analyzing Analyzing system needs • Create data flow diagrams • Document procedural logic for data flow diagram processes • Complete the data dictionary • Make semi structured decisions • Prepare and present the system proposal • Recommend the optimal solution to management Page 6 SDLC: Phase 4 – Designing Designing the recommended system • In systems design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems • Basics – Design the user interface and produce program specifications • Techniques – Design system controls, files and/or database and produce decision trees or tables Page 7 SDLC: Phase 5 – Developing Developing and documenting software • Design computer programs using structure charts, and pseudocode • Walkthrough program design • Write computer programs / coding • Document software with help files, procedure manuals, and Web sites with Frequently Asked Questions Page 8 SDLC: Phase 6 – Testing Testing and Maintaining the system • Test and debug computer programs • Test the computer system • Enhance system Page 9 SDLC: Phase 6 – Types of Testing Types of testing: • Data set testing • Unit testing • System testing • Integration testing • Black box testing • White box testing • Module testing • Regression testing • Automation testing • User acceptance testing Page 10 SDLC: Phase 7 – Evaluating Implementing and Evaluating the system • Plan conversion • Train users • Purchase and install new equipment • Convert files • Install system • Review and evaluate system Page 11 SDLC – The 7 Phases Identifying Determining Analyzing Designing Developing Testing Evaluating Page 12 Strengths of SDLC Control Monitor large projects Detailed steps Evaluate costs and completion targets Documentation Well defined user input Ease of maintenance Development and design standards Tolerates changes in MIS staffing Page 13 Weaknesses of SDLC Increased development time Increased development cost Systems must be defined up front Rigidity / inflexibility Hard to estimate costs, project overruns User input is sometimes limited Page 14 Alternatives to SDLC Rapid Application Development • Refers to a type of software development life cycle which uses minimal planning in favor of rapid prototyping • The lack of extensive pre-planning generally allowed software to be written much faster, and makes it more flexible to change in requirement Waterfall Model • is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the 5 phases Page 15 SDLC – Checkpoint Translating the algorithm into a programming language occurs at the which step of the SDLC? • Developing Phase The make-or-buy decision is associated with the which step in the SDLC? • Designing Phase Testing process is initially perform in which step of SDLC? • Developing Phase Page 16