0% found this document useful (0 votes)
3 views30 pages

Unit 3

Unit 3 covers various software process models, including the Waterfall, Prototype, Spiral, Incremental, and RAD models, which are essential for specifying, designing, implementing, and testing software systems. It emphasizes the Software Development Life Cycle (SDLC) as a structured methodology to manage software development, ensuring stakeholder alignment and risk management. Each model has its advantages and disadvantages, making them suitable for different project types and requirements.

Uploaded by

priyanka.kinger
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)
3 views30 pages

Unit 3

Unit 3 covers various software process models, including the Waterfall, Prototype, Spiral, Incremental, and RAD models, which are essential for specifying, designing, implementing, and testing software systems. It emphasizes the Software Development Life Cycle (SDLC) as a structured methodology to manage software development, ensuring stakeholder alignment and risk management. Each model has its advantages and disadvantages, making them suitable for different project types and requirements.

Uploaded by

priyanka.kinger
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/ 30

UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Unit 3: Software Process Model

• Introduction to process model


• Introduction to waterfall model
• Prototype model
• Spiral model
• Incremental model
• RAD Model
• Concurrent Development Model
• Aspect – oriented Software model
• Unified process model

Software Processes is a coherent set of activities for specifying, designing,


implementing and testing software systems.
A software process model is an abstract representation of a process that presents a
description of a process from some particular perspective.
There are many different software processes but all involve:
• Specification – defining what the system should do;

• Design and implementation – defining the organization of the system and implementing the
system;
• Validation – checking that it does what the customer wants;

• Evolution – changing the system in response to changing customer needs.

Software Process and Software Development Lifecycle Model

• One of the basic notions of the software development process is SDLC models
which stands for Software Development Life Cycle models.
• There are many development life cycle models that have been developed in
order to achieve different required objectives.

1|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

• The models specify the various stages of the process and the order in which
they are carried out.
The most used, popular and important SDLC models are given below:
• Waterfall model
• V model
• Incremental model
• RAD model
• Agile model
• Iterative model
• Spiral model
• Prototype model

SDLC (Software Development Life cycle):

The software development lifecycle (SDLC) is the cost-effective and time-efficient


process that development teams use to design and build high-quality software.

The goal of SDLC is to minimize project risks through forward planning so that software
meets customer expectations during production and beyond.

SDLC, or software development life cycle, is a methodology that defines the entire
procedure of software development step-by-step.

Why is SDLC important?

Software development can be challenging to manage due to changing requirements,


technology upgrades, and cross-functional collaboration.

The software development lifecycle (SDLC) methodology provides a systematic


management framework with specific deliverables at every stage of the software
development process.

As a result, all stakeholders agree on software development goals and requirements upfront
and also have a plan to achieve those goals.

Here are some benefits of SDLC:

• Increased visibility of the development process for all stakeholders involved


• Efficient estimation, planning, and scheduling
• Improved risk management and cost estimation
• Systematic software delivery and better customer satisfaction

2|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
How does SDLC work?

The software development lifecycle (SDLC) outlines several tasks required to build a
software application.

The development process goes through several stages as developers add new features
and fix bugs in the software.

The details of the SDLC process vary for different teams. However, we outline some
common SDLC phases below.

1) Planning Phase

• The planning phase typically includes tasks like cost-benefit analysis,


scheduling, resource estimation, and allocation.

• The development team collects requirements from several stakeholders


such as customers, internal and external experts, and managers to
create a software requirement specification document.

The document sets expectations and defines common goals that aid in project planning.
The team estimates costs, creates a schedule, and has a detailed plan to achieve their
goals.

3|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
2) Designing Phase

• In the design phase, software engineers analyze requirements and identify


the best solutions to create the software.

• For example, they may consider integrating pre-existing modules, make


technology choices, and identify development tools.
• They will look at how to best integrate the new software into any
existing IT infrastructure the organization may have.

3) Coding/Implementation Phase
• In the implementation phase, the development team codes the product.
• They analyze the requirements to identify smaller coding tasks they can do
daily to achieve the final result.
4) Testing Phase
• The development team combines automation and manual testing to check the
software for bugs.
• Quality analysis includes testing the software for errors and checking if it
meets customer requirements.
• Because many teams immediately test the code they write, the testing phase
often runs parallel to the development phase.
5) Deploying Phase
• When teams develop software, they code and test on a different copy of the
software than the one that the users have access to.
• The software that customers use is called production, while other copies are
said to be in the build environment, or testing environment.
• Having separate build and production environments ensures that
customers can continue to use the software even while it is being
changed or upgraded.
The deployment phase includes several tasks to move the latest build copy to the
production environment, such as packaging, environment configuration, and installation.
6) Maintenance Phase
• In the maintenance phase, among other tasks, the team fixes bugs, resolves
customer issues, and manages software changes.
• In addition, the team monitors overall system performance, security,
and user experience to identify new ways to improve the existing
software.

What are SDLC models?

A software development lifecycle (SDLC) model conceptually presents SDLC in an


organized fashion to help organizations implement it.

4|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Different models arrange the SDLC phases in varying chronological order to optimize
the development cycle.

We look at some popular SDLC models below.


Waterfall Model

• The Waterfall Model was the first Process Model to be introduced.


• It is also referred to as a linear-sequential life cycle model because
this model illustrates the software development process in a linear
sequential flow.
• It is very simple to understand and use.
• In "The Waterfall" approach, the whole process of software development is
divided into separate phases.
• In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
• In this Waterfall model, typically, the outcome of one phase acts as the input
for the next phase sequentially.

The following illustration is a representation of the different phases of the Waterfall Model.

The sequential phases in Waterfall model are −

• Requirement Gathering and analysis − All possible requirements of the system to


be developed are captured in this phase and documented in a requirement
specification document.
• System Design − The requirement specifications from first phase are studied in this
phase and the system design is prepared. This system design helps in specifying
hardware and system requirements and helps in defining the overall system
architecture.
• Implementation − With inputs from the system design, the system is first developed
in small programs called units, which are integrated in the next phase. Each unit is
5|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
developed and tested for its functionality, which is referred to as Unit Testing.
• Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system
is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
• Maintenance − There are some issues which come up in the client environment. To
fix those issues, patches are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the customer
environment.

Waterfall Model - Application

• Requirements are very well documented, clear and fixed.


• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• Ample resources with required expertise are available to support the product.
• The project is short.

Advantages

• Simple and easy to understand and use


• Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements are very well understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.

Disadvantages

• 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. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
• Integration is done as a "big-bang. at the very end, which doesn't allow
identifying any technological or business bottleneck or challenges early.
6|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Prototype Model:

• The prototype model requires that before carrying out the development of actual
software, a working prototype of the system should be built.
• A prototype is a toy implementation of the system.
• A prototype usually turns out to be a very crude version of the actual system,
possible exhibiting limited functional capabilities, low reliability, and inefficient
performance as compared to actual software.
• In many instances, the client only has a general view of what is expected from the
software product. In such a scenario where there is an absence of detailed
information regarding the input to the system, the processing needs, and the output
requirement, the prototyping model may be employed.

7|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Steps of Prototype Model

1. Requirement Gathering and Analyst


2. Quick Decision
3. Build a Prototype
4. Assessment or User Evaluation
5. Prototype Refinement
6. Engineer Product

Advantage of Prototype Model

1. Reduce the risk of incorrect user requirement


2. Good where requirement are changing/uncommitted
3. Regular visible process aids management
4. Support early product marketing
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made side by side.

Disadvantage of Prototype Model

1. An unstable/badly implemented prototype often becomes the final product.


2. Require extensive customer collaboration
o Costs customer money
o Needs committed customer
o Difficult to finish if customer withdraw
o May be too customer specific, no broad market
3. Difficult to know how long the project will last.
4. Easy to fall back into the code and fix without proper requirement analysis,
design, customer evaluation, and feedback.
5. Prototyping tools are expensive.
6. Special tools & techniques are required to build a prototype.

8|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

7. It is a time-consuming process.

Spiral Model

• The spiral model, initially proposed by Boehm, is an evolutionary software process


model that couples the iterative feature of prototyping with the controlled and
systematic aspects of the linear sequential model.
• It implements the potential for rapid development of new versions of the software. Using
the spiral model, the software is developed in a series of incremental releases.
• During the early iterations, the additional release may be a paper model or prototype.
During later iterations, more and more complete versions of the engineered system
are produced.

Each cycle in the spiral is divided into four parts:

Objective Identification:
• This phase starts with gathering the business requirements in the baseline
spiral. In the subsequent spirals as the product matures, identification of system
requirements, subsystem requirements and unit requirements are all done in
this phase.
• This phase also includes understanding the system requirements by
continuous communication between the customer and the system
analyst.
• At the end of the spiral, the product is deployed in the identified market.

Design:
• The Design phase starts with the conceptual design in the baseline spiral and
involves architectural design, logical design of modules, physical product design
and the final design in the subsequent spirals.

Construct or Build
• The Construct phase refers to production of the actual software product at every
spiral. In the baseline spiral, when the product is just thought of and the design is
being developed a POC (Proof of Concept) is developed in this phase to get
customer feedback.
• Then in the subsequent spirals with higher clarity on requirements and design
details a working model of the software called build is produced with a version
number. These builds are sent to the customer for feedback.

Evaluation and Risk Analysis


• Risk Analysis includes identifying, estimating and monitoring the technical
feasibility and management risks, such as schedule slippage and cost
9|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
overrun.
• After testing the build, at the end of first iteration, the customer evaluates the
software and provides feedback.

10 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

The following illustration is a representation of the Spiral Model, listing the activities in
each phase.

Based on the customer evaluation, the software development process enters the next
iteration and subsequently follows the linear approach to implement the feedback
suggested by the customer. The process of iterations along the spiral continues
throughout the life of the software.
• The spiral model works for development as well as enhancement projects.

Spiral Model Application/ When to use spiral model? :

• When there is a budget constraint and risk evaluation is important.


• For medium to high-risk projects.
• Long-term project commitment because of potential changes to economic
priorities as the requirements change with time.
• Customer is not sure of their requirements which is usually the case.
• Requirements are complex and need evaluation to get clarity.
• New product line which should be released in phases to get enough customer feedback.
• Significant changes are expected in the product during the development cycle.

Advantages:

• Changing requirements can be accommodated.


11 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

• Allows extensive use of prototypes.


• Requirements can be captured more accurately.
• Users see the system early.
• Development can be divided into smaller parts and the risky parts can be
developed earlier which helps in better risk management.

Disadvantages:

• Management is more complex.


• End of the project may not be known early.
• Not suitable for small or low risk projects and could be expensive for small projects.
• Process is complex
• Spiral may go on indefinitely.
• Large number of intermediate stages requires excessive documentation.

Incremental Model

• Incremental Model is a process of software development where requirements


divided into multiple standalone modules of the software development cycle.
• In this model, each module goes through the requirements, design,
implementation and testing phases.
Every subsequent release of the module adds function to the previous release. The
process continues until the complete system achieved.

Incremental development involves developing a product in small portions, every piece


individually. The team gradually builds functionalities until they achieve the final product.

The client only sees the product after completion.

In the Incremental model, your team clearly understands the project goals and final
product. The project is in increments or sections that complement each other. Your
team adds one after the other until they get the whole puzzle completed.


12 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

The various phases of incremental model are as follows:

1. Requirement analysis: In the first phase of the incremental model, the product
analysis expertise identifies the requirements. And the system functional requirements
are understood
by the requirement analysis team. To develop the software under the incremental
model, this phase performs a crucial role.

2. Design & Development: In this phase of the Incremental model of SDLC, the
design of the system functionality and the development method are finished with
success. When software develops new practicality, the incremental model uses style
and development phase.

3. Testing: In the incremental model, the testing phase checks the performance of
each existing function as well as additional functionality. In the testing phase, the
various methods are used to test the behavior of each task.

4. Implementation: Implementation phase enables the coding phase of the


development system. It involves the final coding that design in the designing and
development phase and tests the functionality in the testing phase. After completion
of this phase, the number of the product working is enhanced and upgraded up to the
final system product

When we use the Incremental Model?

o When the requirements are superior.

o A project has a lengthy development schedule.

o When Software team are not very well skilled or trained.

o When the customer demands a quick release of the product.

o You can develop prioritized requirements first.

Advantage of Incremental Model

o Errors are easy to be recognized.

o Easier to test and debug

o More flexible.

o Simple to manage risk because it handled during its iteration.

13 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
o The Client gets important functionality early.

Disadvantage of Incremental Model

o Need for good planning

o Total Cost is high.


o Well defined module interfaces are needed.

RAD Model (Rapid Application Development)

RAD model is High speed adaption of waterfall model

It is incremental process model emphasizes a short development cycle (as little as


60-90 days).

Each major functions handle by separate team and then integrated to form a

whole. RAD is design for large project that must be delivered in tight time

frames.

RAD (Rapid Application Development) is a concept that products can be developed


faster and of higher quality through:

• Gathering requirements using workshops or focus groups


• Prototyping and early, reiterative user testing of designs
• The re-use of software components
• A rigidly paced schedule that refers design improvements to the next product
version
• Less formality in reviews and other team communication

RAD Model Design

RAD model distributes the analysis, design, build and test phases into a series of short,
iterative development cycles.

14 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Following are the various phases of the RAD Model −

Business Modelling

The business model for the product under development is designed in terms of flow of
information and the distribution of information between various business channels.

The information flow among business functions is defined by answering questions like

• what data drives the business process,


• what data is generated,
• who generates it,
• where does the information go,
• Who process it and so on?
A complete business analysis is performed to find the vital information for business.

Data Modelling

The information gathered in the Business Modelling phase is reviewed and analyzed to
form sets of data objects vital for the business.

The data collected from business modeling is refined into -

• A set of data objects (entities) that are needed to support the business.
• The attributes (character of each entity) are identified and
• The relation between these data objects (entities) is defined.

15 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Process Modelling

The information object defined in the data modeling phase are transformed to achieve
the data flow necessary to implement a business function.

Processing descriptions are created for adding, modifying, deleting, or retrieving a data object.

Application Generation

Automated tools are used to facilitate construction of the software; even they use the
4th GL techniques.

Testing and Turnover

Many of the programming components have already been tested since RAD emphasis
reuse. This reduces the overall testing time. But the new part must be tested, and all
interfaces must be fully exercised.

The following illustration describes the RAD Model in detail.

RAD Model - Application

16 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

• RAD should be used only when a system can be modularized to be


delivered in an incremental manner.
• It should be used if there is a high availability of designers for Modelling.
• It should be used only if the budget permits use of automated code generating tools.
• RAD SDLC model should be chosen only if domain experts are available with
relevant business knowledge.
• Should be used where the requirements change during the project and
working prototypes are to be presented to customer in small iterations of
2-3 months.

Advantages:

• Changing requirements can be accommodated.


• Progress can be measured.
• Iteration time can be short with use of powerful RAD tools.
• Productivity with fewer people in a short time.
• Reduced development time.
• Increases reusability of components.
• Quick initial reviews occur.
• Encourages customer feedback.
• Integration from very beginning solves a lot of integration issues.

Disadvantages:

• Dependency on technically strong team members for identifying business requirements.


• Only system that can be modularized can be built using RAD.
• Requires highly skilled developers/designers.
• High dependency on modelling skills.
• Inapplicable to cheaper projects as cost of Modelling and automated code
generation is very high.
• Management complexity is more.
• Suitable for systems that are component based and scalable.
• Requires user involvement throughout the life cycle.
• Suitable for project requiring shorter development times.

17 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Concurrent Development Process Model

• Concurrent Process model is an evolutionary process model in software


engineering. The term concurrent mean “done at the same time”.
• Suppose we want to know the state of activities of the design phase and at the
same time we want to know about testing phase activities. Which ones are
complete and which are not?
• The concurrent process model shows the current state of activities, tasks
and their associated states that remain in different phases.

• All activities exist concurrently but reside in different states.


• For example, early in the project the communication activity has
completed its first iteration and exists in the awaiting changes state.
• The modeling activity which existed in the none state while initial
communication was completed now makes a transition into under
development state.
• If the customer specifies the change in the requirement, then the
modeling activity moves from the under development state into the
awaiting change state.
• If the customer wants some changes to the design, then
18 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
‘communication’ goes to ‘awaiting changes’ and ‘design’ goes to the
under-development stage again.
• The concurrent process model activities moving from one state to another state

19 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

• The benefit of this model is that project managers know each phase is what state
and why.
• Main Point – Maintain information about each phase at the activity level.
Advantages of the concurrent development model
• This model is applicable to all types of software development processes.
• It is easy for understanding and use.
• It gives immediate feedback from testing.
• It provides an accurate picture of the current state of a project.
Disadvantages of the concurrent development model
• It needs better communication between the team members. This may not be
achieved all the time.
• It requires to remember the status of the different activities.

Aspect – oriented Software model

• Aspect-Oriented Software Development is a software engineering paradigm


that focuses on modularizing and encapsulating cross-cutting concerns in a
system.
• AOSD allows you to separate the core functionality (base code) from these
concerns (aspects), improving maintainability, flexibility, and code reusability.
• Aspect oriented software development is a new advance to software development
that addresses limitations inherent in other approaches such as object oriented
software development.
• In traditional software development common concerns are identified and used to
modularize a program.
• Some concerns are high-level properties of a system; others affect functions or are systemic
• When concerns cut across multiple system functions, features, and information, they
are often referred to as crosscutting concerns.
• Aspectual requirements define those crosscutting concerns that have an impact
across the software architecture.
• Aspect-oriented software development (AOSD), often referred to as aspect-oriented
programming (AOP), is a relatively new software engineering paradigm that provides
a process and methodological approach for defining, specifying, designing, and
constructing aspects.

20 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

• By allowing developers to encapsulate concerns that crosscut the program’s modular


structure, such as logging, security, and performance optimization, AOSD improves
the separation of concerns and promotes code reusability.
• This approach leads to a more efficient and cleaner codebase, with reduced
development time and lower chances of introducing subtle defects when adding new
features or modifying existing code.
• Ultimately, AOSD contributes to the development of scalable, robust, and high-quality
software systems.
• A distinct aspect-oriented process has not yet matured. However, it is likely that
such a process will adopt characteristics of both the spiral and concurrent
process models.
o The evolutionary nature of the spiral is appropriate as aspects are identified
and then constructed.
o The parallel nature of concurrent development is essential because aspects
are engineered independently of localized software components and yet,
aspects have a direct impact on these components.

The Unified Process was developed by Ivar Jacobson, Grady Booch, and James Rumbaugh.

Unified process model

A unified process (UP) is a software development process that uses the UML language
to represent models of the software system to be developed.
21 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
It reduces unexpected development cost and prevent wastage of resources.

22 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Goal: To ensure the production of high-quality software that meets the needs of its end-
users, within a predictable schedule and budget.

It is iterative, architecture centric, use case driven and risk confronting.

The framework is also known as Rational Unified Process (RUP) and the Open Unified
Process (Open UP).

Some of the key features of this process include:

• It defines the order of phases.


• It is component-based, meaning a software system is built as a set of
software components. There must be well-defined interfaces between the
components for smooth communication.
• It follows an iterative, incremental, architecture-centric, and use-case driven approach

Figure 1 : Visual Represantation of Unified Model

The case-driven approach

Use a case-driven approach that follows a set of actions performed by one or more
entities.

A use case refers to the process of the team performing the development work from the
functional requirements.

23 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
The functional requirements are made from the list of requirements that were specified
by the client. For example, an online learning management system can be specified in
terms of use cases such as "add a course," "delete a course," "pay fees," and so on.

The architecture-centric approach

The architecture-centric approach defines the form of the system and how it should be
structured to provide a specific functionality whereas the use case defines the
functionality.

The iterative and incremental approach

An iterative and incremental approach means that the product will be developed in
multiple phases. During these phases, the developers evaluate and test.

Phases

The unified process occurs over four phases which include, Inception, Elaboration,
Construction, and Transition. Each of these phases consists of several iterations.

We can represent a unified process model as a series of cycles. Each cycle ends with
the release of a new system version for the customers. We have four phases in every
cycle:

• Inception
• Elaboration
• Construction
• Transition

24 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
1. Inception

The main goal of this phase involves delimiting the project scope. This is where we
define why we are making this product in the first place. It should have the following:

• What are the key features?


• How does this benefit the customers?
• Which methodology will we follow?
• What are the risks involved in executing the project?
• Schedule and cost estimates.

2. Elaboration

We build the system given the requirements, cost, and time constraints and all the risks
involved. It should include the following:

• Develop with the majority of the functional requirements implemented.


• Finalize the methodology to be used.
• Deal with the significant risks involved.

3. Construction

This phase is where the development, integration, and testing take place. We build the
complete architecture in this phase and hand the final documentation to the client.

4. Transition

This phase involves the deployment, multiple iterations, beta releases, and
improvements of the software. The users will test the software, which may raise
potential issues. The development team will then fix those errors.

Production

• The final phase of the model.


• The project is maintained and updated accordingly.

Conclusion

This method allows us to deal with the changing requirements throughout the
development period.

The unified process model has various applications which also makes it complex in
nature. Therefore, it's most suitable for smaller projects and should be implemented
by a team of professionals.
25 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Advantages:
1. It provides good documentation, it completes the process in itself.

26 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
2. It provides risk-management support.
3. It reuses the components, and hence total time duration is less.
4. Good online support is available in the form of tutorials and training.
Disadvantages:
• Team of expert professional is required, as the process is complex.
• Complex and not properly organized process.
• More dependency on risk management.
• Hard to integrate again and again
Extra Questions :

The iterative process model:

The iterative model is a software development approach in which the development


process is divided into small iterations or cycles.
Each iteration represents a portion of the overall development process, and the
software is built, tested, and refined in repeated cycles.

When to use the Iterative Model?


1. When requirements are defined clearly and easy to understand.
2. When the software application is large.
3. When there is a requirement of changes in future.

27 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

The evolutionary model

• The evolutionary model is the model of software engineering. In the


evolutionary model, all the work is done during the development phase.
In this model, all work divided into small chunks or modules.
• For example, the Waterfall Model l in which all the users are able to get
access to the product at the end of each cycle. This model is a combination
Of incrementaland iterative models .
• It is a very suitable model because of user feedback and other factors that
make the model very suitable for the development of complete Software.
• The user feedback is very helpful for the development of the next stage
because after the completion of one stage we get the feedback to the user, the
user feedback is very essential for the development of the next phase.
• If you want any changes in the software requiirements ,all changes will be
applied within a time.

28 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Where the evolutionary model is useful


Evolutionary model is useful in many cases. Two most important cases are mentioned below;

1. It is very useful in a large project where you can easily find a module for step
by step implementation. The evolutionary model is used when the users need to
start using the many features instead of waiting for the complete software.
2. The evolutionary model is also very useful in object-oriented
software development because all the development is divided
into different units.
The following are the evolutionary models.

1. The prototyping model


2. the spiral model
3. the concurrent development model

29 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)

Comparison

30 | P a g e

You might also like