Requirements Smell Detection from Use Case Specification
Problem Statement Use case descriptions that are written in structured natural language (NL) and the usage of NL can lead to poor descriptions such as ambiguous, inconsistent and/or incomplete description. Poor descriptions lead to missing requirements and eliciting incorrect
2025-06-28 16:28:57 - Adil Khan
Requirements Smell Detection from Use Case Specification
Project Area of Specialization Software EngineeringProject SummaryProblem Statement
Use case descriptions that are written in structured natural language (NL) and the usage of NL can lead to poor descriptions such as ambiguous, inconsistent and/or incomplete description. Poor descriptions lead to missing requirements and eliciting incorrect requirements as well as less comprehensiveness of produced use case models.
Solution
Our project is an automated tool that can detect the bad smells in use case description so that time and cost in manual checking of use case descriptions can be saved. Also, the time and cost of change that can occur at implementation phase due to poor descriptions can be saved.
Product Overview
It will be able to detect the bad smells of ambiguity, lack of information, incorrectness, granularity, misplacement from use case descriptions given to the system as input. The system will identify whether these smells are present in the entire use case description or in a specific section of a use case or in a specific flow or in a specific sentence or in a word. After the successful detection of these smells, the system will generate report of the detected smells in the use case with a proper reasoning.
Project Objectives- To develop an automated tool that can detect bad smells in Use Case specification.
- To save time and cost of manual checking of Use Case description.
- To avoid error propagation due to poor Use Case specification by means of early smell detection.
We will implement this project by folowing standard development methodlogy of Rational Unified Process (RUP) defined by IBM, which has four constituent phases Inception, Elaboration, Construction and Transition. Simialrly, This development methodlogy has technical workflow that includes Requiremnet gathering, Analysis & Design, Implementation and Testing.
User will upload the Use Case Document and the system performs Natural Language Pre-processing on the Use Cases such as Tokenization, Stemming, Lemmatization, Stop Word removal and POS tagging. The system then detects bad smells in pre-processed Use Cases such as smells of ambiguity, granularity, Redundancy, Misplacement, Incorrectness and lack of information and generates a report.
Benefits of the ProjectThere exists a large body of knowledge on Source code smells and Design smell detection. However, Requirement smells has not yet been explored. Frequency of occurrence of Requirement smells is quite high in Requirement Specification documents.
There exists no such intelligent and automated solution to detect these smells. Our automated system identifies smells in use case documents during the early stage of system development. Unlike a few systems which were only able detect the bad smells of syntactic or surface features our system will detect the smells of lack of information, ambiguity, granularity, incorrectness, redundancy and misplacement.
In industry, business analyst of any software house can use this system to find the smells in their use cases. In academia, evaluators of final year and term project can use this system to evaluate the use case descriptions of students. This system can also be help to CS students specially for Final year students to effectively write use cases for their projects. As our system is a website any of these users can access it on their systems.
Software houses that write use cases during the documentation to ensure that developers and stakeholders are headed in the same direction to accomplish the objectives of the project. As in software industry use cases are checked manually and due to which many problematic parts can be missed. Furthermore, manual checking is a time-consuming task for the analysts. They will use our automated tool to detect bad smells in their use cases so that time and cost in manual checking of use case descriptions can be saved.
Technical Details of Final DeliverableOur system is a web-based application that is developed using Django Python framework which follows MVC (model-view-controller) architecture pattern, written in Python programming language and designed for creating easy apps with rapid development. The system uses Natural Language Processing (NLP) concepts to extract and process the Use Case descriptions from the uploaded document and the with the help of Machine Learning it detects the bad smells from the Use Case and generates a report. The user can then print or save this report.
The website has authentication and subscription mechanism. The user’s data, the documents that the users upload to detects smells and the generated reports are stored on Postgresql database. Users can update their profiles and acquire membership. Users can also give feedback. There is also an admin portal on our website and the admin can manage users and review the feedback given by users.
This is the link for deployment diagram of our project
Final Deliverable of the Project Software SystemCore Industry ITOther IndustriesCore Technology Artificial Intelligence(AI)Other TechnologiesSustainable Development Goals Quality Education, Decent Work and Economic Growth, Industry, Innovation and InfrastructureRequired Resources| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 80000 | |||
| Printing | Miscellaneous | 5 | 1000 | 5000 |
| Stationary | Miscellaneous | 5 | 1000 | 5000 |
| AWS | Equipment | 12 | 1900 | 22800 |
| ASUS TUF GeForce GTX 1650 OC Edition 4GB GDDR6 Graphics Card | Equipment | 1 | 35000 | 35000 |
| Data Collection and Sampling | Equipment | 1 | 12200 | 12200 |