You are on page 1of 6

Methodology:

I.

Waterfall Model:

Figure 1: Waterfall methodology

The waterfall model is a model which was developed for software development;
that is to create software. It is called as such because the model develops
systematically from one phase to other in a downward fashion, like a waterfall.
The most probable phases through which it progresses downwards are

Definition Study/Analysis

Basic Design

Technical Design/Detailed Design

Construction

Testing

Integration

Management and

Maintenance.
Before the advent of this method, the software development in the computer
companies suffered from a haphazard integrated software network like cluttered
knitting. However with this method they hoped to bring clarity in their projects.
(WordPress & Atahualpa, 2013)
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.

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.

Poor model for long and ongoing projects.

Not suitable for the projects where requirements are at a moderate to high risk of
changing.

Why this model is not suitable for this project:


Requirement:
It is difficult to track specific requirements as the project has a many client (any
android user).
Time and Effort
Waterfall model is a slow development process. The sequential progress of the
project in waterfall consume more time as developer cannot move to next phase before
completion of the previous phase. Working through sequentially with single person effort
will require lot of time to complete the project with in the deadline.
Coasting
Waterfall model is considered as one of the costly Software Development Life
Cycle (SDLC) model. And as this project is not commercial, cost is crucial factor to
analyze. Thus, to maintain cost to be low, waterfall can be one of the appropriate
methodology.
Other:
The main requirement and features of the project is only apparent at the end of
the project in waterfall model. But, the proposed system is planned to develop with
various initial version that can be produced with each cycle of development phase. Also
with waterfall model, problems are only detected during system testing. Non-functional
requirement are ignored as final product is released late.

II.

Prototyping Model
This type of System Development Method is employed when it is very
difficult to obtain exact requirements from the customer (unlike waterfall model,
where requirements are clear). While making the model, user keeps giving
feedbacks from time to time and based on it, a prototype is made. Completely
built sample model is shown to user and based on his feedback, the SRS
(System Requirements Specifications) document is prepared. After completion of
this, a more accurate SRS is prepared, and now development work can start
using Waterfall Model. (Penna Sparrow, 2013)

Figure 2: Prototyping Model

Advantages of Prototyping Model


When prototype is shown to the user, he gets a proper clarity and 'feel' of
the functionality of the software and he can suggest changes and modifications.
This type of approach of developing the software is used for non-IT-literate
people. They usually are not good at specifying their requirements, nor can tell
properly about what they expect from the software.
When client is not confident about the developer's capabilities, he asks for a
small prototype to be built. Based on this model, he judges capabilities of
developer.
Sometimes it helps to demonstrate the concept to prospective investors to get
funding for project.
Iteration between development team and client provides a very good and
conductive environment during project.
Time required to complete the project after getting final the SRS reduces, since
the developer has a better idea about how he should approach the project.

Disadvantages of Prototyping Model:


Once we get proper requirements from client after showing prototype model, it
may be of no use. So, sometimes we refer to the prototype as "Throw-away"
prototype.
It is a slow process.
Too much involvement of client, is not always preferred by the developer.

Why Prototype Model is not suitable for this project:


Requirements:
The main purpose of prototyping is to track down the requirements where
requirements are not clear. But, by research on different similar system most of the
requirements of the project are already known. So, prototype model can be only waste
of time and effort.
Time and Effort
The time period for the completion of the project is only around six months. With
a single person effort, it is obviously a great risk to meet the deadline with all the
documentation required. And as working through prototype, it always requires more time
to prepare prototypes and is useless in further phase
Coasting:
As prototype requires more time and effort and also more time and more effort
always leads to increase in cost. So, to minimize the cost, prototype is not suitable for
this project.
Other:
More involvement can disturb the flow of the development process. Next to, it
may be impossible to adjust the project to meet non-functional requirements, such as
performance, security, robustness, and reliability requirements, which were ignored
during prototype development.

III.

Incremental Model
The incremental build model is a method of software development where the
model is designed, implemented and tested incrementally (a little more is added each
time) until the product is finished. It involves both development and maintenance. The
product is defined as finished when it satisfies all of its requirements. This model
combines the elements of the waterfall model with the iterative philosophy of
prototyping. (TESTING EXCELLENCE, 2016)

Figure 3: Increment Model

Advantages of Incremental Model


Generates working software quickly and early during the software life cycle.
More flexible less costly to change scope and requirements.
Easier to test and debug during a smaller iteration.
Easier to manage risk because risky pieces are identified and handled during its
iteration.
Each iteration is an easily managed milestone.
Disadvantages of Incremental Model

Each phase of an iteration is rigid and do not overlap each other.


Problems may arise pertaining to system architecture because not all
requirements are gathered up front for the entire software life cycle.

Phase
Requirement Analysis:
In this phase requirements are gathered, feasibility study of the system is done.
Research on different similar system are done which helps on produce System
Requirement Specification (SRS).
Design:
Design activities like data design, conceptual design etc. will be performed in this
phase.
Implementation:
Actual development of the system is done in this phase with number of lines of
code.
Testing:
Unit testing, system testing, prepare test plan, test log etc. are done in this
phase.

Why Incremental Model is appropriate for this project:


The strength and appropriate situations for incremental model are explained
above which reflects all possibilities to work with Incremental Model for this project. With
respect to time, cost and effort, it is very prospective for this project.
The product is decomposed into a number of components, each of which are
designed and built separately (termed as builds). This allows partial utilization of product
and avoids a long development time. It also creates a large initial capital outlay with the
subsequent long wait avoided. This model of development helps ease the traumatic
effect of introducing completely new system all at once.

You might also like