CHAPTER 2
Planning the Project
2.1 Introduction
It is very
important phase in the development of any software. The planning stage
establishes a bird's eye view of the intended software product, and uses this
to establish the basic project structure, evaluate feasibility and risks
associated with the project, and describe appropriate management and technical
approaches. The outputs of the project planning stage are the configuration
management plan, the quality assurance plan, and the project plan and schedule,
with a detailed listing of scheduled activities for the upcoming requirements
stage, and high-level estimates of effort for the out stages.
2.2 Methodology
2.3 Available
Methodologies
Following are the methodologies that are used for software
development.
- Build-and-fix
Model
- Waterfall
Model
- The V
Model
- Rapid
Prototyping Model
- Incremental
Model
- Spiral
Model
Build-and-fix model:
It is unfortunate that many products are developed using
what is known as the build-and-fix model. In this model the product is
constructed without specification or any attempt at design. The developers
simply build a product that is reworked as many times as necessary to satisfy
the client. This model may work for small projects but is totally
unsatisfactory for products of any reasonable size. The cost of build-and fix
is actually far greater than the cost of properly specified and carefully
designed product.
Maintenance of the product can be extremely in the absence
of any documentation.
·
Advantages
Cost efficient for very small projects of limited
complexity.
·
Disadvantages
- Cost
is higher for larger projects.
- Product
will not be delivered on time most of the times.
- Low
quality result will produce.
- No
documentation is produced.
Waterfall Model:
This is the traditional life cycle model. It assumes that
all phases in a software project are carried out sequentially and that each
phase is completed before the next is taken up. It was a great step forward in
software development as an engineering discipline. The figure also depicts the
single-level feedback paths that were not part of the original model but that
have been added to all subsequent improvements of the model; they are described
here. The original waterfall model had little or no feedback between stages,
just as water does not reverse or flow uphill in a cascade but is drawn ever downward
by gravity. This method might work satisfactorily if design requirements could
be perfectly addressed before flowing down to design creation, and if the
design were perfect when program implementation began, and if the code were
perfect before testing began, and if testing guaranteed that no bugs remained
in the code before the users applied it, and of course if the users never
changed their minds about requirements.
Advantages:
- Easy
to understand even by non-technical persons i.e., customers.
- Easy
to use as software development proceeds.
- Each
stage has well defined deliverables or milestones.
Disadvantages
1. The
biggest drawback of Waterfall model is that it does not support iteration.
2. Another
disadvantage of Waterfall model is that it is sequential in nature. One cannot
start with a stage till preceding stage is completed e.g., one cannot start
with the system design till all the requirements are understood and represented.
3. Customer
gets opportunity to review the product very late in life cycle because the
working version of product is available very late in software development life
cycle.
4. The
Waterfall model also has difficulty in accommodating changes in the product
after the development process starts.
5. Amount of documentation produced
is very high.
The V-Model:
This model was developed to relate the analysis and design
activities with the testing activities and thus focuses on verification and
validation activities of the product. As this model relates the analysis and
design phase to testing phase, testing activities are planned early in software
lifecycle. The dotted lines in the figure indicate that the corresponding
phases must be carried out in parallel. As in the case of waterfall model, V
model should be used, when all the requirements of the project are available in
the beginning of the project.
Advantages:
- The
model is simple and easy to use.
- The V
model focuses on testing of all intermediate products, not only the final
software.
- The
model plans for verification and validation activities early in the life
cycle thereby enhancing the probability of building an error free and good
quality product.
Disadvantages:
- The
model does not support iteration of phases and change in requirements
throughout the life cycle.
- The V
model is used for systems in which reliability is very important e.g.,
systems developed to monitor the state of the patients, software used in
radiation therapy machines.
- It
does not take into account risk analysis.
Rapid Prototyping Model:
Rapid prototyping has long been used in the development of
one-off programs, based on the familiar model of the chemical engineer’s pilot
plant. More recently it has been used to prototype larger systems in two
variants—the “throwaway” model and the “operational” model, which is really the
incremental model to be discussed later. This development process produces a
program that performs some essential or perhaps typical set of functions for
the final product. If this technology is completely viable, the prototype may
become the basis of the final product development, but normally it is merely a
vehicle to arrive at a completely secure functional specification.
Advantages:
- Customers
get a chance to see the product early in the life cycle and thus give
necessary feedback.
- New
requirements can be easily accommodated, as there is scope for refinement.
- Requirements
become clearer resulting into an accurate product.
- As
user is involved from the starting of the project, he tends to be more
secure, comfortable and satisfied.
Disadvantages:
- After
seeing an early prototype end users demand the actual system to be
delivered soon.
- End users may not like to
know the difference between a prototype and a well-engineered fully
developed system.
- Developers in a hurry to
build prototypes may end up with sub-optimal solutions.
- If not managed properly, the
iterative process of prototype demonstration and refinement can continue
for long duration.
Incremental Model:
The incremental model recognizes that software development
steps are not discrete.
Instead, Build 0 (a prototype) is improved and functionality
is added until it becomes Build 1, which becomes Build 2, and so on. These
builds are not the versions released to the public but are merely staged
compilations of the developing system at a new level of functionality or
completeness. The incremental model is a variant of the waterfall and rapid
prototyping models. It is intended to deliver an operational-quality system at
each build stage, but it does not yet complete the functional specification.
Advantages:
- As
product is to be delivered in parts, total cost of project is distributed.
- Limited
number of persons can be put on project because work is to be delivered in
parts.
- As
development activities for next release and use of early version of
product is done simultaneously, if found errors can be corrected.
- Customers
or end users get the chance to see the useful functionality early in the
software development life cycle.
- As
functionality is incremented in steps, testing also becomes easy.
- Risk
of failure of a product is decreased as users start using the product
early.
Disadvantages:
- As
product is delivered in parts, total development cost is higher.
- Well
defined interfaces are required to connect modules developed with each
phase.
- The
model requires well defined project planning schedule to distribute the
work properly.
- Testing
of modules also results into overhead and increased cost.
The Spiral Model:
Another evolutionary life cycle model that combines the
linear nature of the Waterfall model and the iterative nature of the
Prototyping model is the spiral model. The project life cycle is divided into
phases, and each phase is executed in all of the iteration of the Spiral Model.
The radial coordinate in the diagram represents the total
costs incurred till date. Each loop of the spiral represents one phase of the
development. The model is divided into four quadrants, each with a specific
purpose. Each spiral represents the progress made in the project. In the first
quadrant, objectives, alternative means to develop product and constraints
imposed on the product are identified. The next quadrant (right upper) deals
with identification of risks and strategies to resolve the risks. The third
bottom right quadrant represents the Waterfall model consisting of activities
like design, detailed design, coding and test. With each phase after customer
evaluates the product, requirements are further refined and so is the product.
It is to be noted that number of loops through the quadrants are not fixed and
vary from project to project.
Spiral model is also termed as process model generator or
Advantages:
- The
model tries to resolve all possible risks involved in the project starting
with the highest risk.
- End
users get a chance to see the product early in life cycle.
- With
each phase as product is refined after customer feedback, the model
ensures a good quality product.
- The model makes use of
techniques like reuse, prototyping and component based design.
Disadvantages:
- The model requires expertise
in risk management and excellent management skills.
- The model is not suitable for
small projects as cost of risk analysis may exceed the actual cost of the
project.
- Different persons involved in
the project may find it complex to use.
1.4
Chosen
Methodology:
VU Process
Model:
Having detailed
knowledge about pros and cons of each model keeping view the nature of our
project the methodology I have adopted is a combination of water fall and
spiral model. Combination is very helpful to complete the project successfully
It is VU process model. In his model each stage of waterfall is preceded by
identification of alternatives and risk analysis and is then followed by
evaluation and planning for next phase .Vu process model is hybrid approach. It
enhances considerable quality of project through documentation of each phase
and minimizes risk by doing risk analysis.
Vu process model
has 4 phases which are as following
1. Gathering and analyzing requirement
& planning
2. Analyzing and design phase
3. Development
4. Final report
2.5 Reason for choosing VU Process
Model:
It derives the benefits of
predictability from the milestone base planning of the waterfall model, as well
as the benefits of feedback and creativity from the spiral model.
ü It
is sequential model with backward repetition.
ü It
is more concise and advanced model then waterfall model because we can go back
at any stage of development which is not allowed in waterfall model.
ü All
the activities are performed in a sequence in VU Process Model.
ü F17-Bikers
Portal is large scalable Project.
ü All
the requirement are well understood from the given software F17-Bikers
Portal Management Requirements are so clear and unambiguous that we have
web application in hang from where we already identify all the functional
requirements and there are very less chances of wrong understanding of
requirements.
ü If
we want to do correction at any stage if we want betterment and repetition
whenever necessary then we can choose VU Process Model.
ü VU
Process Model is heavily dependent on risk analysis and evaluation in each
phase.
ü This
project run for long time.so maintenance required.
ü The
deadline for the given project is good enough. So we can easily choose selected
methodology to work upon.
2.6 Work Plan (Use MS Project to create
Work Plan)
2.3
Project Structure
2.7.1 Team Structure
Group ID: < F1802A85AC >
Student
ID: < BC140401332>
No comments:
Post a Comment