Académique Documents
Professionnel Documents
Culture Documents
1) WATERFALL MODEL
ADVANTAGES::
1)This model is simple and easy to understand, to implement, and use.
2)It avoids overlapping of phases because each phase is completed at once.
3)All the requirements are known at the beginning of the project, hence it is easy
to manage.
4)This model works for small projects where the requirements are easily
understood.
5)every phase has a defined result and process review.
6)Development stages go one by one.
7)Works well when quality is more important then cost/schedule.
8)Customers/End users already know about it.
DISADVANTAGES::
1)Important things is to gather all possible requirements during the first phase
of requirements collection and analysis. If not all requirements are obtained at
once the subsequent phases will suffer from it.Reality is that only a part of the
requirements is known at the beginning and a certain percentage will be gathered
during the complete development time.
2)The software is ready only after the last stage is over.
3)not much suitable for the long-term projects.
4)The progress of the stage is hard to measure while it is still in the
development.
5)In this,the changes are not permitted so it is not fit for moderate to high risk
changes in project.
6)The problems with this model are uncovered, until the software testing.
7)The amount of risk is high.
2) SPIRAL MODEL
1)The spiral model is same as to the incremental model, with more highlighting
on risk analysis.
2)The model is divided in four phases: Planning, Risk Analysis, Engineering and
Evaluation
3)It looks like a spiral with many loops.
4)The exact number of loops of the spiral is unknown and can vary from project to
project.
5)Each loop of the spiral is called a Phase of the software development process.
6)Every phase in the Spiral model is start with a design goal and ends with the
client review.
7)Planning phase:This phase collects the requirements for continuous communication
between the customer and system analyst.
It involves estimating the cost and resources for the iteration.
8)Risk Analysis:This phase identifies the risk and provides the alternate
solutions if the risk is found.
9)Engineering phase: In this phase, actual development i.e coding of the software
is completed. Testing is completed at the
end of the phase.
10)Evaluation phase : in this, software gets evaluated by the customers. They
provide the feedback before the project continues
to the next spiral.
ADVANTAGES::
1)It is good for large and critical projects.
2)It reduces high amount of risk.
3)Change requests in the Requirements at later phase can be done accurately by
using this model.
4)Customer can see the development of the product at the early phase of the
software development.
5)Development can be divided in to smaller parts and more risky parts can
be developed earlier which helps better risk management.
DISADVANTAGES:
1)Spiral Model is not suitable for small projects as it is expensive.
2)As the number of phases is unknown at the start of the project, so time
estimation is very difficult.
3)The Spiral Model is much more complex than other SDLC models.
4)It can be costly to develop a software model.
5)Big number of the intermediate stages requires excessive documentation.
3) V-MODEL
ADVANTAGES::
1)Simple and easy to understand and use.
2)V-Model is used for small projects where project requirements are clear.
3)Many testing activities i.e planning, test design are executed in the starting
and hence it saves more time.
4)Calculation of errors is done at the starting of the project hence, less
chances of error occurred at final phase of testing.
5)Every stage of V-shaped model has strict results so it’s easy to contrl.
DISADVANTAGES::
1)Lack of the flexibility.
2)V-model is not suitable for large and composite projects.
3)If the requirements are not constant then this model is not acceptable.
4)High risk and uncertainty.
5)It is not a good for complex and object-oriented projects.
4) INCREMENTAL MODEL
1)The incremental model combines the elements of waterfall model and they are
applied in an iterative fashion.
2)The first increment in this model is generally a core product.
3)In thhis model,each increment builds the product and submits it to the customer
for suggesting any modifications.
4)The next increment implements the customer's suggestions and add additional
requirements in the previous increment.
5)This process is repeated until the product is completed.
6)The phases of Incremental model:
Communication : The software development starts with the communication between
customer and developer.
7)Planning: It consists of complete estimation, scheduling for project
development.
8)Modeling: It consists of complete requirement analysis and the design of the
project like algorithm, flowchart etc.
9)Construction:Construction consists of code generation and the testing
part.Testing is to check whether the flow of coding
is correct or not.
10)Deployment: Deployment step consists of delivering the product to the customer
and taking feedback from them.
ADVANTAGES:
1)Uses divide and conquer for breakdown of tasks.
2)Lowers initial delivery cost.
3)Incremental Resource Deployment.
4)This model is flexible because the cost of development is low and initial
product delivery is faster.
5)It is easier to test and debug in the smaller iteration.
6)Error Reduction.
DISADVANTAGES::
1)Requires good planning and design.
2)Well defined module interfaces are required.
3)Total cost is not lower.The cost of the final product may cross the cost
initially estimated.
4)The demands of customer for the additional functionalities after every increment
causes problem in the system architecture.
5) ITERATIVE MODEL
1)n Iterative model, the large application of software development is divided into
smaller chunks and smaller parts of software
which can be reviewed to recognize further requirements are implemented.
2)It generates a new version of the software in each cycle of a model.
3)With every iteration, development module goes through the phases
4) Phases are: requirement, design, implementation and testing.
5)The Iterative model does not need the full list of requirements before the
project starts.
6)The process is repetitive, allowing to make new versions of the product for
every cycle.
7) It applies the parallel development.
ADVANTAGES:
1)The paralleled development can be applied.
2)Produces working software rapidly and early in the software life cycle.
3)This model is easy to test and debug in a smaller iteration.
4)It is less costly to change scope and requirements.
5)Flexibility and readiness to the changes in the requirements.
6)It is easier to control the risks as high-risk tasks are completed first.
DISADVANTAGES:
1)Iterative model requires more resources than the waterfall model.
2)The process is difficult to manage.
3)The system architecture is costly.
4)The risks may not be completely determined even at the final stage of the
project.
5)Constant management is required.
6) Agile Model
ADVANTAGES::
1)Project is divided by short and transparent iterations
2)Fast release of the first product version.
3)Customers are satisfied because of quick and continuous delivery of useful
software.
4)Face to face interaction between the customers, developers and testers and it is
best form of communication.
5)Even the late changes in the requirement can be incorporated in the software.
DISADVANTAGES::
1)The team should be highly professional and client-oriented.
2)Documentation is less, so the transfer of technology to the new team members is
challenging.
3)It is totally depends on customer interaction. If the customer is not clear with
their requirements, the development team
can go in the wrong direction.
4)With all the corrections and changes there is possibility that the project will
exceed expected time.
1)The RAD model is an adaptation of the classical model for achieving rapid
development using component based construction.
2)RAD is a Rapid Application Development model.
3)Using the RAD model, software product is developed in a short period of time.
4)The initial activity starts with the communication between customer and
developer.
5)Planning is more important to work together on different modules.
6)If requirements are well understood with a well constrained project scope,the
RAD process enables delivery of the
fully function system.
7) The development are time boxed,delivered and then bring together into a working
prototype.
ADVANTAGES::
1)Changing requirements can be accommodated.
2)Progress can be measured.
3)Time to deliver is less.
4)Cycle time can be short with use of powerful RAD tools.
5)This model is flexible, if any changes are required.
6)Reviews are taken from the clients at the staring of the development hence there
are lesser chances to miss the requirements.
DISADVANTAGES::
1)The feedback from the user is required at every development phase.
2)This model is not a good choice for long term and large projects.
3)The absence of reusable components can lead to failure of the project.
4)Customer involvement is required throughout the life cycle.
8) Prototype Model
ADVANTAGES::
1)Users are actively involved in development process.
2)The development process is the best platform to understand the system by the
user.
3)Error detection takes place in this model.
4)It gives quick user feedback for better solutions.
5)It identifies the missing functionality easily. It also identifies the confusing
or difficult functions.
DISADVANTAGES::
1)The client involvement is more and it is not always considered by the developer.
2)It is a slow process because it takes more time for development.
3)Many changes can disturb the rhythm of the development team.
4)It is a throw away prototype when the users are confused with it.
9) Big-Bang Model
ADVANTAGES::
1)Big-Bang model is a simple model.
2)It needs little planning.
3)It is simple to manage. It needs just a few resources to be developed.
4)It is useful for students and new comers.
DISADVANTAGES::
1)It is a very high risk model.
2)This model is not suitable for object oriented and complex projects.
3)Big-Bang is poor model for lengthy and in-progress projects.
1)Code and fix model is one step ahead from the Big-Bang model.
2)It identifies the product that must be tested before release.
3)The testing team find the bugs then sends the software back for fixing.
4)To deliver the fixes developers complete some coding and send the software again
for testing. T
5)This process is repeated till the bugs are found in it.
ADVANTAGES::
1)This model is suitable for small projects.
2)It needs less project planning.
3)Signs of progress (code) early.
DISADVANTAGES::
1)It is difficult to accommodate changes.
2)It is not clear what will be delivered and when.
3)It is difficult to assess quality.
1)The formal methods model encompasses a set of activities that leads to formal
mathematical Specification of computer software.
2)When formal methods are used during development,they provide a mechanism for
eliminating many of the problem that are difficult
to overcome using other software engineering cardiogram.
3)The development of formal models is currently quite time consuming and
expensive.
4)Formal methods usually have a founded mathematic basis.
5)Formal specification is expressed in a language whose syntax and semantics are
formally defined.
6)
ADVANTAGES::
1)Discovers ambiguity, incompleteness, and inconsistency in the software.
2)Incrementally grows in effective solution after each iteration.
3)Offers defect-free software.
4)This model does not involve high complexity rate.
DISADVANTAGES::
1)Time consuming and expensive.
2)Difficult to use this model as a communication mechanism for non technical
personnel.
3)Extensive training is required since only few developers have the essential
knowledge to implement this model.
ADVANTAGES::
1)It is openly published, distributed and supported.
2)a complete methodology to manufacture software.
3)process with complement document facility.
4)supports changing requirements to meet its desired software.
5)supports iteration process so we can integrate the code in development life
cycle in lesser time and effort spent in integration
6)debugging is very easy due to component base architecture.
DISADVANTAGES::
1)the team members need to be expert in their field to develop the software under
this methodology.
2)the development process is too complex and disorganized.
3)It is too complex to implement and too difficult to learn.
4)may lead to undisciplined form of software development.
ADVANTAGES::
1)risk analysis is better-significant reduction in risk for software projects.
2)supports changing requirements.
3)initial operating time is less.
4)allows the marketing department access to early deliveries, facilitating
development of documentation.
DISADVANTAGES::
1)management complexity is more.
2)end of project may not be known which is a risk.
3)can be costly to use.
4)highly skilled resources are required for risk analysis.