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

SE Lecture 05

Notes of software engineering

Uploaded by

Rohail
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)
4 views

SE Lecture 05

Notes of software engineering

Uploaded by

Rohail
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/ 17

The University of Agriculture

Peshawar, Pakistan

Software Engineering

Lecture 4

Mr. Noor Ul Arfeen

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

Highest priority requirement is tackled first

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

You can develop prioritized requirements first

Customer can provide feedback to each product increment, thus avoiding surprises at the end of
development

Requirements changes can be easily accommodated

Errors are easily identified

This model is less costly compared to others

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

Resulting cost may exceed the cost of the organization

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

V-Model also referred to as the Verification


and Validation Model. In this, each phase of
Software Development Life Cycle (SDLC)
must complete before the next phase starts. It
follows a sequential design process same as
the waterfall model. Testing of the device is
planned in parallel with a corresponding
stage of development.

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.

• Validation: It involves dynamic analysis method (functional, non-functional), testing is done by


executing code. Validation is the process to classify the software after the completion of the
development process to determine whether the software meets the customer expectations and
requirements.

• 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

Describe 3 increments for word-processing software developed using incremental paradigm

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

You might also like