Professional Documents
Culture Documents
SAD Task 3
SAD Task 3
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
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.
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.
• 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.
• 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.
Figure 8
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.
Resources with needed skill sets are not available and planned to be used on
contract basis for specific iterations.
ADVANTAGES OF INCREMENT / ITERATIVE MODEL
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.
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
• 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.
A budget is high enough to afford designers for modeling along with the cost
of automated tools which for code generation.
• Easy to manage.
• Very few resources required.
• Very simple model.
• No planning required.
• Good learning aid for new comers.
• Very flexibility.
• 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.
• 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.