0% found this document useful (0 votes)
11 views

SE U1 process models

The document outlines various software development models including the Waterfall, Incremental, RAD, Prototyping, Spiral, and Concurrent Development models, detailing their processes, advantages, and disadvantages. Each model has specific use cases, with the Waterfall model being linear and best for small projects, while the Incremental and RAD models allow for iterative development and customer feedback. The Spiral model emphasizes risk analysis and is suited for complex projects, while the Concurrent Development model integrates various activities for real-time project status updates.

Uploaded by

lokeshnarne2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

SE U1 process models

The document outlines various software development models including the Waterfall, Incremental, RAD, Prototyping, Spiral, and Concurrent Development models, detailing their processes, advantages, and disadvantages. Each model has specific use cases, with the Waterfall model being linear and best for small projects, while the Incremental and RAD models allow for iterative development and customer feedback. The Spiral model emphasizes risk analysis and is suited for complex projects, while the Concurrent Development model integrates various activities for real-time project status updates.

Uploaded by

lokeshnarne2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

WATERFALL MODEL

 The Waterfall Model was first and oldest process model to be introduced. It is also
referred to as a linear-sequential life cycle model or Classic Life Cycle Model.
 This begins with communication followed by planning, modeling, construction and
deployment.
 Once the requirements are specified in the communication phase, changes cannot be
made. There by, the Product definition is stable.
 Each phase must be completed fully before the next phase can begin. So there will be no
overlapping between the phases
 Preferable for Small Projects.
Example: Any step by step process

.
Disadvantages of waterfall model:
 No working software is produced until late during the life cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a moderate to high risk of changing.
 Linear nature of Waterfall model “blocking states”- some team members must wait for other
members to complete dependent tasks.
INCREMENTAL PROCESS MODEL
THE INCREMENTAL MODEL
 Combines the elements of waterfall model in an iterative fashion.
 Multiple development cycles take place here, making the life cycle a “multi-waterfall”
cycle.
 Each increment passes through the communication, planning, modeling, construction and
deployment.
 The first increment is called core product which describes the basic requirements but the
supplementary features remain undelivered.
 Customer may respond at each increment. The core product is used by the customer and
based on reviews of core product; the plan for the next increment is developed.
 Each increment adds function to the previous release. The process continues till the
complete system is achieved.
Advantages of Incremental model:
 Generates working software quickly and early during the software life cycle.
 This model is more flexible – less costly to change scope and requirements.
 It is easier to test and debug during a smaller iteration (small change).
 Lowers initial delivery cost.
Disadvantages of Incremental model:
 Needs good planning and design.
 Needs a clear and complete definition of the whole system before it can be broken down and
built incrementally.
 Total cost is higher than waterfall.
When to use the Incremental model:
 Major requirements must be defined; however, some details can evolve with time.
 When there is a need to get a product early into the market.
 Resources with needed skill set are not available
 There are some high risk features and goals.
Examples: iPhone, windows
THE RAD MODEL
 Rapid Application Development model is a type of incremental model.
 In RAD model the components or functions are developed in parallel as if they were mini
projects.
 The developments are time boxed, delivered and then assembled into a working prototype.
 This can quickly give the customer something to see and use and to provide feedback
regarding the delivery and their requirements.
The phases in the rapid application development (RAD) model are:
1. Communication: Understand the business problem or requirements
2. Planning: It is very essential because multiple software teams work in parallel on
different system functions.
3. Modeling: There are 3 major phases
 Business modeling: The information flow is identified between various business
functions.
 Data modeling: Information gathered from business modeling is used to define
data objects that are needed for the business.
Process modeling: Data objects defined in data modeling are converted to
achieve the business information flow to achieve some specific business
objective. Description are identified and created for CRUD of data objects.
4. Construction: Reusability of components and automatic code generation, testing.
5. Deployment: Integration, delivery, feedback.

Advantages of the RAD model:


 Reduced development time.
 Increases reusability of components
 Quick initial reviews occur
 Encourages customer feedback in all the phases.
 Integration from very beginning solves a lot of integration issues.
Disadvantages of RAD model:
 Depends on strong team and individual performances for identifying business requirements.
 Only system that can be modularized can be built using RAD
 Requires highly skilled developers/designers.
 High dependency on modeling skills
 Inapplicable to cheaper projects/ highly technical projects as cost of modeling and
automated code generation is very high.
When to use RAD model:
 RAD should be used when there is a need to create a system that can be modularized in 2-3
months of
time.
 It should be used if there’s high availability of designers for modeling and the budget is high
enough to
afford their cost along with the cost of automated code generating tools.
EVOLUTIONARY PROCESS MODELS
Evolutionary process models are iterative. Enables software engineers to develop
increasingly more complete versions of the software.
PROTOTYPING MODEL
 The basic idea here is that instead of freezing the requirements before a design or coding,
a throwaway prototype is built to understand the requirements.
 This prototype is developed based on the currently known requirements. By using this
prototype, the client can get an “actual feel” of the system, since the interactions with
prototype can enable the client to better understand the further requirements of the
desired system.
 Prototyping is an attractive idea for complicated and large systems for which there is no
manual process or existing system to help determining the requirements.

Advantages of Prototype model:


 Users are actively involved in the development
 Since in this methodology a working model of the system is provided, the users get a better
understanding of the system being developed.
 Errors can be detected much earlier.
 Quicker user feedback is available leading to better solutions.
 Missing functionality can be identified easily
Disadvantages of Prototype model:
 Leads to implementing and then repairing way of building systems.
 Practically, this methodology may increase the complexity of the system as scope of the
system may
expand beyond original plans.
 Incomplete application may cause application not to be used as the full system was designed
 Incomplete or inadequate problem analysis.
When to use Prototype model:
 Prototype model should be used when the desired system needs to have a lot of interaction
with the end
users.
 Typically, online systems, web interfaces have a very high amount of interaction with end
users, are best
suited for Prototype model. It might take a while for a system to be built that allows ease
of use and
needs minimal training for the end user.
 Prototyping ensures that the end users constantly work with the system and provide a
feedback which is
incorporated in the prototype to result in a useable system. They are excellent for
designing good human
computer interface systems.
SPIRAL MODEL
 Proposed by Boehm.
 The spiral model is the combination of waterfall and incremental model, with more
emphasis placed on risk analysis.
 This has 2 main features
1. A Cyclic approach: It’s an approach for incrementally growing requirements and
implementing them with decrease in risk.
2. A set of anchor point milestones: This is to ensure commitment, mutual
understanding and satisfactory.
 A software model is divided into set of framework activities defined by software
engineering team. Each framework activity is represented as one segment of the spiral
part, which is always in clock ward direction.
 Each segment has four phases: Planning, Risk Analysis, construction and deployment.
 The spiral model starts at the core and continues for multiple iterations until the concept
development is complete.
Planning Phase: Requirements are gathered during the planning phase. Requirements like
‘BRS’ that is ‘Bussiness Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
Risk Analysis (modeling): 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. If any risk
is found during the risk analysis then alternate solutions are suggested and implemented. Cost
and schedule are adjusted based on feedback driven from the customer after delivery.
Construction Phase: In this phase software is developed, along with testing at the end of the
phase. Hence in this phase the development and testing is done.
Deployment phase: This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.

Advantages of Spiral model:


 High amount of risk analysis hence, avoidance of Risk is enhanced.
 Good for large and mission-critical projects.
 Strong approval and documentation control.
 Additional Functionality can be added at a later date.
 Software is produced early in the software life cycle.
Disadvantages of Spiral model:
 Can be a costly model to use.
 Risk analysis requires highly specific expertise.
 Project’s success is highly dependent on the risk analysis phase.
 Doesn’t work well for smaller projects.
When to use Spiral model:
 When costs and risk evaluation is important
 For medium to high-risk projects
 Long-term project commitment unwise because of potential changes to economic priorities
 Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected (research and exploration)
Example: Exams of engg. student in the entire academic year 1. 1st Semester 2. 2nd Semester
1st year (1,2) (updates Syllabus) 2nd year (1,2) (updates Syllabus)
3 year (1,2)
rd
(updates Syllabus) 4th year (1,2)
THE CONCURRENT DEVELOPMENT MODEL
 This is also called as concurrent engineering, which is represented as a series of framework
activities,
actions and their associated states.
 Concurrent process model is applicable to all types of software development and provides
accurate
picture, current state of the project.

none

Modeling act ivit y

rep resent s t he st at e
Under o f a so f t ware eng ineering
act ivit y o r t ask
development

A wait ing
changes

Under review

Under
revision

Baselined

Done

 The modeling activity is in NONE state while the initial communication was completed.
 Now the software is into UNDER DEVELOPMENT STATE.
1. If the customer indicates that the changes must be made then the software is into
AWAITING CHANGES  UNDER REVISION  UNDER REVIEW 
BASELINED  DONE.
2. If no changes to be made then the software is into UNDER REVIEW  DONE
 AWAITING CHANGES (If the customer wants to make the changes after the
development of the software).

A FINAL COMMENT ON EVOLUTIONARY PROCESSES


1. Prototyping and other evolutionary process create a problem to project planning because
of the uncertain number of cycles required to construct the product. Most project
development and estimation techniques are based on linear fashion, so they do not fit
completely.
2. If the evaluations occur too fast without any period of relaxation there may be quality
failure. On other hand if the speed is too slow then there may be productivity failure.
3. Software processes should be focused on flexibility and extensibility rather than on high
quality. Extending the development in order to reach high quality could result in late
delivery of the product, when the opportunity has disappeared.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy