SE Lecture 05
SE Lecture 05
Peshawar, Pakistan
Software Engineering
Lecture 4
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS)
Incremental Model
Incremental development is based on the idea of developing an initial implementation, getting
feedback from users and others, and evolving the software through several versions until the required
system has been developed
Incremental model is a process of software development where requirements are broken down into
multiple standalone modules of software development cycle
Each iteration passes through requirements analysis, design, coding and testing phases
Each increment adds some functionality until the full system is implemented
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 2
Incremental Model
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 3
Incremental Model
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 4
Phases of Incremental Model
• 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
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 5
Incremental Model
Incremental development has three important benefits, compared to the waterfall model:
1. The cost of accommodating changing customer requirements is reduced. The amount of analysis and
documentation that has to be redone is much less than is required with the waterfall model.
2. It is easier to get customer feedback on the development work that has been done. Customers can comment on
demonstrations of the software and see how much has been implemented. Customers find it difficult to judge
progress from software design documents.
3. More rapid delivery and deployment of useful software to the customer is possible, even if all of the functionality
has not been included. Customers are able to use and gain value from the software earlier than is possible with a
waterfall process.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 6
Incremental Model – Challenges
From a management perspective, the incremental approach has two problems:
1. The process is not visible. Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect every version of the
system.
2. System structure tends to degrade as new increments are added. Unless time and money is spent on
refactoring to improve the software, regular change tends to corrupt its structure. Incorporating
further software changes becomes increasingly difficult and costly.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 7
Incremental Model - Advantages
Customers get important functionality early
Customer can provide feedback to each product increment, thus avoiding surprises at the end of
development
More rapid delivery and deployment of useful software to the customer is possible
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 8
Incremental Model - Disadvantages
Requires good planning and design
As additional functionality is added to the product, problems may arise related to system architecture
which were not evident earlier
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 9
V-Model
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 10
V-Model Verification and Validation
• Verification: It involves a static analysis method (review) done without executing code. It is the
process of evaluation of the product development process to find whether specified requirements
meet.
• So V-Model contains Verification phases on one side of the Validation phases on the other side.
Verification and Validation process is joined by coding phase in V-shape. Thus it is known as V-
Model.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 11
V-Model Verification Phases
• There are the various phases of Verification Phase of V-model:
• Business requirement analysis: This is the first step where product requirements understood from the
customer's side. This phase contains detailed communication to understand customer's expectations and exact
requirements.
• System Design: In this stage system engineers analyze and interpret the business of the proposed system by
studying the user requirements document.
• Architecture Design: The baseline in selecting the architecture is that it should understand all which typically
consists of the list of modules, brief functionality of each module, their interface relationships, dependencies,
database tables, architecture diagrams, technology detail, etc. The integration testing model is carried out in a
particular phase.
• Module Design: In the module design phase, the system breaks down into small modules. The detailed design of
the modules is specified, which is known as Low-Level Design
• Coding Phase: After designing, the coding phase is started. Based on the requirements, a suitable programming
language is decided. There are some guidelines and standards for coding. Before checking in the repository, the
final build is optimized for better performance, and the code goes through many code reviews to check the
performance.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 12
V-Model Validation Phases
• There are the various phases of Validation Phase of V-model:
• Unit Testing: In the V-Model, Unit Test Plans (UTPs) are developed during the module design phase. These
UTPs are executed to eliminate errors at code level or unit level. A unit is the smallest entity which can
independently exist, e.g., a program module. Unit testing verifies that the smallest entity can function correctly
when isolated from the rest of the codes/ units.
• Integration Testing: Integration Test Plans are developed during the Architectural Design Phase. These tests
verify that groups created and tested independently can coexist and communicate among themselves.
• System Testing: System Tests Plans are developed during System Design Phase. Unlike Unit and Integration
Test Plans, System Tests Plans are composed by the clients business team. System Test ensures that
expectations from an application developer are met.
• Acceptance Testing: Acceptance testing is related to the business requirement analysis part. It includes testing
the software product in user atmosphere. Acceptance tests reveal the compatibility problems with the different
systems, which is available within the user atmosphere. It conjointly discovers the non-functional problems
like load and performance defects within the real user atmosphere.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 13
When to use V-Model?
• When the requirement is well defined and not ambiguous.
• The V-shaped model should be used for small to medium-sized projects where
requirements are clearly defined and fixed.
• The V-shaped model should be chosen when sample technical resources are
available with essential technical expertise.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 14
V-Model Advantages
• Easy to Understand.
• Testing Methods like planning, test designing happens well before coding.
• This saves a lot of time. Hence a higher chance of success over the waterfall
model.
• Avoids the downward flow of the defects.
• Works well for small plans where requirements are easily understood.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 15
V-Model Disadvantages
• Very rigid and least flexible.
• Not a good for a complex project.
• Software is developed during the implementation stage, so no early prototypes of
the software are produced.
• If any changes happen in the midway, then the test documents along with the
required documents, has to be updated.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 16
Class Activity
In groups of 2, write your names on a piece of paper
Answer: Word-processing software developed using the incremental paradigm might deliver basic
file management, editing, and document production functions in the first increment; more
sophisticated editing and document production capabilities in the second increment; spelling and
grammar checking in the third increment; and advanced page layout capability in the fourth
increment. It should be noted that the process flow for any increment can incorporate the prototyping
paradigm. When an incremental model is used, the first increment is often a core product.
Institute Of Computer Sciences And Information Technology (ICS/IT), Faculty of Management and Computer Sciences (FMCS) 17