Systematic Review of Requirement Elicitation Techniques

Similar documents
Assuming the Role of Systems Analyst & Analysis Alternatives

Requirements Engineering: Elicitation Techniques

Advance Topics in Software Engineering. Topic: Requirement Elicitation Techniques. Case Study: Online Vehicle Trading

Requirements Engineering Process

SOFTWARE REQUIREMENTS

Fourth generation techniques (4GT)

Comparison of Various Requirements Elicitation Techniques

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

A Survey on Requirement Analysis in the Nigerian Context

CDC UNIFIED PROCESS PRACTICES GUIDE

THE IMPORTANCE OF SOFTWARE METRICS: PERSPECTIVE OF A SOFTWARE DEVELOPMENT PROJECTS IN SRI LANKA. samithdf@gmail.com. samwijayarathne@gmail.

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

A SYSTEM DEVELOPMENT METHODOLOGY FOR ERP SYSTEM IN SMEs OF MALAYSIAN MANUFACTURING SECTORS

4.1 Identify what is working well and what needs adjustment Outline broad strategies that will help to effect these adjustments.

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Social Survey Methods and Data Collection

User research for information architecture projects

Single Level Drill Down Interactive Visualization Technique for Descriptive Data Mining Results

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Master of Arts (Education) MAE (Distance Mode)

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

A Framework for Integrating Software Usability into Software Development Process

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Lecture 9: Requirements Modelling

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Optimization of Software Quality using Management and Technical Review Techniques

How to Choose the Right Apparel PLM Solution

Elicitation and Prioritization of Software Requirements

USABILITY OF A FILIPINO LANGUAGE TOOLS WEBSITE

A Survey of Software Development Process Models in Software Engineering

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

Week 3. COM1030. Requirements Elicitation techniques. 1. Researching the business background

Market Research. Market Research: Part II: How To Get Started With Market Research For Your Organization. What is Market Research?

Communication Needs, Practices and Supporting Structures in Global Inter- Organizational Software Development Projects

Requirements Engineering

Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects

IT2404 Systems Analysis and Design (Compulsory)

Perspectives on Innovation & Entrepreneurship from the Silicon Valley & Stanford. Ryan Chin Senior Associate Director

Workflow and Process Analysis for CCC

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Development (60 ЕCTS)

Objectives. Project Management Overview. Successful Project Fundamentals. Additional Training Resources

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

How To Model Software Development Life Cycle Models

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Quality Assurance - Karthik

Creating a Customer Advisory Board Overview and Checklist by Clearworks

The Logical Framework Approach An Introduction 1

A Step towards Software Corrective Maintenance: Using RCM model

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Interview studies. 1 Introduction Applications of interview study designs Outline of the design... 3

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

A Review of an MVC Framework based Software Development

Performance Management Systems: Conceptual Modeling

User experience storyboards: Building better UIs with RUP, UML, and use cases

Research Investments in Large Indian Software Companies

POSITIVE TRENDS IN REQUIREMENT ENGINEERING PRACTICES FOR HIGHER SOFTWARE QUALITY

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

STRATEGIC ORGANIZATIONAL CHANGE

Factors Influencing the Adoption of Biometric Authentication in Mobile Government Security

STRATEGIC DESIGN MANAGEMENT AND THE ROLE OF CONSULTING

Software Development Methodologies in Industry. By: Ahmad Deeb

Cognitive Domain (Bloom)

Project Management Practices: The Criteria for Success or Failure

An Approach towards Automation of Requirements Analysis

A Methodology for Variability Reduction in Manufacturing Cost Estimating in the Automotive Industry based on Design Features

Roadmap for the Development of a Human Resources Management Information System for the Ukrainian civil service

Measuring and Monitoring the Quality of Master Data By Thomas Ravn and Martin Høedholt, November 2008

PassGuide CBAP IIBA CBAP. Cetified business analysis professional (CBAP) appliaction.

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

How To Design An Information System

5. GUIDELINES FOR PREPARING JOB DESCRIPTIONS

Comparative Analysis of Different Agile Methodologies

DATA MINING ANALYSIS TO DRAW UP DATA SETS BASED ON AGGREGATIONS

A Knowledge Base Representing Porter's Five Forces Model

CRISP-DM, which stands for Cross-Industry Standard Process for Data Mining, is an industry-proven way to guide your data mining efforts.

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

2 Business, Performance, and Gap Analysis

Measuring the Impact of Volunteering

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

Training Guide #1: Strategic Planning

Software Requirements, Third Edition

Online Tools for Co-design User Involvement through the Innovation Process

PROJECT MANAGEMENT PLAN CHECKLIST

Policy Profession. Skills and Knowledge framework. Find out more now by going to

The Role of Controlled Experiments in Software Engineering Research

Transcription:

International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 2 (2014), pp. 133-138 International Research Publications House http://www. irphouse.com /ijict.htm Systematic Review of Requirement Elicitation Techniques Shadab Khan¹, Aruna B Dulloo² and Meghna Verma³ ¹Department of Computer Science and Engineering, Sunder Deep College of Engineering and Technology, UPTU, NH-24, Delhi-Hapur Road, Dasna, Ghaziabad-201001, Uttar Pradesh, INDIA. ²Department of Computer Science and Engineering, Inderprastha Engineering College, UPTU, Industrial Area Site IV, Sahibabad, Ghaziabad-201010, Uttar Pradesh, INDIA. ³Computer Science and Engineering, M.Tech Scholar, Inderprastha Engineering College, UPTU, Industrial Area Site IV, Sahibabad, Ghaziabad-201010, Uttar Pradesh, INDIA. Abstract Requirement Elicitation is one of the important factors in developing any new application. Most of systems fail just because of wrong elicitation practice. A requirement may be defined as a demand or need. In software engineering, a requirement is a description of what a system should do. System may have dozen to thousands of requirements. Without the elicitation techniques it is impossible to find out requirements and the needs of the developing system. It provides base to the developer to construct a structure of proposed system keeping in view the wish list of stake holders. This research paper is based on understanding elicitation techniques and their usage in real time applications, by implementing the Elicitation techniques for knowing the needs of stakeholder so that system developer can get clear view of requirement for the developing system. Keywords: Software requirements, Elicitation Techniques, Stakeholders. 1. Introduction Software requirements demand what must be accomplished, shaped or provided. Requirement elicitation is all about knowing the desires of stakeholders (Sadiq.M,

134 Meghna Verma et al 2009). The term requirement has been used in the software engineering society since 1960. The requirements provide a firm basis for the success of the project and delivery of the product. The requirements often shrink the gap between software team and end users. Requirement phase begin at the analysis phase. Requirements are managed throughout the project life cycle. Requirement Engineering deals with a wide range of business domains and tasks like decision, administrative support (Sparrow.L, 2006). Requirement Engineering (RE) is comparatively a new field. Requirement Engineering is a system and processes that covers the activities based on computer system (Arif.S, 2010). Requirement elicitation and requirement management have healthy documented using UML (Unified Modeling Language. The prototypes also used to create system requirements automatically (Meisenbacher.l.K, 2005). Requirement elicitation is a technique to collect the requirements. Requirement elicitation is the main movement in the requirement engineering process (Ganesh, 2008). It occupied to find out the needs and collecting the required software requirements from the stakeholders. Requirement elicitation faced many problems like users involvement and perfect documentation. So there must be need to adopt the technique that could help in recognize and decide the stakeholders (Rozilawati.A, 2011). The most important activity in software project development is the requirements engineering. For a computer based system, activities involved in discovering, documenting, and maintaining a set of requirements are covered by requirements engineering. Due to wrong requirements, numbers of consequences may arise like the system may be delivered late, system may be more costly than the original estimation, end-user and, customer will not be satisfied, system may be unreliable and there may be regular system defects. 2. Requirement Engineering and Elicitation Techniques Requirements elicitation is one of the first activities that tries to define the project scope and elicit user requirements. This activity relies in communication and cooperation between stakeholders which makes collaboration crucial for the success of this activity, especially in global software development projects with distributed teams and stakeholders. 2.1 Requirement Elicitation Requirements elicitation is recognized as the first stage in many requirements engineering (RE) process definitions. The success of the requirements elicitation activity gives high impact on the achievement of the goals set for RE, which leads to the development of correct application. Hence, the development of any application is indispensable from incorporating good practices of requirements elicitation. Infact the consideration has an impact to the usability of the application (Mohd Kasirun, 2005). Requirements elicitation is defined as a process to understand a problem and its application domain. The goal of requirements elicitation is to identify as many requirements as possible to prepare several alternate solutions for the stated problem.

Systematic Review of Requirement Elicitation Techniques 135 The requirements will be written in a user requirements document (URD) as the output of the requirements elicitation activity (Mohd Kasirun, 2005). 2.2 Elicitation Techniques Requirements elicitation techniques are the means by which systems analysts determine the problems, opportunities, and needs of the customers, so that systems developer can construct systems that actually resolve those problems, leverage those opportunities, and/or address customers needs. Elicitation techniques are tools of finding & exact understanding. The goal of Elicitation technique is to find out as many problems as possible so that it could become easier for stake holder to get the best suitable application according to the requirements. 2.3 Types of Elicitation Techniques There are different ways to get the required information and approach problem. One is direct approach, second is indirect approach. First one classifies the methods by whom we interact with the domain expert and second one classifies them by what type of information is obtained. 2.3.1- Direct Approach In direct approach the purpose is to enhance the understanding of the problems of system that is currently in used. Most common techniques used are Interviews, case study, Prototyping. With these tools a comprehensive and comprehensive analysis of total procedure can been done. In this loom it is good to get the more knowledge about system and genuine data. In order for these methods to be victorious, the domain expert has to be reasonably coherent and willing to share information (E. Burge, 2009). 2.3.2- Indirect Approach Indirect methods are used in order to obtain information that cannot be easily articulated directly. Questioners, documents analysis are its examples. Important thing in this approach is, how thing are clarify by using figures and statistics. In it a large quantity of data can be gathering from analyzing the documents. The results acquire from this type of investigation are easy to measure and an applicable test suggestion can be driven from them. 2.4 Various Requirement Elicitation Techniques The various requirement elicitation techniques are: 2.4.1 Interview Interviewing consists of asking the domain expert questions about the domain of interest and how they perform their tasks. Interviews can be unstructured, semistructured, or structured. The success of an interview session is dependent on the questions asked (it is difficult to know which questions should be asked, particularly if the interviewer is not familiar with the domain) and the ability of the expert to

136 Meghna Verma et al articulate their knowledge. The expert may not remember exactly how they perform a task, especially if it is one that they perform automatically". Some interview methods are used to build a particular type of model of the task. The model is built by the knowledge engineer based on information obtained during the interview and then reviewed with the domain expert. In some cases, the models can be built interactively with the expert, especially if there are software tools available for model creation (E. Burge, 2009). 2.4.2 Questionnaires Questionnaires are very important technique in requirement elicitation techniques, questionnaires helps to get the information from many peoples, analyst can gather opinions from two ways: to get statistical evidence for an assumption, or to gather opinions and suggestions. 2.4.3 Observation In Observation methods, the knowledge engineer observes the expert performing a task. This prevents the knowledge engineer from inadvertently interfering in the process, but does not provide any insight into why decisions are made (E. Burge, 2009). 2.4.4 Documents Analysis Document analysis involves gathering information from existing documentation. It may or may not involve interaction with a human expert to confirm or add to this information (E. Burge, 2009). It s an indirect method and varies depending on available documents, interaction with experts. In it we find out how expert organizes and processes task information and how it is compiled to present to others. Documents have a vital role in any organization, documents like an organizational chart is a diagram that illustrate the structure of an organization in terms of relationships among personnel or departments. Moreover with the help of manuals of existing system gathering of information about existing system and its functions can be analyze that how it work and how it can perform different functions. An organizational chart also represents lines of authority and responsibility of the personnel working in an organization. An organizational chart is a horizontal or vertical tree like shape that contains different geometric shapes to represent staff working in an organization. The lines that connect the shapes illustrate the relationships between the positions. An organizational chart indicates the proper structure of a business or company. Document analysis involves gathering information from existing documentation. May or may not involve interaction with a human expert to confirm or add to this information (E. Burge, 2009). 2.4.5 Prototyping Prototyping has been used for elicitation where there is a great deal of uncertainty about the requirements, or where early feedback from stakeholders is required (Davis,

Systematic Review of Requirement Elicitation Techniques 137 1992). Actually prototyping is the process to build the model about the system, prototypes help the system designers to build the information system according the requirements and easy to manipulate for end users. Prototyping is an iterative process and it is also part of the analysis phase of system development life cycle. Prototyping can extend the information collection process, because prototyping can convert the basic things (indefinable requirements into definable requirements). With the help of the prototyping we can get feedback from the users, users can see facilities and provide the response and then system analysts can evaluate the response and also modify the existing requirements as well as developing new ones. Prototyping save the cost and ambiguous work. Developers use the prototyping and conceive the idea that how it would work in real life. Prototyping experiment provides the two kinds of requirements. Product level requirements: In this level, prototyping define the required functionality is realistic and useful (Lauesen, 2004). Design-level requirements: In this level, prototyping define such an interface statistics for goals of the system (Lauesen, 2004). Prototyping technique has some advantages and disadvantages in development of the system. Some Advantages: Helps the developers and reduce the development time. Reduce the development costs. Invite the users to contribute. System analysts and developers receive the productive feedback. Prototypes may demonstrate progress at an early stage of development. Prototypes clear the many things in front of the users. Provide the high contentment of the users. Some Disadvantages: May be follow insufficient analysis.. Sometimes leads to incomplete documentation. In practical sense, prototyping increase the quality and communication between the user/analyst and the end users, how to make good software according to the requirements. With passage of time, importance of the software prototyping is increasing rapidly in development. Prototyping is the demo before the actual software. Instead of software prototyping, several information systems consultants and researchers use low tech prototyping tools (paper prototypes) especially for initial system analysis and design. 3. Conclusions With the research report and by implementing elicitation techniques it has been observed in requirement engineering, requirement elicitation is like and backbone. It is initial process and towards creativity and based for making any software. Requirement elicitation deals with fact-finding, information gathering and getting the requirements. Requirement elicitation techniques are of great importance in all aspect because these techniques are keys to success of any developing system. There is no single techniques which fulfill all the demand of requirement elicitation and information gathering but it is necessary to keep in mind that success of requirement elicitation didn t depend upon number of techniques used but how these techniques are used and how exact the approach is to meet the stakeholder demands.

138 Meghna Verma et al 4. Acknowledgements The authors take this opportunity to express our sincere gratitude and respect to Mohd. Sadiq, Asst. Professor, Computer Engineering Section, University Polytechnic Faculty of Engineering and Technology, Jamia Millia Islamia (A Central University), New Delhi. who gave us assistance with their experienced knowledge and whatever required at all stages of writing the research paper. References [1] Arif.S. et. al. (2010), Article in an International journal, Requirements Engineering Processes Tools / Technology & Methodologies. Int. Journal of Reviews in Computing. Islamabad, Pakistan. [2] Davis, A. (1992). Article in an edited book, Operational Prototyping: A New Development Approach. Software, 9(5): 70-78. [3] Ganesh and Gunda (2008), Book Title, Requirement Engineering: Elicitation Techniques.Dept of Technology, Mathematics and Computer Science, Sweden. [4] Janet E. Burge (2009), Knowledge Elicitation Tool Classification, Artificial Intelligence Research Group, Worcester Polytechnic Institute. [5] Meisenbacher.l.K. (2005), Article in conference, The Challenges of Tool Integration for requirements Engineering, Proc. of SREO 05. France. [6] Rozilawati.A and Fares.A (2011), Article in a regular journal, Selecting the Right Stakeholders for Requirements Elicitation: A Systematic Approach. Journal of theortical and Applied Information Technology. Malaysia, Vol.33, No.2, pp.250-257. [7] Sadiq.M and Mohd.S (2009), Article in an International journal, Elicitation and Prioritization of Software Requirements. Internation Journal of Recent Trends in Engineering, Vol.2, No.3, pp. 138-142. [8] Soren Lauesen (2004), Article in an edited book, Software requirement: Survey of elicitation techniques, pp. 347-358. [9] Sparrow.L. et. al. (2006), University of Readings, The Slow Wheel of Requirements Engineering Research: Responding to the Challenges of Societal Change, Deakin University, Australia. [10] Zarinah Mohd Kasirun (2005), Article in an International journal, A Survey on the requirements Elicitation Practices among Courseware Developers, Malaysian Journal of Computer Science, Vol. 18 No. 1, pp. 70-77.