You are on page 1of 24

2.

2 SDLC MODELS
There are different System Development Life Cycle Models as following,
 Waterfall Model
 V-Shape Model
 Incremental Model/Iterative Model
 Spiral Model
 Agile Model
 RAD Model
 Big Bang Model

2.2.1. WATERFALL MODEL


Waterfall model was the first process model introduced in 1970 by
Winston Royce. It also known as linear-sequential life cycle model.
This model is very simple to understand and use that was used for
software development. Each Phase is designed for conducting specific
activity during SDLC phase. Each and every phase must complete
before the next phase can begin as well as there is no overlapping in the
phase.

In the waterfall approach, the whole process divided into separate


phases. And the outcome of one phase act as the input for the next
phase sequentially. It means that any phase in the process begin only if
the previous phase is complete.

The Waterfall Model consisted of six phases:


 Requirements
This is the first phase of the model. It
understanding what need to be design and what
are the functions. As well as specification of the
input and output. All the possible requirements
of the system to be developed are gather in this
phase and documented in a requirement
specification document.

 System Design
The requirements specifications which
are gathered in first phase are studied further in
this phase. And system design is prepared. The
software codes to be written in the next phase is
created now. This system design helps to
specifying hardware and requirements and help
to define the whole system architecture.

 Implementation
According to inputs of the system design,
first of all the system developed in small
programs called units. After that units are
integrated in the next phase. Each and every unit
are developed for its functionality.

 Integration and Testing


After the implementation whole system
has to conduct testing. The software designed
and need to go through constant software testing
to find if there are any flaw or errors. The post
integration the entire system is tested for faults or
failures. After testing is done, the client doesn’t
face any problems during the installation of the
system.

 Deployment of system
After the testing completed, the system is deployed
into the customer environment or released for the working
with customers.

 Maintenance
When the system released to the customer
environment, they should have some issues with
new updates. Fix those issues and patches in this
phase. As well as after new version released, fix
that new updated in this phase. Maintenance
done to deliver these changes in the customer
environment and customer is provided with
regular support for the developed software.

WATERFALL MODEL CAN BE USED WHEN,


 Application is not complicated and big.
 Requirements are clear and not changing frequently.
 Project is short.
 Recourses are available and trained.
 Environment is stable.
 Technology and tools used are not dynamic and is stable.

ADVANTAGES OF WATERFALL MODEL

• Suitable for smaller projects where requirements are well defined.


• Simple and easy to understand.
• Phases are processed and completed one at a time.
• Before the next phase of development, each phase must be completed.
• Each phase has specific deliverables and a review process.
• Clearly defined stages and easy to arrange tasks.
• Process and results are well documented.
• Any changed in software is made during the process of development.

DISADVANTAGES OF WATERFALL MODEL

• Errors can fix only during the phase.


• No working software is produced until late during the life cycle.
• Poor model for long, ongoing, complex and object oriented projects.
• Risk and uncertainty is high with this model.
• Difficult to measure progress with stages.
• Cannot accommodate changing requirements.
• Difficult to estimate time and cost for each phases.
• Documentation occupies a lot of time of developers and testers.
• Clients’ valuable feedback cannot be included with ongoing development
phase.
Figure 7

2.2.2. V SHAPE MODEL


This model is very similar to waterfall model also known as
verification and validation model, and focus on the execution of process
in a sequential manner. This model with more importance placed in
testing and testing procedures are written even before the
commencement of writing codes. This mean every single phase in the
development cycle, there is directly associated testing phase. As well as
this is a highly disciplined model. The next phase starts only after
completion of the previous phase.

The V shaped Model consisted of eight phases:


• Requirement Analysis
This is the first of the development cycle. In this phase seek the
product requirements and understood from the customer’s perspective.
This involves detailed communication with customers and get their
expectations for the requirements. This is very important fact and need
to be prepared the document called ‘User Requirements Document’
include the functional interface, performance, data, security and other
requirements.

• System Design
In this phase system developers understand the business of the
proposed system by studying the requirements document. The system
design has understanding and detailing the complete hardware and
communication setup for the product under the development. Here the
developer figures out possibilities and techniques which based on user
requirements can be implemented.

• Architecture Design
This phase called as high level design and this phase focus and
understood on system architecture and design. It provides the developer
to overview of solution, platform and products. When the system
design broken down further into models taking up different
functionalities. Usually more than one technical approach is proposed
on the financial feasibility the final decision is taken.
• Module Design
Module design also called as low level design and in this phase
the actual software components are designed. Here, defines the actual
logic for each components of the system. The important thing is that the
design is compatible with the other modules in the system architecture
and other external systems. When the designed system broken up into
smaller units, so that the programmer can start coding directly.

• Coding Phase
In this phase the best suitable programming language is decided
based on the system and architectural requirements. The actual coding
of system modules designed in the design phase is taken up in the
coding in this phase. The cording based on coding guideline and
standards.

• Unit Testing
Unit test is the testing at code level and it helps to eliminate
bugs at an early stage, though all defects cannot be uncovered by unit
testing. This phase verified that the smallest entity can function
correctly when isolated from rest of the codes.

• Integration Testing
This phase associate with the architectural design phase. This phase
performed to test the coexistence and communication of the internal modules
within the system.

• System & Acceptance Testing


System testing ensure that expectation from application are met
and directly associated with design phase. The whole system is tested
for its functionality, interdependency and communication. Acceptance
testing is associate with the business requirement analysis phase and it
involved the testing the product environment. As well as in acceptance
testing verifies that delivered system meets user’s requirement and
system is ready for use in real time.
V SHAPED MODEL CAN BE USED WHEN,
 Product definition is stable.
 Technology is not dynamic and well understood by the project & developed
team.
 Requirements are well defined, clearly documented and fixed.
 There are no undefined requirements.
 The project is short.

ADVANTAGES OF V SHAPED MODEL

• Work well for smaller projects which requirements are very well understood.
• Simple and easy to understand.
• Highly disciplined model and phases are completed one at a time.
• Each phase has specific deliverables and a review process.
• Saves a lot of time and testing activities like planning.
• Easy to manage due to the rigidity of the model.

DISADVANTAGES OF V SHAPED MODEL

• Not a good model for complex and object oriented projects.


• Poor model for long and ongoing projects.
• High risk, uncertainly and expensive.
• Once an application is in the testing, it’s difficult to go to back and change
functionality.
• Not suitable for the projects which requirements are at a moderate to high
risk of changing.

• No working software is produced until late during the life cycle.

Figure 8

2.2.3. INCREMENTAL / ITERATIVE MODEL


Incremental / Iterative model is a combination of both iterative
design and incremental build for development. In this model the
process start with a simple implementation. The software requirements
and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed. Incremental
development is done in steps from analysis design, implementation,
testing and maintenance. Each subsequent release of the modules add
functions to previous release.

Iterative life cycle model doesn’t attempt to start with full specification
of requirements. Instead of it development begins by specifying and
implementing just part of the software which reviewed to identifier
further requirements. Each iteration design modification are made and
new functional capabilities are added. The basic idea is this method is
to develop a system through repeated cycles and in smaller portions at a
time.

INCREMENT / ITERATIVE MODEL CAN BE USED WHEN,


 Requirements of the completed system are clearly defined and understood.
The major requirements must be defined.

 Software engineering team are not very well skilled or trained.


 Demand for an early release of a product arises.
 High risk features and goals are involved and goals which may change in
future.
 A new technology is being used and learnt by the development team while
working on the project.

 Resources with needed skill sets are not available and planned to be used on
contract basis for specific iterations.
ADVANTAGES OF INCREMENT / ITERATIVE MODEL

• Results are obtained early and periodically.


• Progress can be measured.
• Working functionality can be developed quickly in the life cycle.
• Parallel development can be planed.
• Testing and debugging during smaller iteration is easy.
• Risks are identified and resolved during iteration and easy to manage risk.
• More flexible and less costly to change scope and requirements.

DISADVANTAGES OF INCREMENT / ITERATIVE MODEL

• Need good planning and design at every step.


• Need clear and complete definition of the whole system before it can be
broken down and build incrementally.

• Total cost higher than waterfall model.


• More management attention and resources are required.
• System architecture or design issues may arise.
• Not suitable for smaller projects and highly skilled resources need for risk
analysis.

Figure 9
2.2.4. SPIRAL MODEL
Spiral model is the combination of the waterfall model and
iterative model. This model takes high emphasis on risk analysis which
mentioned by Barry Boehm in 1986. This model is the best model, used
for large project which involves continuous enhancements. Spiral
model allows incremental releases of the products or incremental
refinements through iteration around the spiral. There are four phases in
spiral model,

• Identification / Planning
This phase includes estimate the cost, schedule
and resources for the spirals. And also requirements are
studied and gathered in this phase. As well as involves
understanding the system requirements by continuous
communication between the customer and the system
analyst.

• Risk Analysis
This phase includes identifying, estimating and
monitoring technical feasibility and management risk
such as schedule slippage. As well as identification of
potential risk is done while risk mitigation strategy is
planned and finalized.

• Engineering
This phase includes coding, deploying and
testing the software at the customer site. This phase
refers production of the actual software product at every
spiral. A proof of the concept is developed in this phase
to get customer feedback.

• Evaluation
In this phase identifying and monitoring risks
such as slippage and cost overrun, evaluation of software
by the customer. After testing the build, the customer
evaluates the product and provides feedback at the first.

SPIRAL MODEL CAN BE USED WHEN,


 For high risk, medium and big projects.
 Requirements are complex
 If frequent changes required in the project  Users are unsure of their needs.

 Creation of a prototype is applicable.

ADVANTAGES OF SPIRAL MODEL

• Development can be divide smaller and riskier parts.


• Development is fast and features are added in a systemic way.
• Cost estimating become easy.
• Allows extensive use of prototypes.
• Changing requirements can be accommodated.
• There is always a space for customer feedback.
• Additional functionality or changes can be done at a later stage.

DISADVANTAGES OF SPIRAL MODEL

• Management and process is more complex.


• End of the project may not be known early  May go on indefinitely.

• Not suitable for small and low risky projects.


• Documentation is more as it has intermediate phases.
• Requires expert people for risk assessment.

Figure 10
2.2.5. AGILE MODEL
Agile model is combination of iterative and incremental models
with focus on adaptability and customer satisfaction by rapid delivery
of software product. In this method, the product break into small
incremental builds and it provides in iterations. Agile model starts early
in the software development and become popular due to its flexibility
and adaptability. Each and every iteration typically lasts from about one
to few weeks and involves cross functional teams working
simultaneously on various area such as,

• Planning
• Requirement Analysis
• Design
• Coding
• Unit Testing
• Accepting Testing

AGILE MODEL CAN BE USED WHEN,


 New changes are needed to be implemented.
 The limited planning is required to get started with the project.
 The implement new feature the developers need to lose on the work
of a few days.
 Having options gives ability to leave important decisions until data
hosting programs are available.
 Interact individual and team over process and tools.
 Need customer collaboration over contract negotiation.
 Respond to change over following a plan.

ADVANTAGES OF AGIL MODEL

• Promotes teamwork and cross training.


• Customer satisfaction by rapid, continuous delivery of useful software.
• Good model for environments that change steadily.
• Suitable for fixed or changing requirements.
• Very realistic approach to software development.
• Documentation easily employed.
• Gives flexibility for developers and easy to manage.

DISADVANTAGES OF AGIL MODEL

• Not suitable for handling complex dependencies.


• More risk of sustainability, maintainability and extensibility.
• Depends on heavily on customer interaction.
• There is a very high individual dependency.
• Transfer of technology to new team members may be quite challenging due
to lack of documentation.

• Only senior programmers are capable of taking the kind of decisions required
during the development process.
Figure 11
2.2.6. RAD MODEL
RAD means Rapid Application Development. This model based on
prototyping and iterative development with no specific planning
involved. As well as the process of this model is an adaptation of the
waterfall model. This model target at developing software in a short
span of time. In this model the components or functions are developed
in parallel as if they are mini project or prototype and integrated to
make the complete product for faster product delivery. RAD model
focus on gathering customer requirements through workshops or focus
group. This can quickly give to the customer and provide feedback
regarding the delivery and their requirements. The most important
aspect of this model is that, to be successful is make sure that
prototypes developed are reusable. There are five phases in RAD
model,

• Business Modeling
A complete business analysis is performed to find the vital
information. This model for the product is designed. The information
flow is identified between various business functions. And also
performed hoe it can be obtained.

• Data Modeling
The information gathered in this phase is reviewed and analyzed
to form set of data objects vital for the business. The relationship
between data objected and established as well as define in details in
relevance to the business model. The attributes of data sets are defined
and identified.

• Process Modeling
Any changes or enhancements to the data objects sets are
defined in this phase. The defined data objects are converted to achieve
the business information flow to achieve some specific business
objective. Process description given by data object are adding, deleting,
retrieving, and modifying.

• Application Generation
The actual system is built in this phase. The coding is done by using
automation tools to convert process and data models into actual prototypes.

• Testing and Turnover


In this phase the data flow and interface between all the
components, needs to test with complete test coverage. So overall
testing time reduce in the model as the prototype are independently
tested during every iteration. So most of the programming components
have already been tested and it help to reduce the risk of any major
issues.

RAD MODEL CAN BE USED WHEN,


 System need to be produced in a short span of time.
 The use will be involved all through the life cycle.
 Requirements are known and risk is less.
 A system can be modularized to be delivered in an incremental manner in 2-3
months of time.

 A budget is high enough to afford designers for modeling along with the cost
of automated tools which for code generation.

ADVANTAGES OF RAD MODEL


• Flexible and adaptable to change.
• Progress can be measured.
• Iteration time can be short.
• Reduce the develop time.
• Increase reusability of components.  Encourage the customer feedback

• Quick initial reviews are occurring.


• Productivity with fewer people in a short time.
• Reduce the risk of overall the project.

DISADVANTAGES OF RAD MODEL

• Requires highly skilled developers and designers.


• High dependency on modeling skills.
• Management complexity is more.
• Suitable for system which component based and scalable.
• High dependency on modeling skills.
• Management complexity is more
• Suitable for project requiring shorter development times.
Figure 12

2.2.7 BIG BANG MODEL

The Big Bang Model doesn’t follow any particular process.


There is only little formal development process and entire attempt is
spent on coding and software developing. The development begins with
the required money and efforts such as input and output of the
developing software. So it requires a little planning. This model
comprises of focusing all the possible resources in coding. According to
developer’s wish, the requirements are understood and implemented.
And also this model is very suitable for small projects with one or two
developers are working together. Very useful for academic or practice
projects. As well as this model is a very high risk model because
misunderstood requires may lead to failure.

ADVANTAGES OF BIGBANG MODEL

• Easy to manage.
• Very few resources required.
• Very simple model.
• No planning required.
• Good learning aid for new comers.
• Very flexibility.

DISADVANTAGES OF BIGBANG MODEL

• Not good for complex and object oriented projects.


• Uncertainty and very high risk.
• Poor model for long and ongoing projects.
• Potentially expensive.
• Developer can turn out to be very expensive if requirements are
misunderstood.

2.3 SDLC MODEL FOR PROPOSED SYSTEM


According to the online time management system scenario the
waterfall model can be proposed as the software development method.
After study the functions and behaviors of the waterfall model can use
when the requirements are clear and not changing frequently. Not only
this point but also it can use when the project is short and not
complicated. When the resources are trained and available, there is a
capability of using this model. When it comes to advantages of
waterfall model, it is very suitable for smaller projects which the
requirements are well defined. And it is very simple to understand the
function in the model. The phases of the waterfall model are processed
on at a time. So each and every phases must complete before the next
phase of the development. And also each and every phase has specific
deliverables and a review process. The stages of waterfall model are
clearly defined and easy to arrange tasks. And there are well
documented process & results. The most important fact is that any
changes during the process of development. According the facts that
mentioned above, the waterfall model can select for the proposed
system to the organization.

• Requirements
Gather the inputs for the system such as Employee
details, Meeting room details, Reservation details etc.

• System Design
After gathering requirements whole system is going to design
in this phase.
In here ER Diagram, Context Diagram, DFD Diagrams,
Class Diagram, Sequence Diagram and Use Case
Diagram are designed by the analyzer for the get clear
idea the functions of the system. After design the
diagrams mentioned above, the developer starts the
coding for the system by referencing the drawn
diagrams.
• Implementation
After the coding the system the developer implements the
whole system by partially.

• Integration and Testing


After the implement the whole system, the developer test
whole system in partially for the errors and failures of the
system.

• Deployment of system
After testing whole system is confirmed that it is
free of errors, the developer releases the developed
system for working with employees and customers of
organization.

• Maintenance
When release the system for the organization’s
use, if there any issues with new update it will help fix
those issues and patches during the maintenance. For
this function the customer and organization environment
is provided with regular support for the maintenance.

You might also like