Requirement Engineering Techniques And Tools For Web

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Requirements engineering is the very first step of software development activity where the requirements from clients are stimulated and documented. This phase is highly important for the overall project’s success because all of the rest of phases are based upon the requirements engineering for example design, development, monitoring, evaluation, implementation and maintenance. The process of requirements engineering is iterative and it repeats itself until the project completion. The process models for requirements engineering are the specific set of activities that are used to describe the life cycle for the requirements engineering. There are various process models for requirements engineering for example linear iterative process model, spiral model, linear sequential model and iterative process model. However, every model have some advantages and disadvantages, therefore, there is no perfect process model for software engineering. But, the issues with these software engineering process models can be reduced to some extent by making a dynamic involvement of the shareholders whose requirements are needed to be implemented. Another major element in the requirements engineering is the proper use of software tools in order to perform the successful requirements elicitation. There are numerous tools for example survey, interview, questionnaires, group work, task analysis, CRC cards, card sorting, repository grids, prototyping, observations and many others.

Background of Study:

The initial and most important activity in a software development life cycle is the requirements engineering (Stevens et al, 1998) because all the next phases are directly or indirectly dependent on this significant activity. As the name indicates, the requirements engineering is the process of identifying, maintaining and documenting a set of requirements for the computer-based systems. A number of situations may occur due to colleting incorrect requirements for example the system might be more costly than the expected estimation, dissatisfaction of clients and end users, late delivery, unreliability or the occurrence of some regular system faults. According to a survey study that was conducted by SCPI in the year 1995 revealed that almost 40% - 60% of all the errors found in a software project can be easily tracked back to the faults made during requirements phase. Another survey study conducted by the Standish Group Study in the year 1994 claims that almost 13.1% software projects fail because of the imperfect requirements and about 8.8% software projects fail because of rapidly varying requirements. In the view of various researchers, the best way to kill these issues are to follow the most appropriate processes, practices (David et al, 2001), technologies, methodologies and tools for requirements engineering.

Requirements Engineering:

Software requirements engineering (Bashar and Steve, 2000) is the procedure identifying that aim by discovering the shareholders and their requirements, and properly documenting these requirements in a structured way that is agreeable to evaluation, communication and consequent implementation. The more appropriate definition was given by Zave (Zave, 1997):

"Requirements engineering is the branch of software engineering concerned with the real world goals for functions of and constraints on the software systems. It is also concerned with the relationship of these factors to precise specifications of software behavior and their evolution overtime and across software families."

The distinctive definition of software engineering refers to the development of cost-effective solution to practical issues by implementing the scientific knowledge (Shaw, 1990). A procedure involved in defining the system requirements are known as requirements engineering:

Requirements Engineering Processes:

Like the software development lifecycle, there are several requirements engineering processes that are easily accessible by the users. These are the predefined set of actions that are involved in the improvement of requirements. However, there is no perfect procedure for collecting the requirements, but yet it is potential to design an appropriate or better process model for the requirements engineering.

Input/output for Requirements Engineering Process:

This technique is provided by Kotonia and Sommervile in 1998 in their research which discusses 5 inputs to the process and 3 outputs of the process. These inputs include shareholder requirements, regulations and domain information, organizational standards and existing system information. A specific procedure is implemented on these inputs and the system models, agreed requirements and system specifications are obtained as outputs. These inputs and outputs are identical for all companies (Marjo et al, 2004) in most of the situations but only the requirements are different. This is a common requirements engineering process and it is quite flexible to be implemented by any company for any software project through defining organizational applied regulations and standards. The system models that are one of the outputs of this particular process include the data flow; whereas the object-oriented process models are highly valuable in developing the software system.

Aims and Objectives:

There are various tools available for requirements engineering but most of them are implemented on some particular software projects according to the requirements. Additionally, the use of these software tools differs from situation-to-situation and project-to-project. As, there is no ideal requirements engineering tool so far that has already been developed by the researchers therefore, these already available tools are needed to be categorized according to the type and complexity of the software project. Hence, the critical analysis of requirement engineering process models will be performed in this research work. The major focus of this study will be the identification of any shortcomings in the already developed requirements engineering process models and proper categorization of these models i.e. which model is suitable for which type of project. This categorization will definitely be a useful contribution as a research work in the field of software engineering. Because after this classification of requirements engineering process models, the developers would be able to make a quick decision among these tools like which tool they should adopt in order to collect the requirements in a particular situation of the software project. Hence, this research study will be highly beneficial for the development of upcoming software projects and for the developers as well.

Literature Review:

Requirements Engineering Process Models:

There are various process models for requirements engineering i.e. linear iterative process model, spiral model, linear sequential model and iterative process model. Let us now elaborate them individually.

Linear Iterative Process Model:

The linear iterative process model for requirements engineering was proposed by Kotonya and Sommervile in the year 1998 with few of the iterations used for validating the requirements engineering process repeatedly. These iterations continue until the shareholder’s approval and the ultimate system specifications have been obtained. This model is beneficial for the software system where the requirements should be precise and should be verified multiple times through the prospective stakeholders.

Spiral Model:

The spiral model for requirements engineering was proposed by Kotonya and Sommerville (1998). This model works in the form of spirals. A single spiral represents a comprehensive version of the specifications on the basis of which the entire software system is needed to be developed. Each of the spirals is distributed into four quadrants that are known as requirements elicitation, requirements evaluation and negotiation, requirements documentation and requirements verifications. The major feature of this model is to deal with the undesirable situations that are known as risks (Mathiassen et al, 2004) for example low ROI (Returns on Investment), requirements change (Karlsson et al, 2007), specification delay and many others which can have a bad effect on the quality and cost schedule of the entire project. The new idea in this model is that the software system is designed on the basis of collected requirements. The design indicates the configuration of requirements specification that is quite near to the implementation.

Linear Sequential Model:

The linear sequential model for requirements engineering was suggested by Linda Macaulay in the year 1996. In this model, there are 5 activities that are arranged sequentially i.e. concept, problem evaluation, choice of options and feasibility, modeling and analysis and the requirement documentation. This is an easy and simple model which is mostly used for small and less-complicated software projects. However, this model cannot be applied on the large projects in order to collect their requirements.

Iterative Process Model:

The iterative process model for requirements engineering was suggested by Loucopoulos and Karakostas (1995). This model performs the requirements engineering process in various iterations. Therefore, it is suitable for those software projects that are launched version-by-version in the market. This model is comprised of 3 simple steps which are named as elicitations, specifications and verifications. The requirements are collected through the users and problem domain of the software system that is required to be developed.

Carrillo de Gea (2011) states that, requirements engineering tools are progressively used in order to ease the requirements engineering processes and allow for more structured and systematic dealing with the requirements, traceability and change management. For companies and developers analyzing the use of requirements engineering tools it is therefore important to know which requirement engineering processes are being supported by the tools and how does they fit into their own priorities. The answer to this is not easy due to the fact that numerous sales prospects focus on various features – yet exclude to which level they are supported and whether entire features really matter. In order to gain insight into how contemporary requirement engineering tools adapt to the requirement engineering activities, the researchers ran a 146-iten survey study on the basis of features that are covered by the ISO/IEC TR 24766:2009, a recent framework for evaluating the capabilities of requirements engineering tools. They received a response from 37 contributors, covering all the related tools. Moreover, besides the tool’s score in each and every activity, the researchers analyzed the performance of the participants in 3 real use scenarios. This contribution can be helpful for the practitioners to choose the requirements engineering tools and also provide some areas for improving the requirements engineering tools.

Research Methodology:

Research Design:

Sample Size:

"Convenience Sampling" will be used that is one of the forms of non-probability technique. As per our convenience, our research region would be England. Sample that will be selected from the population is 284.

Data Collection Tools:

Research will be conducted through questionnaires as a research tool in order to get the views about already developed process models. These questionnaires will be filled by the software developers or experts who are being involved in the software development processes since years.

Data Analysis Technique:

In order to examine the relationship among different variables, SPSS tools will be used.

Descriptive Statistics:

The major purpose of descriptive statistic is to summarize the information and used to provide a general picture about the outcomes of the research study. Descriptive statistics for example minimum, maximum means, variance and standard deviation are acquired for the interval scaled dependent and independent variables.

Correlations Analysis:

Pearson correlation is helpful to analyze and evaluate the correlation between these factors and the variables.

Multiple Regression Analysis:

Multiple regression analysis is helpful to predict the dependent variable’s value from two or more independent variable’s value. It helps to predict the value of Y, for given values of X1, X2………… Xn.

The equation for multiple regression analysis is as follows:

Y = α + β1X1 +β2X2 + β3X3 + β4X4 + β5X5 + ɛ



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now