System Development Life Cycle (SDLC)edit Master subtitle style Click to
what a systems development lifecycle (SDLC)
why it is needed
v Each system is composed of a rigorous set
of tasks which result in well-defined outputs.
v The data, the division of responsibilities
and the interface definitions are required because of the complexity of these systems.
An SDLC has three primary business objectives:
v Ensure the delivery of high quality
v Provide strong management controls v Maximize productivity.
v step wise commitment v cost/benefit analysis. v risk assessment.
v Testing v system installation v evaluating
.2 major activities in SDLC
v Management v Technical
v defining objectives v setting priorities v project tracking and
v change control.
Investigati on Maintenance Implementation & Evaluation Testing Feasibility Study Analysis Design
v Study of current system v Identifying the limitations and/or problems How Current System
your business process 1. What are the benefits System 1. What newwhich you are missing . should do 3. What current v Proposing Scope andcan do system Objectives of new system 2. What else can 2. What you want to system perform achieve with the 4/10/12 new system
existing system With respect to works
3.levels of Information Requirements
Ø Ø Ø
Organization-Level information Requirements Database Requirements Application Level Information Requirements
Ø Social /behavioral Requirements Ø Technical Requirements
.Strategies for Determining Information Requirements
Asking Deriving from an existing information
Synthesizing from characteristics of the
Discovering from experimentation with an
evolving information System.
v Project Type v Project Size v System Type
v Proposing and Checking new System
> Technically feasible 4/10/12 > Operationally feasible
requirements are analyzed
and documented in the form of detailed DFDs.Analysis
v Gathering the data about user requirements
according to the new system
v Functional hierarchy showing the functions to
performed by the new system and their relationship with each other. data dictionary. logical data structures and 4/10/12 Control
v All procedures.
v The data which is gathered in analysis
phases is used in design phase Stages. output and processing specifications
are drawn up in detail.
v Design is a blue print of a computer
system solution to a given problem
v Blue Print is converted into computer
understanding language (i.e Coding is done)
v This is also called the programming
phase in which the programmer converts the specifications into computer instructions
v Testing Steps:v Define Test Criteria v Design Test Cases v Build Test Cases
. a test run of the system is done removing all the bugs.Testing
v Before actually implementing the new
system into operations.
After loading the system.How to execute the package .
v During this phase.Implementation
v After having the user acceptance of the
new system developed.
v Main topics of such type of training are:
. all the programs of the
system are loaded onto the user's computer.How to process the data (processing
.How to enter the data 4/10/12 . training of the users starts. the implementation phase begins.
The review of the system is done for: .knowing the required changes or 4/10/12 the
v It is the review of the system from time
v Maintenance is necessary to eliminate
errors in the system during its working life and to tune the system to any variations in its working environment.knowing the full capabilities of the system .
. database. performance and interfaces.Waterfall Model
Requirements – defines
needed information. interface representations. function. behavior. algorithmic details.
Design – data structures.
software architecture. testing.
Implementation – source
Easy to understand. track)
Works well when quality is more
important than cost or schedule
. easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan.
All requirements must be known upfront Deliverables created for each phase are
considered frozen – inhibits flexibility
Can give a false impression of progress Does not reflect problem-solving nature of
software development – iterations of phases
4/10/12 Integration is one big bang at the end
When to use the Waterfall Model
Requirements are very well known Product definition is stable Technology is understood New version of an existing product Porting an existing product to a new
Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.
. as users have natural tendency to change
their mind in specifying requirements and this method of developing systems supports this user tendency.Advantages of Prototyping
Users are actively involved in the development It provides a better system to users. the
users get a better understanding of the system being developed.
Errors can be detected much earlier as the system is mode side by side.
Since in this methodology a working model of the system is provided. Quicker user feedback is available leading to better solutions.
Leads to implementing and then repairing way of building
. this methodology may increase the complexity
of the system as scope of the system may expand beyond original plans.
The RAD model is a high-speed adaptation of the linear sequential model / Waterfall model.
RAD model that emphasizes on extremely short development cycle (anywhere from 6090 days).
Business Modeling: The information flow among business functions is modeled in a way that answers the following questions:
What information drives the business processes? What information is generated? Who generates it? Where does the information flow? Who processes it?
Data Modeling :The information flow defined as part of the business modeling phase is refined into a set of data objects that are 4/10/12 needed to support the business. The
Reduced cycle time and improved productivity with fewer people
means lower costs
Time-box approach mitigates cost and schedule risk Customer involved throughout the complete cycle minimizes risk of
not achieving customer satisfaction and business needs
Focus moves from documentation to code. Uses modeling concepts to capture information about business. data.
For Large (but scalable) projects.
Not all applications are compatible for RAD. building components for RAD will be problematic. If a system cannot
be properly modularized.
4/10/12 It requires equal commitment from both customers and
RAD not appropriate when technical risks are high. This
normally occurs when a new application makes heavy use of new technology or when the new software requires a high degree of interoperability. RAD requires sufficient
resources to create the right number of RAD teams.
Incremental SDLC Model
Construct a partial
implementation of a total system functionality
Then slowly add increased The incremental model
prioritizes requirements of the system and then implements them in groups. until all designed functionality has been implemented.
Each subsequent release of
. the system adds function to the previous release.
Incremental Model Strengths
Develop high-risk or major functions
Each release delivers an operational
Customer can respond to each build Uses “divide and conquer” breakdown
Lowers initial delivery cost Initial product delivery is faster Customers get important functionality
Incremental Model Weaknesses
Requires good planning and design Requires early definition of a complete and
fully functional system to allow for the definition of increments (some will be developed long before others) lower
Well-defined module interfaces are required
Total cost of the complete system is not
funding. front but are expected to evolve over time market early
Most of the requirements are known upA need to get basic functionality to the On projects which have lengthy
On a project with new technology
. or need for early realization of benefits.When to use the Incremental Model
Risk. schedule. program