Information Technology Reference
In-Depth Information
optimal set of requirements to include in the next release of a software system
has become known as the Next Release Problem (NRP) [13, 113] and the activity
of planning for requirement inclusion and exclusion has become known as release
planning [82, 84].
The NRP deals with the selecting a subset of requirements based on their
desirability (e.g. the expected revenue) while subject to constraints such as a
limited budget [13]. The original formulation of NRP by Bagnall et al. [13]
considered maximising the customer satisfaction (by inclusion of their demanded
requirements in the next version) while not exceeding the company's budget.
More formally, let
C
=
be the set of
m
customers whose re-
quirements are to be considered for the next release. The set of
n
possible
software requirements is denoted by
R
=
{
c
1
,...,c
m
}
. It is assumed that all
requirements are independent, i.e. no requirement depends on others
2
. Finally,
let
cost
=[
cost
1
,...,cost
n
] be the cost vector for the requirements in
R
:
cost
i
is the associate cost to fulfil the requirement
r
i
.
We also assume that each customer has a degree of importance for the com-
pany. The set of relative weights associated with each customer
c
j
(1
{
r
1
,...,r
n
}
≤
j
≤
m
)is
[0
,
1] and
j
=1
w
j
= 1. Finally, it is
assumed that all requirements are not equally important for a given customer.
The level of satisfaction for a given customer depends on the requirements that
are satisfied in the next release of the software. Each customer
c
j
(1
denoted by
W
=
{
w
1
,...,w
m
}
,where
w
j
∈
≤
j
≤
m
)
assigns a value to requirement
r
i
(1
n
) denoted by
value
(
r
i
,c
j
)where
value
(
r
i
,c
j
)
>
0ifcustomer
c
j
gets the requirement
r
i
and 0 otherwise.
Basedonabove,theoverall
score
, or importance of a given requirement
r
i
(1
≤
i
≤
≤
n
), can be calculated as
score
i
=
j
=1
w
j
i
value
(
r
i
,c
j
). The score of a given
requirement is represented as its overall
value
to the organisation.
The aim of the Multi-Objective NRP (MONRP) is to investigate the trade-off
between the score and cost of requirements. Let
score
=[
score
1
,...,score
n
]be
the score vector calculated as above. Let
x
=[
x
1
,...,x
n
]
≤
·
n
asolution
vector, i.e. a binary string identifying a subset of
R
. Then MONRP is defined
as follows:
∈{
0
,
1
}
Definition 3.
Given:
The cost vector,
cost
=[
cost
1
,...,cost
n
]
and the score
vector (calculated from the customer weights and customer-assigned value of re-
quirements)
score
=[
score
1
,...,score
n
]
.
Maximise
n
x
i
while minimising
n
Problem:
i
=1
score
i
·
i
=1
cost
i
·
x
i
.
Representation.
Similar to the test suite minimisation problem in Section 8.1,
the candidate solution for NRP should denote whether each requirement will
be
selected
, i.e. implemented in the next release. For a set of
n
requirements,
{
, a candidate solution can be represented with a binary string of
length
n
:the
i
-th digit is 1 if
r
i
is to be included in the subset and 0 otherwise.
2
Bagnall et al. [13] describe a method to remove dependences in this context by
computing the transitive closure of the dependency graph and regarding each re-
quirement and all its prerequisites as a new single requirement.
r
1
,...,r
n
}
Search WWH ::
Custom Search