Professional Documents
Culture Documents
1 Introduction
Requirement engineering necessitates classification of elicited requirements based
on their nature of implementation and the analysis of relationships among these
requirements. Conflicts often arise while eliciting these requirements from dif-
ferent stake-holders with varying interests and perspectives; detection and res-
olution of these conflicts is mandatory making analysis of requirements as the
mainstay of requirement engineering process. If no requirement or subset of
requirement interferes with other stakeholder requirements then the Software
Requirement Specification document is said to be stakeholder consistent [1]. In-
accurate, ambiguous, and conflicting requirements are the most common reasons
for a products cost and schedule overruns failing to satisfy user expectations in
terms of functional and quality aspects of the delivered system [2]. Requirement
Engineering is not just a single phase of software development process rather it
is a complex process comprising of different sub activities that together lay the
foundation of a software product on which software development of a product
commences [3]. Requirement problems are widely responsible for the quality and
effectiveness of the software [4] making their elicitation and analysis a critical
pair of activities of the RE phase.
This paper identifies some core areas from RE research literature to develop a
deeper understanding of conflicts that arise between software requirements dur-
ing RE process. This research investigates the identification of conflicts, their
classification based on the nature of their criticality and their treatment be-
fore exiting the RE process to prevent propagation of these conflicts minimizing
their affect in later phases of software development process. A conflict oriented
requirement process has been proposed called COREA spreading over of two
major activities of the RE process for conflict resolution starting from require-
ment elicitation and spanning to the requirement analysis activity. Each of these
activities are organized into a predefined set of sub activities that together ease
conflict identification and resolution for a requirement engineer. Mode of valida-
tion used for studying effective of COREA involves a case study conducted on
software development process of a module of a University Management System.
Section 2 provides a coarse grained overview of the RE process. Section 3
presents some research methodologies studied as part of literature. Section 4
explains the working of the COREA framework. Section 5 presents the case
study results that evaluate behavior of COREA to develop a customer consistent
software requirement specification. Section 6 gives conclusion and future work
for this research.
Requirements are statements of stakeholders about the system that when im-
plemented will satisfy their needs. Further, a single software requirement can
consist of many parts. Problem arises when one or more requirements or part of
a requirement is inconsistent with and contradicts with other requirements. Such
requirements are called conflicting requirements and can lead to fatal feature or
quality failures of a software product. Absence of a formal conflict resolution
process can lead to dissatisfaction of stakeholders eventually ending up in fail-
ure of the resultant system. Barry Boehm and Hoh In [7] presented numerous
case studies which suffered drastic failures due to requirement conflicts of the
developed systems.
The purpose of this research is to investigate the existing methods and deter-
mine a suitable framework for conflict resolution that is easy to understand and
implement by a requirement engineer having limited conflict resolution expertise.
3 Research Methodology
Boehm and Hoh In used a knowledge based tool called the Quality Attribute
Risk and Conflict Consultant (QARCC) that operated on the WinWin system
that worked on the following principles:
5 Nature of Requirements
Requirements can be broadly divided into two major types’ namely functional re-
quirements (FRs) and non functional requirements (NFRs). Every FR has one or
more NFRs associated with it. Issues often arise due to technical or stakeholder
conflicts preventing successful implementation of requirements [1]. These unde-
sirable interactions or contradicting elements among requirements that hinder
mutual satisfaction of requirements produce conflicting set of requirements that
need to be resolved. Over-lapping or conflict parts of a requirement can be better
illustrated in Figure 4 below. Conflicts in functional requirements mainly arise
due to participation of multiple stakeholders while defining operational features
of a system. Such conflicts are even more obvious to incur for non functional
or quality requirements of a system. Optional requirements are those which can
be integrated into the system but can be delayed for implementation in later
versions of the system. Conflicts in functional set of requirements can lead to
immediate failure of the operational features of the system while conflicts in
quality requirements of a system can lead to dissatisfaction on part of the user
which disintegrates system performance. Hence, functional and non functional
requirements both need to be resolved for different conflicts.
Fig. 4. Overlapping or Conflicting Requirements
The COREA approach does not venture into the details of the different types
of func-tional and non functional requirements as ample literature is already
available in that regard focusing majorly on the relationship of requirements
both FRs and NFRs that are necessary for success of the software. Since both
are equally important for the successful deployment of a software system, there-
fore, it just classifies them broadly into the above MR, ER, and OR classifica-
tion. COREA applies its conflict resolution strategy on these set of requirements
starting from the requirement elicitation phase which is where these conflicts ac-
tually get injected in. It follows cycle of the following sub activities to accomplish
conflict resolution:
Essential requirements define functionality (FR and NFR) that are secondary
to the goals of the system consisting majorly of non functional requirements.
Fig. 7. Mandatory Requirement Conflict Prevention
These require-ments are those without which a system cannot pass acceptance
testing in its opera-tional environment. Essential requirements are the same as
secondary requirements explained in [8]. Examples include functions that aid the
mandatory requirements like managing them or the data generated by the sys-
tem making conflict resolution of such requirement necessary. Different conflict
resolutions have been proposed in research literature [12]. Conflict resolution
strategy used in our proposed framework is illustrated in Figure 8 for above
identified requirements is as follows:
1. Requirements are analyzed for conflicts.
2. Conflicting parts of ER are divided using the Divide-and-Conquer principle
[8] which states that if a requirement has parts that contradict or conflict
with parts of other requirements then it is useful to separate these parts and
resolve the conflicts.
3. Using Divide and Conquer, conflicts are detected and resolved through nego-
tiations using suggested alternatives. Since majorly these requirements are
quality oriented NFRs therefore these can be resolved for conflicts by divid-
ing them and then integrating both requirements by combining them and
achieving a common perspective for its implementation.
For example, ”after three incorrect log-in attempts the system should block the
user account which being tried to gain access”, related conflict ”system should
never block the account of a user for incorrect log in attempts”. Since, ER is
necessary set of requirements providing support to the mandatory requirements
their fulfillment is necessary. Hence, by applying the above strategy of Conflict
Detection and Removal; by the end of requirement analysis conflicts in ER are
completely resolved.
Optional requirements (OR) are requirements which can be left untreated
and do not have an impact on the deployment of the system and on the user ac-
ceptance tests that are conducted in the operational environment. For example,
if Stakeholder A has a requirement that means changing the entire layout of the
system user interfaces. This would mean following the COREA cycle again, ne-
gotiating with other involved stakeholders who may have different opinions and
making amendments. When the cost of resolving such a conflict of additional
requirements is greater than the benefit of the requirement implementation then
Fig. 8. Requirement Conflict Detection & Removal
we group such requirements under OR group and delay their resolution to fu-
ture implementations when these requirements will undergo COREA cycle for
resolution of these conflicts. We will contain affect of these requirements. The
customer will be ensured that future version of the product will entertain this
change request. Conflict containment is depicted in Figure 9 below.
COREA begins from requirement elicitation phase of the RE process and follows
a cycle of the below listed steps to resolve conflicts that may arise in requirements
start-ing from elicitation and spanning to the requirement analysis activity. After
filtering requirements as they are elicited, conflicts are prevented in mandatory
requirements as they are most crucial for fulfillment of primary features of the
software system. Essential requirements and optional requirements are passed
on to the requirement analysis where these requirements are further analyzed.
Essential requirements are analyzed using divide and conquer principle and then
are resolved for identified conflicts through negotiations with the participating
stakeholders. Optional requirements are not resolved for their conflicts neutraliz-
ing their affect they are documented in the Software Requirement Specification
(SRS) Document for postponed implementation. MR, ER and OR are docu-
mented in the SRS after which they are passed on to the validation phase of the
RE process for testing their execution. This process has been illustrated in the
below given COREA workflow when working within a RE process.
to identify these requirements that were more liable to conflicts and a Conflict
resolution strategy was pro-posed to resolve these conflicts. A case study was
conducted in which the proposed model was employed while the RE process to
identify and resolve different types of conflicts that arise in a real world envi-
ronment. The results of this case study indicated successful identification and
resolution of different types of conflicting requirements involving stakeholders
from different perspectives and interests.
The concept of using a simulation in this regard is appealing to our fu-
ture work. It involves identifying other existing conflict resolution techniques
(not discussed in this paper) and simulating a virtual environment validating
and comparing performances of these varying models to identify the position of
COREA against these models. Since practically it is time consuming and risky
to employ existing conflict resolution models for an RE process, it was thought
wise to use a simulation for achieving our future goal to study this challenging
area.
References
1. William N.Robinson, Vecheslav Volkov. ”Requirement Conflict Restructuring”.
Conflict-Oriented Requirement Restructuring, GSU CIS Working Paper 99-5, pp.
1-47, 1999
2. El Emam Khalid and Madhavji H.Nazim. ”A Field of Requirements Engineering
Practices in Information Systems Development”. Second International Symposium
on Requirements Engineering, 1995, pp.68-80.
3. Sommerville I., Sawyer P. and Viller S. ”Improving the Requirements Process,
Fourth Inter-national Workshop on Requirements Engineering: Foundation of Soft-
ware Quality, 1997, pp.71-84
4. Sommerville I. Software Engineering fifth Edition, Addison-Wesley, 1996.
5. Pamela Zave. ”Classification of research Efforts in Requirement Engineering”, ACM
Computing Surveys, Vol. 29 No.4, 1997, pp.315-321.
6. Roger S. Pressman. ”Software Engineering: A practitioner’s Approach”, McGraw-
Hills Publication, Fifth Edition, 2001.
7. Barry Boehm and Hoh In. ”Identifying Quality- Requirement Conflicts”. Proceed-
ings of IEEE Software, March 1996, pp.26-35.
8. EltjoR.Poort.””. Proceedings of the Fourth Working IEEE/IFIP Conference on Soft-
ware Architecture (WICSA’04),2004, pp.1-10.
9. R R Dube and S K Dixit.” Process-oriented Complete Requirement Engineering
Cycle for Generic Projects”. International Conference and Workshop on Emerging
Trends in Technology (ICWET 2010) -TCET, Mumbai, India,2010, pp. 194-197.
10. T. Gilb. ”Principles of software Engineering Management”. Addison Wesley, 1988.
11. M. T. Jelassi, A. Foroughi.”Negotiaition Support Systems: An Overview of Design
Issues and Existing Software”. Decision Support Systems,1989, pp.167-181.
12. M. Klein. ”Supporting Conflict Resolution in Cooperative Design Systems”, IEEE,
Trans-actions on Systems, Man and Cybernetics, 1991, pp. 1379-1390.
13. J. Boch.”Design And Use of Software Arcgitectures”, Addison Wesley, 2000.
14. F. Bachmann, L. Bass and M. Kevin. ”Preliminary Design of Arche: A Soft-
ware Architec-ture Design Assistant. Technical Report CMU/SEI-2001-TR-035,
SEI, 2003.
15. F. Bachmann, L. Bass and M. Kevin. ”Deriving Architectural Tactics: A Step
toward me-thodical Architectural Design”, Technical Report CMU/SEI-2001-TR-
035, SEI, 2003.
16. H. de Bruin H. Van Vleit.”Top to down Decomposition of Software Architectures”.
Pro-ceedings of 9th Annual IEEE software, pp. 25-35, 1996.