Implementation of a Formal Software Requirements Ambiguity Prevention Tool
Journal Title: International Journal of Advanced Computer Science & Applications - Year 2018, Vol 9, Issue 8
Abstract
The success of the software engineering process depends heavily on clear unambiguous software requirements. Ambiguity refers to the possibility to understand a requirement in more than one way. Unfortunately, ambiguity is an inherent property of the natural languages used to write the software user requirements. This could cause a final faulty system implementation, which is too expensive to correct. The basic requirements ambiguity resolution approaches in the literature are ambiguity detection, ambiguity avoidance, and ambiguity prevention. Ambiguity prevention is the least tackled approach because it requires designing formal languages and templates, which are hard to implement. The main goal of this paper is to provide full implementation of an ambiguity prevention tool and then study its effectiveness using real requirements. Towards this goal, we developed a set of Finite State Machine (FSMs) implementing templates of various requirement types. We then used Python to implement the ambiguity prevention tool based on those FSMs. We also collected a benchmark of 2460 real requirements and selected a random set of forty real requirements to test the effectiveness of the developed tool. The experiment showed that the implemented ambiguity prevention tool can prevent critical requirements ambiguity issues such as missing information or domain ambiguity. Nevertheless, there is a tradeoff between ambiguity prevention and the effort needed to write the requirements using the imposed templates.
Authors and Affiliations
Rasha Alomari, Hanan Elazhary
Internet Orchestra of Things: A Different Perspective on the Internet of Things
The Internet of Things (IoT) is defined as a global network that links together living and/or non-living entities, such as people, animals, software, physical objects or devices. These entities can interact with each oth...
Automated Greenhouses for the Reduction of the Cost of the Family Basket in the District of Villa El Salvador-PerĂº
Today, the cost of the family basket is gradually increasing, not only globally but also in our country. This increase includes the demand for vegetables and fresh vegetables that allow people to improve their quality of...
Performance Analysis & Comparison of Optimal Economic Load Dispatch using Soft Computing Techniques
Power plants not situated at similar space from center of loads and their fuel prices are dissimilar. In this paper, ELD of actual power generation measured.ELD is preparation of generators to reduce total functioning pr...
Meteonowcasting using Deep Learning Architecture
The area of deep learning has enjoyed a resurgence on its peak, in almost every field of interest. Weather forecasting is a complicated and one of the most challenging tasks that includes observing and processing huge am...
An Empirical Investigation on a Tool-Based Boilerplate Technique to Improve Software Requirement Specification Quality
The process of producing software requirements specification (SRS) is known to be challenging due to the amount of effort, skills and experience needed in writing good quality SRS. A tool-based boilerplate technique is i...