Covid-19 Update: We've taken precautionary measures to enable all staff to work away from the office. These changes have already rolled out with no interruptions, and will allow us to continue offering the same great service at your busiest time in the year.

Automated Tool for Analysis of Requirements Engineering Techniques

3944 words (16 pages) Essay in Engineering

18/05/20 Engineering Reference this

Disclaimer: This work has been submitted by a student. This is not an example of the work produced by our Essay Writing Service. You can view samples of our professional work here.

Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of UK Essays.

Abstract:

From the last decade, researchers and practitioners have well recognized the significance of Requirements Engineering. Requirements phase is the foundation stone on which entire building named software can be built. There are several Requirements engineering (RE) techniques exists but selecting a RE technique for a developing a particular software project is generally dependent on analyst own preference or organization practices rather than attributes of RE techniques and their mapping with project, people or other factors. Some researches also depicted that few efficient techniques are nowadays becoming obscure due to their lack of usage. There is only little guidance available to analyze the RE technique that are only based on application domain. All the existing researches focus only on qualitative measures but there is no physical measures consideration while analyzing and accepting RE technique for a particular project. Nowadays customers satisfaction is also gaining great importance so customer perspective should be taken into account while analyzing RE techniques. There is a need to thoroughly comprehend and evaluate all the existing RE techniques with respect to analyst preferences, client experiences, project attributes, software process model characteristics. The goal of this paper is to study and list all possible requirement engineering techniques related to Elicitation, Prioritization, Documentation, Verification and Validation, etc. Attributes of each RE technique has been analyzed using Fuzzy C mean clustering and K mean clustering method. The results of clustering provide a set of techniques, from which requirements engineer can select for specific phase of requirements engineering. The research work presented in this paper is a small automated module of the whole system which is going to be described in our further research work.

Keywords: Software Engineering, Requirements Engineering, Technique Selection, Clustering, Requirement Elicitation, Elicitation Techniques etc.

INTRODUCTION

The prime objective of Software Engineering (SE) is to develop and maintain high standardized and qualitative software products within the pre-agreed budget and in predictable time duration. Conflicting this motive of software engineering, researches illustrates that most of the software projects fail due to issues like poor requirements, missing requirements, conflicting requirements, inappropriate quality, schedule and cost [1][11]. Requirements engineering (RE) plays a crucial part in software development process and act as the central part for developing software that ensures the overall quality of a software product [2][3][4][5]. Complete understandable requirements eliminate misinterpretations and faults in earlier stage of development. As the system starts to be developed, the time and the cost of fixing these errors is goes farther. To perform qualitative requirements engineering, analyst or requirements engineer should have in-depth knowledge and understandability of all RE techniques and other situational characteristics that impact the software project development.  Presently, there are plentiful techniques available that illustrates all different facets of the RE process and their support to implement several types of projects [6]. Though, the applicability of RE technique with respect to particular software project is not know in advance due to the intrinsically indefinite nature of RE. This is the biggest challenge confronted by RE community. Therefore, so far very inadequate work has been reported that helps to analyze RE techniques [7][8][9][10].

However, present research about RE technique selection does not deliver adequate RE techniques analysis. Hence, a logical linking between available RE techniques and factors effecting the selection process is required. There is a need to build a framework that helps the analyst or requirements engineer to understand which techniques is better for what situation and related to project perspective, analyst preferences, client experiences, software process model characteristics. This part of our main research shows how to analyze various attributes with respect to RE techniques

The goal of this research work is to study and listing of all possible requirement engineering techniques related to Elicitation, Prioritization, Documentation, Verification and Validation, etc. All the attributes of requirement engineering techniques are analyzed and input matrix is formed

comprehending weight to each attribute. We have used Fuzzy C mean clustering and K mean clustering to make clusters that suggest set of RE techniques for Elicitation, Documentation, Verification and validation, Prioritization etc. as per input matrix.  Further this attribute analysis of each RE techniques is utilized to produce final model which make automation of RE process modeling and suggest desired RE techniques for given set of environment variables i.e. project attributes like project complexity, size, experience, time constrain, cost, safety criteria, dynamicity, experience of project team etc.

The remainder of this paper is systematized as follows. Section II, provides description of methodology for analyzing RE techniques. Section III, describes an overview of Technique Evaluation. Section IV, explains basic clustering algorithm for technique selection. At the last, conclusion is presented in Section V.

II. METHODOLOGY FOR ANALYZING REQUIREMENTS ENGINEERING TECHNIQUES

 

We have performed in depth literature study for identification of available RE techniques. We gathered valuable information related to RE techniques and the parameters from research papers published in IEEE conferences, reputed IEEE transactions, Scopus indexed journals and Elsevier, white papers, existing project documents, experience reports. We have identified 46 RE techniques. All the RE techniques and their related applicability in RE process is illustrated in Table 1.

The techniques listed in table1 are the selected demonstrative RE techniques that widely known in industry and possess well-defined scope in major phases of the RE process. Analyzing RE techniques comprises the below three steps:

  1. Study and listing of all possible requirements engineering techniques.
  2. Identification and Analysis of attributes of requirement engineering techniques and formation of input matrix.
  3. Detailed analysis of each technique using a clustering method.

The subsequent sections explain in details about the whole analysis process.

III. STUDY AND LISTING OF ALL POSSIBLE REQUIREMENT ENGINEERING TECHNIQUES

 

Several techniques are available for various phases of requirements engineering. Following criteria was adopted for the listing of RE techniques: –

  • RE techniques that were widely used commonly were listed.
  • RE techniques that can commonly use for more than one phase of RE process model were given priority as use of single technique in various phases may require less expertise of RE engineers and project team will also feel comfortable due to familiarity with techniques.
  • RE techniques that already used in previous research journals whose results and feedback available were chosen so that output of this framework can be easily compare with previous research work.
  • RE techniques were selected in such a way that almost every attribute can be addressed.
  • RE techniques were selected in such a way that physical estimation of maximum attributes was possible.

Cataloging and classification of existing RE techniques necessitates the description of attributes that characterize these techniques. The 46 RE techniques analyzed and compared during this research are listed in Table 1 together with the major stages in which these techniques can be applied.

Table 1: RE Techniques

Serial Number

Technique Name

1.

Brain Storming and Idea Reduction

2.

Designer as Apprentice

3.

Observation

4.

Ethnography

5.

Focus Group

6.

Interview

7.

Contextual Inquiry

8.

Analysis Laddering

9.

Viewpoint-Based Elicitation

10.

Exploratory Prototypes

11.

Evolutionary Prototypes

12.

Viewpoint-Based Analysis

13.

Repertory Grids

14.

User Scenarios

15.

JAD

16.

Soft System Methodology (SSM)

17.

Goal-Oriented Analysis

18.

Viewpoint-Based Documentation

19.

Workshop

20.

Representation Modeling

21.

Functional Decomposition

22.

Decision Tables

23.

State Machine

24.

State Charts

25.

Petri-nets

26.

Structured Analysis

27.

Real Time Structured Analysis

28.

Object Oriented Analysis

29.

Problem Frame Oriented Analysis

30.

Survey/Questionnaire

31.

Introspection

32.

Document Analysis

33.

Prototyping

34.

Card Sorting

35.

Quality Function Deployment

36.

Fault Tree Analysis

37.

Structured Natural Language Specification

38.

Viewpoint- Based Verification and Validation

39.

Unified Modeling Language (UML)

40.

Zed (Z)

41.

LOTOS

42.

SDL

43.

Formal Requirements Inspection

44.

Requirements Checklist

45.

Utility Test

46.

Brain Storming

47.

Bubble Sort Technique

48.

MOSCOW

49.

Hundred Dollar Method

50.

Analytical Hierarchical Processing

51.

Numerical Assignment

52.

Value Oriented Prioritization

53.

Priority Weighting

54.

Cumulative Voting

55.

Playing Game

56.

Vienna Development Method (VDM)

  1. IDENTIFICATION AND ANALYSIS OF ATTRIBUTES OF REQUIREMENT ENGINEERING TECHNIQUES AND FORMATION OF INPUT MATRIX

Attributes are the parameters that differentiate each and every technique from one another. Attributes selection focuses on five major factors: Project domain attributes, software process model attributes, organizational aspects, analyst understandability, client’s preferences and experience. Both functional and nonfunctional requirements were considered for RE technique attributes selection. Attributes analysis process follows following steps:

  • RE technique attributes were listed from existing research papers and journals as their results can be compared with our research.
  •  RE technique attributes were selected such that they cover five major factors of RE process.
  • RE technique attribute were analyzed in such a way that they can be analyzed or we can say estimated from set of laws. For example, complexity is rated Very High if higher mathematical calculation involves, time consuming process, least derivation may tend wrong results etc. Cost may treat very low if technique may implement with existing resources, less RE staff required and project team already familiar with the techniques due to its common nature.
  • RE technique attribute analysis and weight is assign to each attribute.

Based on our analysis, 38 attributes (Listed in Table 2) for RE techniques were defined. Table 2 shows the attributes of RE techniques that link with the one of the phases of the RE process. Each attribute is well-defined with a list of measures and conditions to certify its measurability. Weight Assignment Method is used for all attributes, i.e. the attribute values are set as not relevant, very low, low, medium, high and very high. The weight assignment method is shown in Table 3. For example, ambiguous requirement finding is related to verification and validation hence exclusive requirements elicitation technique like Interview will have zero value for such field.

Table 2 Attributes of Requirements Engineering Techniques

Serial No.

Attributes

1.

Scalability

2.

Feasibility

3.

Degree of Communication

4.

Use of latest calculation and scientific tools

5.

Modularity

6.

Expressibility

7.

Reusability

8.

requirements verification capability

9.

Verification capabality

10.

Validation capability

11.

How many RE phases covers

12.

social issues understanding capabilities

13.

Capability of Gathering and use of Non funcational requirements

14.

Ability to get domain knowledge

15.

Customer Negotation capabilities

16.

Ability to get implicit knowledge

17

Ability to identify stakeholders

18

Ability to identify non-functional requirements

19

Ability to identify various viewpoints

20

Ability to model and understand requirements

21

Understanding ability for the notations used in analysis

22

Ability to facilitate the negotiation with customer

23

Ability to prioritize the requirements

24

Ability to identify the accessibility of the system

25

Ability to model interface requirements

26

Ability to identify and support requirements reuse

27

Capabilities to  identify the unambiguous requirements

28

Completeness of the semantics of the notation

29

Ability to write unambiguous and precise requirements by using the notation

30

Ability to write complete requirements

31

Capability for requirements management Modularity

32

Capabilities to  identify the interaction

33

Capabilities to  identify the incomplete requirements

34

Capabilities to  support COTS-based RE process

35

Maturity of the supporting tool

36

Learning curve (Introduction cost)

37

Application Cost

38

Complexity of the techniques

Table 3 Weight Assignment Method

Very High

1

High

0.8

Medium

0.6

Low

0.4

Very Low

0.2

Not Related

0

V. DETAILED ANALYSIS OF THE TECHNIQUES USING A CLUSTERING METHOD

 

Clustering is a technique of unsupervised learning and has been widely used for statistical data analysis in many domains such as medical domain for medical data analysis, data mining, and data analysis for market analysis. Clustering systematizes the data by extracting the fundamental structure either as a set of individuals or as a hierarchy of sets [12]. This describes that clustering methodology let data elements with similar attributes to be systematized into groups. There are a various clustering method exists, such as K-Means clustering, Hierarchy Clustering and Fuzzy Clustering. The Fuzzy C- mean clustering method is used in this research. Fuzzy Clustering is used for generating such set which depicts membership weight of each cluster member. The benefits of using Fuzzy C mean clustering are:

  • It suggests bunch of RE techniques rather than single one.
  • It suggests equally competent RE technique as an alternate.
  • It accommodates change in environment variables and suggest alternate bunch in changed condition.
  • Equally opposite techniques are also suggested.
  • One of the major advantages of fuzzy c clustering is that it permits regular associations of data points to clusters measured as degrees in [0,1]. This provide the flexibility to specify that any data points can have its place in more than one cluster.

The basic principle of the Fuzzy Clustering algorithm is to minimize the following objective function:

where m is somewhat real number which is greater than 1, uij depicts the membership of xi in cluster j, xi is the ith of d-dimensional measured data, cj is the d-dimensional center of the cluster, and ||*|| is any norm expressing the similarity between any measured data and the center. Fuzzy partitioning is carried out through an iterative optimization of the objective function shown above, with the update of membership uij and the cluster centers cj by:

This iteration will stop when   where is a termination criterion between 0 and 1, whereas k are the iteration steps. This procedure converges to a local minimum or a saddle point of Jm.

The formal algorithm is :

1. Initialize U=[uij] matrix, U(0)

2. At k-step: calculate the centers vectors C(k)=[cj] with U(k)

3. Update U(k) , U(k+1)

  1. If || U(k+1) – U (k)||< then STOP; otherwise return to step 2.

In FCM, data are bound to each cluster by means of a Membership Function, which represents the fuzzy behavior of this algorithm. To do that, we simply have to build an appropriate matrix named U whose factors are numbers between 0 and 1, and represent the degree of membership between data and centers of clusters.

With the help of Clustering we can take total advantage of the cohesiveness of the every RE techniques in each cluster and also minimizes the cost function. Clustering helps to group RE techniques according to their attributes. RE techniques that makes their room in single cluster share common characteristics and create a foundation for selection to a particular problem domain.

VI. CONCLUSION

Selecting a nearly correct RE techniques for software product development results in inclusive accomplishment of a software project. However, selection process completely depends on in-depth understanding of RE techniques and the associations between them. The above research work helps to understand various RE technique and attribute assignment to each technique. The presented work depicts that clustering method is one of the most efficient method for analyzing RE techniques.

Our future work may be done to incorporate more RE techniques and analyzing the output with applying clustering method with these added RE techniques. Our work is to create a decision support system. The integration of the clustering mechanism into the whole RE process model still has to be done.

 

References

[1] Batra, Mona and Pandey S.K., “Security Testing in Requirements Phase of SDLC”, International Journal of Computer Applications (0975 – 8887) Volume 68– No.9, April 2013.

[2]   Boehm BW (1981) Software Engineering Economics, Prentice Hall.

[3] Macaulay LA (1996) Requirements for Requirements Engineering Techniques. IEEE Proceedings of ICRE, pp. 157 – 164.

[4] Sommerville I, Sawyer P (1997) Requirements Engineering: A Good Practice Guide, John Wiley and Sons

[5] Batra Mona and Bhatnagar Dr. Archana, “Descriptive Literature Review of Requirements Engineering Models”, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 5, Issue 2, February 2015. 

[6] Jiang L, Eberlein A (2003) Requirements Engineering: A Review and A Proposal, Proceedings of the Third ASERC Workshop on Quantitative and Software Engineering, Feb. 17- 18, 2003, Banff, Alberta, Canada.

[7] Tiwari Saurabh, Rathore Singh Santosh, and Gupta Atul, “Selecting Requirement Elicitation Techniques for Software Projects”, CSI 6th International Conference on Software Engineering, CONSEG 2012

[8] Hickey, A.M., Davis, A.M, “Elicitation technique Selection: how do experts do it?” Proceedings of the 11th IEEE International Requirements Engineering Conference, P169 – 178, 2003.

[9] Hickey AM, Davis AM (2003), “Requirements elicitation and elicitation technique selection: a model for two knowledge intensive software development processes”, Proceedings of the 36th Annual Hawaii International Conference on System Sciences, 2003., 6-9 Jan. 2003, Page(s): 96 -105

[10] Kotonya G, Sommerville I (1998) RE, Processes and Techniques, John Wiley & Sons Ltd

[11] Standish chaos report, 2014.

        https://www.projectsmart.co.uk/white-papers/chaos-report.pdf

[12] Jain AK, Dubes RC (1998) Algorithms for Clustering Data. Prentice-Hall

Get Help With Your Essay

If you need assistance with writing your essay, our professional essay writing service is here to help!

Find out more

Cite This Work

To export a reference to this article please select a referencing style below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

DMCA / Removal Request

If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please:

Related Lectures

Study for free with our range of university lectures!