Knowledge-Based Requirements Engineering in Detecting Ambiguity - Sudah Sinpang, Jacline; Sulaiman, Shahida; Idris, Norsham (International Journal of Engineering and Technology, 2018)
Requirements engineering is a phase where the elicitation and analysis of requirements are crucial. Low quality requirements could cost a software project to experience failure, as it does not meet usersâ€™ needs. One of the causes of poor quality requirements is ambiguity. Software engineers or more specifically system analysts normally gather requirements in natural language where it is easy for both developer and stakeholders to understand each other. However, natural language in requirements gathering is prone to ambiguity. Ambiguous requirements will cause developers to understand differently from what the stakeholders actually require. Thus, it is important to avoid ambiguous requirements. As there are many types of ambiguity, this study focuses on the vagueness of functional requirements. The study implements rule-based reasoning in knowledge-based requirements engineering to detect vagueness. Rules for the proposed prototype tool are obtained from journals and experts in requirements engineering. The evaluation shows that diverse categories of vagueness can be detected earlier using the proposed technique and its tool.Â Â