Requirements Elicitation Chatbot – Upgraded
Version 2.0
Course/Program: [Insert Course or Program Name]
University/Organization: [Insert University Name]
Date: [Insert Submission Date]
Abstract
The Requirements Elicitation Chatbot is an AI-driven software assistant designed to aid software
engineers and project managers in gathering, validating, and documenting software requirements
efficiently. Traditional requirement elicitation processes are often prone to ambiguity, inconsistencies,
and incomplete documentation. This project integrates artificial intelligence through Google Gemini API
with an interactive GUI to guide stakeholders in providing requirements, assess them for conflicts or
ambiguity, maintain chat history, and automatically generate a structured Software Requirements
Specification (SRS). The system enhances accuracy, reduces human error, and provides ready-to-use
documentation, thereby streamlining the early phases of software development.
Introduction
Requirements elicitation is a crucial stage in the software development lifecycle, as errors or omissions
at this stage can propagate through design, implementation, and testing, leading to increased costs and
delays. Gathering precise, unambiguous, and consistent requirements is challenging, particularly when
multiple stakeholders are involved.
This project introduces a Requirements Elicitation Chatbot, which leverages AI to support users
through structured dialogues, record chat histories, evaluate the quality of requirements, and generate
professional SRS documents. By combining automated guidance, AI validation, and organized output,
this system reduces errors, ensures standard compliance, and enhances collaboration among project
stakeholders.
Problem Statement
Manual requirement elicitation faces several challenges:
1. Ambiguity: Requirements may be vague or lack measurable metrics.
2. Conflicts: Requirements from different stakeholders may contradict each other.
3. Incomplete documentation: Critical non-functional requirements (e.g., performance, security,
usability) are often overlooked.
4. Tracking discussions: Maintaining a record of stakeholder conversations is cumbersome.
The chatbot addresses these issues by:
Guiding users through structured questionnaires.
Using AI to evaluate ambiguity and conflicts.
Maintaining real-time chat history with timestamps.
Providing automatic generation of SRS documents in professional format.
Hardware and Software Requirements
Hardware Requirements:
Processor: Intel i3 or higher.
RAM: Minimum 4 GB.
Storage: At least 500 MB for project files and dependencies.
Display: Minimum 1280x720 resolution.
Software Requirements:
Java Development Kit (JDK): Version 17 or above.
IDE: IntelliJ IDEA, Eclipse, or NetBeans.
Google Gemini API Key: Required for AI interaction.
Optional Library: iText library for PDF export.
Operating System: Windows, Linux, or macOS.
Diagrams
6.1 Structural Diagram (Class Diagram)
+--------------------+
| ProjectData |
+--------------------+
| projectName |
| currentUser |
| assistantName |
| stakeholderRole |
| requirements |
| chatHistory |
+--------------------+
2
+--------------------+
| Requirement |
+--------------------+
| text |
| type |
+--------------------+
+--------------------+
| ChatMessage |
+--------------------+
| content |
| isUser |
| timestamp |
+--------------------+
+--------------------+
| AIClient |
+--------------------+
| apiKey |
| modelName |
+--------------------+
| generate(prompt) |
+--------------------+
+--------------------+
| ChatManager |
+--------------------+
| chatPanel |
| scrollPane |
| requirementList |
+--------------------+
| addMessageToUI() |
| clearUI() |
+--------------------+
Explanation:
ProjectData holds project-level information, requirements, and chat history.
Requirement represents individual requirements with type metadata.
ChatMessage stores individual chat messages, indicating sender and timestamp.
AIClient interacts with Google Gemini AI to validate requirements and generate SRS content.
ChatManager manages the UI display of chat messages and requirements list.
6.2 Behavioural Diagram (Sequence Diagram for Adding a Requirement)
User -> Chat UI: Enter new requirement
ChatManager -> AIClient: Validate requirement for ambiguity/conflict
AIClient --> ChatManager: Return JSON with validation results
ChatManager -> Requirement List: Add requirement if valid
3
ChatManager -> UI: Display feedback message in chat panel
Explanation:
This sequence demonstrates the process of adding a requirement, showing how the system interacts with
the AI client to validate entries and update the GUI accordingly.
How It Works
1. Initialization:
o On launch, the system loads GUI components and initializes the ProjectData,
ChatManager, and AIClient for AI integration.
o Users are prompted to enter their Google Gemini API key if it is not set in the
environment variables.
2. User Interaction:
o The chatbot provides a text input area for user messages and a guided questionnaire to
elicit requirements.
o Users can enter functional and non-functional requirements, which are captured in the
system.
3. Requirement Validation:
o Each new requirement is sent to AIClient for validation.
o AI evaluates ambiguity, potential conflicts, and adherence to best practices.
o Feedback is displayed in the chat interface with timestamps and sender indicators
(User/Assistant).
4. Requirement Management:
o Validated requirements are stored in ProjectData and displayed in a requirements list
panel.
o Users can edit or remove requirements at any time.
5. SRS Generation:
o Users can request automatic SRS generation.
o The AI processes the project information, requirement list, and chat transcript to produce
a professional SRS document, including:
Introduction
Scope
Definitions
Overall Description
Functional Requirements
Non-Functional Requirements (Performance, Security, Usability)
Assumptions
Appendix (Chat Transcript Summary)
6. Exporting Documents:
o Users can export the SRS or the full project documentation as TXT or PDF.
4
o The system supports PDF export via the optional iText library; otherwise, TXT export
ensures compatibility.
Conclusion
The Requirements Elicitation Chatbot provides a modern, AI-assisted approach to capturing, validating,
and documenting software requirements. By combining an interactive GUI with artificial intelligence,
the system reduces human error, ensures IEEE-compliant documentation, and generates professional
outputs that can be used directly in software development projects. The tool demonstrates how AI can
enhance traditional software engineering practices, improving both accuracy and efficiency.