Академический Документы
Профессиональный Документы
Культура Документы
Planning
Deployment
Defining
Testing
Designing
Building
Developers have to follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers etc are used to generate
the code. Different high level programming languages such as C, C++, Pascal, Java,
and PHP are used for coding. The programming language is chosen with respect to
the type of software being developed.
Stage 5: Testing the Product:
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However this stage
refers to the testing only stage of the product where products defects are reported,
tracked, fixed and retested, until the product reaches the quality standards defined
in the SRS.
SDLC Models
There are various software development life cycle models defined and designed
which are followed during software development process. These models are also
referred as "Software Development Process Models". Each process model follows
a Series of steps unique to its type, in order to ensure success in process of software
development. Following are the most important and popular SDLC models followed
in the industry:
Waterfall Model
Incremental Model
Spiral Model
V-Model
Rapid Application Model
Agile model
Waterfall Model
This is the most common and classic of life cycle models, also referred to as a linearsequential life cycle model. It is very simple to understand and use. In a waterfall
model, each phase must be completed in its entirety before the next phase can
begin. At the end of each phase, a review takes place to determine if the project is
on the right path and whether or not to continue or discard the project. Unlike what
I mentioned in the general model, phases do not overlap in a waterfall model.
The advantage of waterfall development is that it allows for departmentalization
and control. A schedule can be set with deadlines for each stage of development
and a product can proceed through the development process model phases one by
one. Development moves from concept, through design, implementation, testing,
installation, troubleshooting, and ends up at operation and maintenance. Each
phase of development proceeds in strict order.
The disadvantage of waterfall development is that it does not allow for much
reflection or revision. Once an application is in the testing stage, it is very difficult
to go back and change something that was not well-documented or thought upon
in the concept stage.
Requirement
Design
Implementation
Test
Installation
Maintenance
Incremental Model
The incremental model is an intuitive approach to the waterfall model. Multiple
development cycles take place here, making the life cycle a multi-waterfall cycle.
Cycles are divided up into smaller, more easily managed iterations. Each iteration
passes through the requirements, design, implementation and testing phases.
A working version of software is produced during the first iteration, so you have
working software early on during the software life cycle. Subsequent iterations
build on the initial software produced during the first iteration.
Spiral Model
Spiral model is a combination of iterative development process model and
sequential linear development model i.e. waterfall model with very high emphasis
on risk analysis. It allows for incremental releases of the product, or incremental
refinement through each iteration around the spiral.
Requirements are gathered during the planning phase. In the risk analysis phase, a
process is undertaken to identify risk and alternate solutions. A prototype is
produced at the end of the risk analysis phase.
Software is produced in the engineering phase, along with testing at the end of the
phase. The evaluation phase allows the customer to evaluate the output of the
project to date before the project continues to the next spiral.
In the spiral model, the angular component represents progress, and the radius of
the spiral represents cost.
V Model
Requirements begin the life cycle model just like the waterfall model. Before
development is started, a system test plan is created. The test plan focuses on
meeting the functionality specified in the requirements gathering. The high-level
design phase focuses on system architecture and design. An integration test plan is
created in this phase as well in order to test the pieces of the software systems
ability to work together.
The low-level design phase is where the actual software components are designed,
and unit tests are created in this phase as well.
The implementation phase is, again, where all coding takes place. Once coding is
complete, the path of execution continues up the right side of the V where the test
plans developed earlier are now put to use.
Agile Model
Agile Methods break the product into small incremental builds. These builds are
provided in iterations. Each iteration typically lasts from about one to three weeks.
Every iteration involves cross functional teams working simultaneously on various
areas like planning, requirements analysis, design, coding, unit testing, and
acceptance testing. At the end of the iteration a working product is displayed to the
customer and important stakeholders.
What is Agile?
Agile model believes that every project needs to be handled differently and the
existing methods need to be tailored to best suit the project requirements. In agile
the tasks are divided to time boxes (small time frames) to deliver specific features
for a release. Iterative approach is taken and working software build is delivered
after each iteration. Each build is incremental in terms of features; the final build
holds all the features required by the customer.