Software Fatima

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Software Engineering Concepts

ASSIGNMNT # 1

Submitted to:
Ms. Madiha Fatima
Submitted by:
Fatima Javed
SP21-BCS-071
Dated:
04 -10-2022
Topic:
Comparison of Software Process Models
1) RUP (Rational Unified Process)
The Rational Unified Process (RUP) is a software development process. Rational Software
Corporation develops it; now, it is part of IBM from 2003. It controls the development process
and produces a high-quality software product. It is nothing but a model for the software
development process. This development process involves multiple stages like business modeling
or planning, analysis and design, implementation or coding, testing, and deployment, etc.

Advantages:

 It allows us to deal with changing requirements within the project’s development life
cycle as per the client or customer needs, i.e. it welcomes change.
 It supports incremental build the software product.
 It provides proper documentation of the software product.
 It helps to use the resources efficiently.
 It helps to identify issues early in the process life cycle.
 It improves process control and risk management.
 It enhances team productivity.
 It helps reduces unexpected development costs.

Disadvantages:

× It is a complex model to implement as it has multiple stages of the workflow.


× It is challenging for organizations to implement which has, small team size or projects.
× It should be highly result-oriented from individuals or teams.
× It emphasizes the integration of modules throughout the software development process,
so this creates trouble during the testing phase.

2) Waterfall Model

Waterfall model is an example of a Sequential model. In this model, the software development
activity is divided into different phases and each phase consists of a series of tasks and has
different objectives. Waterfall model is the pioneer of the SDLC processes. In fact, it was the
first model which was widely used in the software industry. It is divided into phases and the
output of one phase becomes the input of the next phase. It is mandatory for a phase to be
completed before the next phase starts. In short, there is no overlapping in the Waterfall model
Advantages:

 Simple and easy to understand and use.


 For smaller projects, the waterfall model works well and yields the appropriate results.
 Since the phases are rigid and precise, one phase is done one at a time, it is easy to
maintain.
 The entry and exit criteria are well defined, so it is easy and systematic to proceed with
quality.
 Results are well documented.

Disadvantages:

× Delivery of the final product is late as there is no prototype that is demonstrated


immediately.
× For bigger and more complex projects, this model is not good as the risk factor is higher.
× Not suitable for projects where requirements are changed frequently.
× Does not work for long and ongoing projects.

3) 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.

Advantages:

 Errors are easy to be recognized.


 Easier to test and debug
 More flexible.
 Simple to manage risk because it handled during its iteration.
 The Client gets important functionality early.

Disadvantages:

× Need for good planning


× Total Cost is high.
× Well defined module interfaces are needed.
4) Spiral Model

The spiral model is a systems development lifecycle (SDLC) method used for risk
management that combines the iterative development process model with elements of the
Waterfall model. The spiral model is used by software engineers and is favored for large,
expensive and complicated projects.

Advantages:

 Changing requirements can be accommodated.


 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.

5) V Model
The V-model is an SDLC model where execution of processes happens in a sequential manner in
a V-shape. It is also known as Verification and Validation model.The V-Model is an extension of
the waterfall model and is based on the association of a testing phase for each corresponding
development stage. This means that for every single phase in the development cycle, there is a
directly associated testing phase. This is a highly-disciplined model and the next phase starts
only after completion of the previous phase.

Advantages:

 This is a highly-disciplined model and Phases are completed one at a time.


 Works well for smaller projects where requirements are very well understood.
 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.

Disadvantages:

× High 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.

You might also like