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