intelligent requirement prioritization using fuzzy abdul rauf, abdul basit siddiqui, sajid anwar,...

Download Intelligent Requirement Prioritization using Fuzzy Abdul Rauf, Abdul Basit Siddiqui, Sajid Anwar, Muhammad

Post on 09-Jan-2020

1 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Intelligent Requirement Prioritization

    using Fuzzy Logic

    by

    Muhammad Ramzan, MS (CS), MSc (CS)

    A thesis submitted in partial fulfillment of the requirements for the degree of Doctor of

    Philosophy to the National University of Computer & Emerging Sciences

    Department of Computer Science

    National University of Computer & Emerging Sciences,

    Islamabad, Pakistan.

    (July 2010)

  • ii Inte

    elligent Requuirement Pri

    oritization uusing Fuzzy LLogic

  • iii

    Dedicated to my parents, my teachers, my

    wife and my son

  • iv Intelligent Requirement Prioritization using Fuzzy Logic

    Acknowledgements

    I would like to bow my head before Allah Almighty, the Most Gracious, and the Most

    Merciful, whose benediction bestowed upon me talented teachers, provided me sufficient

    opportunity, and enabled me to undertake and carry out this research work.

    This dissertation describes research undertaken at the department of Computer Science,

    National University of Computer & Emerging Sciences, Islamabad, between July 2008 and June

    2010, under the supervision of Prof. Dr. Arshad Ali Shahid, to whom I am indebted for

    suggesting the subject and for his encouragement, guidance and support throughout the research

    program. His advice, discussion, and effective comments were always a source of motivation.

    I am also thankful to Dr. Anwar M. Mirza and Dr. Rauf Baig, who not only managed and

    administrated my research activities, but also guided and encouraged my innovative ideas and

    gave me full moral support at every stage of my research work.

    I would not have reached this stage but for the prayers, love and moral support of my

    parents and my family. I would like to thank my brothers, sisters, my wife and all other well-

    wishers. I would also like to pay tribute to my friends Arfan Jaffar, Ayyaz Hussain, Amjad Iqbal,

    Abdul Rauf, Abdul Basit Siddiqui, Sajid Anwar, Muhammad Nazir, Muhammad Aamir, Naveed

    Iqbal, Naveed Kazim, Hassan Mujtaba and Sheeraz Akram.

    I am also extremely thankful to Dr. Aftab Maroof, Director, FAST-NUCES, Islamabad

    who not only allowed me to do my research work in FAST, but also appreciated my innovative

    ideas and gave me full moral support. I am much indebted to Mr. Arif Shah, Mr. Kazim Ali

    Syed, Ms. Tehmina, Ms. Summaya, Mr. Naveed Ul Hassan, Mr. Usman Tariq, Mr. Muhammad

    Ali, Mr. Amanullah Khan and Mr. Mehboob Qureshi at Islamabad Campus for providing much

    needed academic support during my research.

    I acknowledge the enabling role of the Higher Education Commission of Pakistan and the

    senior administration of National University of Computer and Emerging Sciences (FAST-

    NUCES). I am thankful and will always appreciate their financial and academic support through

    Indigenous PhD Scheme.

  • v

    Table of Contents

      Chapter 1: Introduction ................................................................................................................... 1 

    1.1  Problem Statement ........................................................................................................... 1 

    1.2  Contribution ..................................................................................................................... 3 

    1.3  Thesis Organization .......................................................................................................... 4 

    Chapter 2: Requirement Engineering .............................................................................................. 6 

    2.1  Background ...................................................................................................................... 6 

    2.1.1  Requirements ............................................................................................................ 6 

    2.1.2  Requirements Engineering ........................................................................................ 7 

    2.2  Issues in Requirements Engineering ................................................................................ 8 

    2.3  Requirement Engineering Process ................................................................................... 9 

    2.4  REQUIREMENTS PRIORITIZATION ........................................................................ 11 

    2.5  Benefits of Prioritization ................................................................................................ 12 

    2.5.1  Constraint Driven strategy: ..................................................................................... 12 

    2.5.2  Planning the Releases: ............................................................................................ 12 

    2.5.3  Balancing benefits against cost: .............................................................................. 13 

    2.5.4  Negotiating conflicts: .............................................................................................. 13 

    2.5.5  Better Understanding: ............................................................................................. 13 

    2.6  Prioritization Parameters ................................................................................................ 13 

    2.6.1  Time: ....................................................................................................................... 13 

    2.6.2  Cost: ........................................................................................................................ 14 

    2.6.3  Penalty: ................................................................................................................... 14 

    2.6.4  Risk: ........................................................................................................................ 14 

  • vi Intelligent Requirement Prioritization using Fuzzy Logic

    2.6.5  Functionality ........................................................................................................... 14 

    2.7  Prioritization Techniques ............................................................................................... 15 

    2.7.1  Analytical Hierarchy Process .................................................................................. 15 

    2.7.2  Cost-Value Approach.............................................................................................. 18 

    2.7.3  B-Tree Prioritize ..................................................................................................... 19 

    2.7.4  Cumulative Voting, The 100-Dollar Test ............................................................... 20 

    2.7.5  Numerical Assignment (Grouping)......................................................................... 21 

    2.7.6  Ranking ................................................................................................................... 22 

    2.7.7  Top-Ten Requirements ........................................................................................... 23 

    2.7.8  Planning Game (PG) ............................................................................................... 23 

    2.7.9  Theory W ................................................................................................................ 25 

    2.8  Discussion and Findings................................................................................................. 26 

    2.9  Summary ........................................................................................................................ 28 

    Chapter 3: Fuzzy Logic and Software Engineering ...................................................................... 30 

    3.1  Introduction to Fuzzy Logic ........................................................................................... 30 

    3.1.1  Fuzzy Sets ............................................................................................................... 31 

    3.1.2  Fuzzy membership Functions ................................................................................. 32 

    3.1.3  Fuzzy Operators ...................................................................................................... 33 

    3.1.4  Linguistic Variables and Hedges ............................................................................ 34 

    3.2  Fuzzy Inference System ................................................................................................. 35 

    3.2.1  Fuzzification ........................................................................................................... 36 

    3.2.2  Inferencing .............................................................................................................. 36 

    3.2.3  Defuzzification ........................................................................................................ 37 

    3.3  Fuzzy Logic Software Engineering ................................................................................ 38 

    3.4  Fuzzy Logic in Requirement Engineering: Potential areas of Application .................... 41 

  • vii

    3.5  Summary ..............................................................................