FALLSEM2021-22 SWE2003 ETH VL2021220101010 Reference Material I 10-Aug-2021 VTOP 1.3 The Requirements and The Software Lifecycle

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

SWE2003 - Requirements

Engineering and Management

Dr. B.Valarmathi
Associate Professor Senior, Dept. of SSE,
SITE, VIT, Vellore.
valarmathi.b@vit.ac.in

M.Tech. (SE) 5 Year Integrated Programme


Fall Semester 2021 - 2022
School of Information Technology and Engineering
VIT University, Vellore

24-Aug-21 SWE2003 - Requirements Enginering and 1


Management
1.3 Requirements and the
Software Lifecycle
The traditional software process models
• Waterfall model
• Spiral model
The iterative approach

2
A Good Software Development
Process should have
Collecting and Analysis (of requirements):
Identify what the system should do
Design:
Determine what is the best way to do it
Implementation and Test:
Build the system correctly

3
Traditional Software Process Models
Effective requirements management is an integral
part of a structured software development
process.
In a structured software development process, the
full set of activities of the software development
team are well defined in advance and executed
properly to deliver the final software product.
Reaching the goal (fully functional software
product), is easy if proper planning is done with
respect to who is doing what, when and how. 4
The Waterfall Model
It illustrates the software development process in a linear
sequential flow.
The outcome of one phase acts as the input for the next
phase sequentially
In this model, the phases do not overlap.
It was widely followed in the 1970s and '80s and served
successfully as a process model.

5
The Waterfall Model (Royce 1970)

6
The Waterfall Model
1. Requirements: Collect all possible requirements, define clearly,
and document them. (Requirement Gathering and analysis)
2. Design: The architecture of the system is designed in this phase.
3. Coding and unit test: The actual coding of the software is done
in this phase. This coding is done based on the model finalized in
the design phase. So, in this phase software is developed and
tested.
4. System integration: Link all parts, install and test as a whole
(Integration and Testing)

7
The Waterfall Model
5. Maintenance:
 This step occurs after installation, and involves making
modifications to the system or an individual component to alter
attributes or improve performance.
 These modifications arise either due to change requests initiated
by the customer, or defects uncovered during live use of the
system.
 The client is provided with regular maintenance and support for
the developed software.

8
Advantages and Disadvantages of
Waterfall-Model
Advantages Dis-Advantages
•Before the next phase of development, each phase •Error can be fixed only during the phase
must be completed
•Suited for smaller projects where requirements are •It is not desirable for complex project where
well defined requirement changes frequently
•They should perform quality assurance test before •Testing period comes quite late in the
completing each stage developmental process
•Elaborate documentation is done at every phase of •Documentation occupies a lot of time of
the software's development cycle developers and testers
•Project is completely dependent on project team •Clients valuable feedback cannot be included with
with minimum client intervention ongoing development phase
•Any changes in software is made during the •Small changes or errors that arise in the completed
process of the development software may cause a lot of problems

9
Incremental Development
Notice that
Successful large system is originally
successful small project that grows
incrementally.
Two incremental models:
• Spiral Model
• Iterative approach

10
Prototyping
Prototype is a system or partially complete
system that is built quickly to operate some
aspects of the requirements.
Thus, it may have poor performance, less
functionality, limited data processing
capacity, and low quality.

11
12
The Spiral Model (Boehm, 88)

13
Spiral Model’s 4 Sectors
1. Objectives setting: specific objectives for the
phase are identified.
2. Risk assessment and reduction: risks are assessed
and activities put in place to reduce the key risks.
3. Development and validation: a development model
for the system is chosen. Validation involves
functionality testing of the features using white
box/black box testing.
4. Planning: the project is reviewed and the next
phase of the spiral is planned.
14
The Spiral Model’s properties
Risk-driven and incremental development process
Process is represented as a spiral rather than as a sequence of
activities with backtracking.
Each loop in the spiral represents a phase in the process.
No fixed phases such as specification or design
Loops in the spiral are chosen depending on what is required.
Risks are explicitly assessed and resolved throughout the
process.
The main advantage of this process model is the availability
of multiple feedback opportunities with the users and
customers. Additional Functionality can be added at a later
date.
15
Contd….
Disadvantages of Spiral model:
• Can be a costly model to use.
• Doesn’t work well for smaller projects.

16
The Iterative Approach (Kruchten, 95)

In the iterative approach, the lifecycle


phases are decoupled from the logical
software activities that occur in each phase,
such as requirements, design, and
implementation, during various iterations of
the project.

17
The Iterative Approach: Lifecycle Phases
It has 4 phases
1. Inception: scope & purpose of project
2. Elaboration: analysis of the req. and the
structure of the system
3. Construction: writing the code
4. Transition: installing the system

18
The Iterative Approach:
Lifecycle Phases
1.Inception phase
• The team is focused on understanding the business
case for the project, the scope of the project, and
the feasibility of an implementation.
• Problem analysis is performed, the vision for the
solution is created, and preliminary estimates of
schedule and budget, as well as project risk factors,
are defined.

19
The Iterative Approach:
Lifecycle Phases
2. Elaboration phase
• The requirements for the system are refined, an
initial, perhaps even executable, architecture is
established, and an early feasibility prototype is
typically developed and demonstrated.

20
The Iterative Approach:
Lifecycle Phases
3.Construction phase
• The focus is on implementation.
• Most of the coding is done in this phase, and
the architecture and design are fully developed.

21
The Iterative Approach:
Lifecycle Phases
4. Transition phase
• Beta testing
• The users and maintainers of the system are
trained on the application.
• The tested baseline of the application is
transitioned to the user community and deployed
for use. (Installing the system)

22
The Iterative Approach: Iterations

23
The Iterative Approach: Iterations
Within each phase, the project typically undergoes
multiple iterations.
An iteration is a sequence of activities with an
established plan and evaluation criteria, resulting in an
executable of some type.
Each iteration builds on the functionality of the prior
iteration; thus, the project is developed in an "iterative
and incremental" fashion.

24
The Iterative Approach: Disciplines

25
The Iterative Approach: Disciplines
In the iterative approach, the activities associated with
the development of the software are organized into a set
of disciplines.
Each discipline consists of a logically related set of
activities, and each defines how the activities must be
sequenced to produce a viable work product (or artifact).
Although the number and kind of disciplines can vary,
based on the company or project circumstances, there are
typically at least six disciplines.

26
The Iterative Approach: Disciplines
During each iteration, the team spends as much time as appropriate
in each discipline.
• Thus, an iteration can be regarded as a mini-waterfall through the activities of
requirements, analysis and design, and so on, but each mini-waterfall is
"tuned" to the specific needs of that iteration.
The size of the "hump" indicates the relative amount of effort
invested in a discipline.
• For example, in the elaboration phase, significant time is spent on "refining"
the requirements and in defining the architecture that will support the
functionality.
The activities can be sequential (a true mini-waterfall) or may
execute concurrently, as is appropriate to the project.

27
Requirements in the Iterative Model
From the requirements management
perspective, the iterative approach provides
two major advantages:
1.Better adaptability to requirements change.
2.Better scope management.

28
Key Points
The team's development process defines who is doing what, when,
and how.
In the waterfall model, software activities proceeded through a
sequence of steps, and requirements were "fixed" early.
In the spiral model, the first steps were taken to a more risk-driven
and incremental approach to development.
The iterative approach, a hybrid of the waterfall and spiral models,
decouples the lifecycle phases from the software activities that take
place in each phase.
The iterative model is a more robust model and provides for
successive refinement of the requirements over time.

29

You might also like