You are on page 1of 39

Systems Development and Life

Cycle Model
• System Development Life Cycle (SDLC) is a
systematic and sequential approach to solving
and developing a system.
• The stages are project selection, feasibility,
analysis, Design, implementation, and post
implementation stages.
• The phases of SDLC can be categorized as under:
• (i) Initial or preliminary investigation
• (ii) Feasibility study
• (iii) System requirement determination
• (iv) System design
• (v) Software development
• (vi) System/software testing
• (vii) System implementation
• (viii) Post-implementation and maintenance
Preliminary Investigation
• The first phase of the system development life
cycle is preliminary investigation.
• Deals with finding out ‘what’ the problem is,
recognizing that the problem is the most
important.
• It forms the basis of the entire SDLC.
Aim of the Preliminary Investigation
• (i) Studying the current system thoroughly in detail.
• (ii) Finding the problems/flaws in the current system.
• (iii) Conducting a complete investigation of the problems
faced in the current system.
• (iv) Investigating and analyse the requirement of the
new system.
• (v) Finding out the goals and objectives of the new
system.
• (vi) Checking and seeing if the requirements match with
the objectives of the system.
Feasibility Study
• Based on the conclusions drawn in the
preliminary investigation, a more detailed
feasibility study is carried out.
• The feasibility study encompasses judging
whether the system to be developed would be
feasible, i.e. whether it will prove to be
beneficial to the organization.
• (i) Economic Feasibility/cost benefit analysis.
• (ii) Technical feasibility.
• (iii) Human/ behavioral feasibility.
Economic Feasibility
• It deals with the cost benefit analysis of the
proposed system.
• Economic feasibility determines the total cost of
development of the system, the operating cost, the
cost of the software and hardware, the maintenance
cost, etc.
• If the benefits of the proposed system outweigh the
cost of developing and maintaining the system, then
a go-ahead is given to develop the new system.
Technical Feasibility
• Technical feasibility involves the technology
aspect of the feasibility study.
• It will analyse the current technologies as well
the emerging technologies.
• The study will also involve the software,
hardware and upgrade requirements.
Human Feasibility
• Human feasibility deals with the people of the
organization.
• It studies the acceptability level of the
employees of the organization.
• So, for a new system to be implemented, it is
much better if you study in advance, how the
people in the organization are going to react.
System Requirement Determination
• The systems analyst/business analyst identifies the requirement of
the system.
• This includes the functional and operational processes of existing
systems, the flaws of the existing system as well as the
expectations from the new system.
• This phase results in a Software Requirement Specification (SRS)
document.
• SRS is an agreement between the analyst and the client, which
mentions the requirement from the new system including all
performance and operational requirements.
• The better the SRS, the better the software will meet its
expectations.
A good SRS will have the following features:
• Completeness: The SRS document should contain all the system
requirements.
• Understandability: The requirements should be completely
understood by the clients, user’s analysts and developers.
• Consistency: The requirements should not be contradicting in nature.
• Correctness: The requirements mentioned are the SRS should be
same as the user desires.
• Clarity: The requirements mentioned in SRS should mean the same to
all.
• Modification capability: The SRS document should be made in such a
manner that if there in change is the user requirement, it would
allow the changes without affecting the entire system.
System Design
• System design is the most important phase
before system development.
• It is the blue print of the requirements that
will help in developing the software.
• All the technical specifications are finalized for
the development of the system at this stage.
Software Development
• The design gets converted into the actual system.
• The entire project according to the size is broken into
modules and each module is assigned to separate teams as
per the expertise of programmers in the respective teams.
• The modules developed are made independent so that
they can be executed and tested individually.
• The design specifications are converted into codes
(programs) by the programmers.
• As per the design requirement, it is decided to develop
new programs or modify the existing programs.
System Testing
• To check and see if the system is performing as per the
expectations, system testing is done.
• Software testing finds the errors in software, software
design, etc.
• During software testing, bugs and errors in the
software are detected and removed.
• There is a proper Test-Plan which identifies the type of
test to be performed, the schedules of tests,
guidelines for testing and the resources to be
allocated.
Testing Techniques
Black Box Testing
• This type of testing involves testing the
software for functionality.
• This will involve looking for errors in data
structure, faulty functions, interface errors,
software initialization and termination errors,
etc.
White Box Testing
• The internal structure of the software program
is tested, and errors are detected during white
box testing.
• It involves testing of all logic of the program,
testing of loops, conditional testing and data
flow-based testing.
System Implementation
• The system implementation phase involves
installation of the system, training of the users,
creation of computer files and installation of all
the hardware and software components.
• There are three types of implementations:
• Direct conversion
• Phased conversion
• Parallel conversion
Post-Implementation and Maintenance
• This is the last phase of Software Development Life Cycle (SDLC) and
it is an ongoing phase.
• The maintenance involves activities across all the phases of the
system development life cycle.
• Correcting code, updating documentation, correcting design errors,
making the system more user friendly etc. are some of the activities
involved in system maintenance.
• Maintenance has been classified into four types:
• Corrective maintenance
• Adaptive maintenance
• Perfective maintenance
• Preventive maintenance
Waterfall Model
• It is also referred to as a linear-sequential life cycle
model.
• It is very simple to understand and use.
• In a waterfall model, each phase must be
completed fully before the next phase can begin.
• This type of software development model is
basically used for the for the project which is
small and there are no uncertain requirements.
• In waterfall model phases do not overlap.
The stages of "The Waterfall Model"

• Requirement Analysis & Definition


• System & Software Design
• Implementation & Unit Testing
• Integration & System Testing
• Operations & Maintenance
Advantages of waterfall model
• This model is simple and easy to understand and
use.
• It is easy to manage due to the rigidity of the
model – each phase has specific deliverables and
a review process.
• In this model phases are processed and
completed one at a time. Phases do not overlap.
• Waterfall model works well for smaller projects
where requirements are very well understood.
Disadvantages of waterfall model
• Once an application is in the testing stage, it is very difficult
to go back and change something that was not well-thought
out in the concept stage.
• No working software is produced until late during the life
cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a
moderate to high risk of changing.
Prototype Model
• The prototyping paradigm begins with requirements gathering.
• Rough requirements are identified.
• A "quick design" then occurs.
• The quick design leads to the construction of the prototype.
• The prototype is evaluated by the customer/user and used to
refine requirements for the software to be developed.
• Iteration occurs as the prototype is tuned to satisfy the needs
of the customer.
• The prototype can serve as "the first system. It is then
discarded (at least in part) and the actual software is
engineered with an eye toward quality and maintainability.
Incremental Model
• Evolutionary models are iterative.
• They are characterized in a manner that enables software
engineers to develop increasingly more complete versions of
the software.
• When an incremental model is used, the first increment is
often a core product.
• basic requirements are addressed, but many supplementary
features remain undelivered.
• Next a plan is developed for the next increment.
• This process is repeated following the delivery of each
increment, until the complete product is produced.
• The incremental process model, like prototyping
(Section 2.5) and other evolutionary approaches, is
iterative in nature.
• But unlike prototyping, the incremental model focuses
on the delivery of an operational product with each
increment.
• Incremental development is particularly useful when
staffing is unavailable for a complete implementation
by the business deadline.
• Increments can be planned to manage technical risks.
Spiral Model
• It couples the iterative nature of prototyping
with the controlled and systematic aspects of
the linear sequential model.
• Using the spiral model, software is developed in
a series of incremental releases.
• During early iterations, the incremental release
might be a paper model or prototype. During
later iterations, increasingly more complete
versions of the engineered system are produced.
• A spiral model is divided into a number of framework activities, also called task
regions.
• Customer communication—tasks required to establish effective
communication between developer and customer.
• Planning—tasks required to define resources, timelines, and other project
related information.
• Risk analysis—tasks required to assess both technical and management risks.
• Engineering—tasks required to build one or more representations of the
application.
• Construction and release—tasks required to construct, test, install, and
provide user support (e.g., documentation and training).
• Customer evaluation—tasks required to obtain customer feedback based on
evaluation of the software representations created during the engineering
stage and implemented during the installation stage.
• the software engineering team moves around the
spiral in a clockwise direction, beginning at the center.
• Unlike classical process models that end when
software is delivered, the spiral model can be adapted
to apply throughout the life of the computer
software.
• It demands considerable risk assessment expertise.
• If a major risk is not uncovered and managed,
problems will undoubtedly occur.
RAD MODEL
• Rapid application development (RAD) is an
incremental software development process
model that emphasizes an extremely short
development cycle.
• The RAD model is a “high-speed” adaptation of
the linear sequential model.
• The RAD process enables a development team
to create a “fully functional system” within very
short time periods (e.g., 60 to 90 days).
Phases
• Business modeling. The information flow among business functions is modeled
• Data modeling. The information flow defined as part of the business modeling
phase is refined into a set of data objects that are needed to support the
business
• Process modeling. The data objects defined in the data modeling phase are
transformed to achieve the information flow necessary to implement a business
function.
• Application generation. RAD assumes the use of fourth generation techniques .
Automated tools are used to facilitate construction of the software.
• Testing and turnover. Since the RAD process emphasizes reuse, many of the
program components have already been tested. This reduces overall testing
time. However, new components must be tested and all interfaces must be fully
exercised.

You might also like