Sie sind auf Seite 1von 8

PROCESS MODELS Assignment.

1) WATERFALL MODEL

1)Waterfall model is a cascade SDLC model.


2)In this, development process looks like the flow--moving step by step through
the phases of analysis, projecting, realization, testing, implementation and
support.
3)In waterfall model , one must plan and schedule all activities before strating
working on them.
4)The phases of "The Waterfall Model" are:
Requirement analysis and design: All requirements of the system which has to
be developed are collected in this step.
Requirements have to be collected by analysing the needs of the customer/
users and checking them for validity and the possibility
to implement them.
5)System Design:The system has to be properly designed before any implementation
is started.he software components have to be
defined to meet the end user requirements and to meet the need of possible
scalability of the system.
6)software Design:Based on the system architecture which defines the main software
blocks the software design will break them
further down into code modules. eg:startup, shutdown, error conditions and
diagnostic modes.
7)Coding: Based on the software design document the work is aiming to set up the
defined modules or units and actual coding
is started. The system is first developed in smaller portions called units.
Software integration and Verification: Each unit is developed independently
and can be tested for its functionality. This is the
8)Unit Testing. It simply verifies if the modules or units to check if they meet
their specifications.
System validation: After successfully integration including the related
tests the complete system has to be tested against
its initial requirements.
9)Operation and maintenance: The system is handed over to the customer,who will
check if his requirements were implemented as expected
but he will also validate if the correct requirements have been set up. In
case there are changes necessary it has to be fixed
to make the system usable or to make it comply to the customer wishes.

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

1)The V-model model is an extension of the waterfall model.


2)V model is known as Verification and Validation model.
3)It is a type of SDLC model where process executes in a sequential manner in V-
shape.
4)Development of each step directly associated with the testing phase.
5)The next phase starts only after completion of the previous phase.i.e Every
phase completes its execution before the execution of next phase begins.
6)processes are executed sequentially.
7)phases of v model are:
Requirements: The requirements of product are understood from the customers
point of view to know their exact requirement and
expectation.
8)System Design: high level design of the software is constructed.
9)Architecture design: The module relationship and dependencies of module,
architectural diagrams, database tables,
technology details are completed in this phase.
10) Module design: Separately design every module or the software components.Unit
tests are the vital part of any development process.
They help to remove the maximum faults and errors at an early stage.
11)Coding Phase: The actual code design of module designed in the design phase is
grabbed in the coding phase.

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

1)Agile development is one kind of iterative and Incremental development


model.
2)In this,the increments are small and typically, new releases of the system are
created and made available to customers every few weeks.
3)This model focuses on the users satisfaction which can be achieved with quick
delivery of the working software product.
4)Agile model breaks the product into individual iterations.
5)With every increment, features are incremented and the final increment hold all
the features needed by the customers.
6)The customer is able to see the result and understand if he is satisfied with it
or not.
7)Extreme programming is one of the practical use of the agile model.
8)The basis of such model consists of short weekly meetings.
9)They are best suited for application where the requirements change rapidly
during the development process.

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.

7) Rapid Application Development Model (RAD MODEL)

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

1)Prototype model is a set of general objectives for software.


2)It does not identify the requirements like detailed input, output.
3)Prototype is defined as first or preliminary form using which other forms are
copied or derived.
4)Prototype process model is suitable for dynamic environment where requirements
change rapidly.
5)The process begins with gathering main functional requirements;this is followed
by a quick design leading to
the development of a prototype.
6) The prototype is then evaluated by users and customers.
7)It is software working model of limited functionality.
8)In this model, working programs are quickly produced.

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

1)Big-Bang is model in which no particular process is followed.


2)Generally this model is used for small projects in which the development teams
are small.
3)This model is needs a little planning and does not follow formal development.
4)The development of this model begins with the required money and efforts as an
input.
5)The output may not be according to the requirements of the customer.

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.

10) CODE AND FIX MODEL

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.

11) The Formal model

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.

12) RATIONAL UNIFIED PROCESS

1)RUP develop software iteratively.


2)The Rational Unified Processworks well with cross-functional projects.
3)RUP contains six best practices:manage requirements,control software
changes,develop software iteratively,use component-based architectures,
visually model, and verify quality.
4)It continuously verify software quality.
5)It uses component based architectures.
6)Supports changing requirements to meet its desired software.

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.

13) EVOLUTIONARY PROCESS MODEL

1)It uses small, incremental product releases,frequent delivery to users,dynamic


plans and processes.
2)The evolutionary development model divides the development cycle into smaller,
incremental waterfall models in which users are
able to get access to the product at the end of each cycle.
3)The users provide feedback on the product for the planning stage of the
next cycle and the development team responds accordingly by changing the
product, plans, process.
4)can reduce costs by providing a structured, disciplined avenue for
experimentation.
5)project progress is highly dependent upon the risk analysis phase.
6)Evolutionary Model is better suited for large and mission-critical projects.

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.