-
Notifications
You must be signed in to change notification settings - Fork 0
Software Requirements Specifications (SRS)
ÇANKAYA UNIVERSITY
- Specification
- Software Requirements Specification (SRS)
-
- Introduction
- 1.1 Purpose
- 1.2 Scope
- 1.3 Glossary
- 1.5 Overview of the Document
-
- Overall Description
- 2.1 Product Perspective
- 2.1.1 Development Methodology
- 2.2 User Characteristics
- 2.3 Product Features
-
- Requirements Specification
- 3.1 Functional Requirements
- Flow:
- Alternate Flows:
- 3.2 Non-Functional Requirements
- 3.3 External Interface Requirements
- 3.4 Performance Requirements
- 3.5 Design Constraints....................................................................................................................
- 3.6 Test and Validation Requirements
-
- Technical Details
- 4.1 Technology Stack
- 4.2 Security Features
- 4.3 API’s
- 4.4 AI Model
-
- Risk Management
- 5.1 Potential Risks
- 5.2 Mitigation Strategies.................................................................................................................
-
- Documentation
- 6.1 User Documentation
- 6.2 Technical Documentation
-
- Deployment and Maintenance
-
- Conclusion
- References
-
The purpose of this document is to provide a detailed Software Requirements Specification (SRS) for the development of an AI-powered chatbot for BELSİS.NET. The chatbot aims to modernize the support system for municipalities by providing intelligent and responsive Level 0 support. This includes automating responses to common inquiries, ensuring 24/ availability, and integrating seamlessly with the existing BELSİS.NET infrastructure. The document outlines the functional and non-functional requirements, user characteristics, and the scope of the chatbot project to ensure alignment with the company’s goals.
The AI-powered chatbot project is an essential step toward digital transformation for municipal systems. By incorporating cutting-edge AI technologies, the chatbot ensures streamlined communication, enhanced user satisfaction, and a significant reduction in operational costs. This initiative also aligns with global trends in e-governance, promoting accessibility and efficiency.
The AI chatbot is designed to support all modules of BELSİS.NET, a comprehensive ERP software system used by over 150 of municipalities in Turkey. The chatbot will leverage existing end-user documentation to provide accurate and efficient responses, aiming to address 70% of user inquiries that are currently handled through phone calls. It will integrate with the BELSİS.NET platform, transitioning from outdated ASP technologies to a modern open-source AI foundation, with flexibility for database selection (e.g., PostgreSQL). The chatbot’s features include natural language processing, automated text-to-specification transformation, and support for both web and mobile platforms.
The chatbot addresses inefficiencies in user support, such as slow response times and inconsistent answers, providing municipalities with a scalable, efficient, and user-friendly solution. The project has no significant business or technical constraints in terms of budget, timeline, or technology stack, offering a flexible framework for development.
-
BELSİS.NET : An ERP system for municipal management.
-
Level 0 Support: Basic level of support, handling common and repetitive inquiries [1].
-
ERP (Enterprise Resource Planning): A software suite for managing business processes [2].
-
AI (Artificial Intelligence): Machine learning and natural language processing technologies.
-
PostgreSQL: An advanced, open-source relational database [3].
-
Jira: Jira is a tool for managing projects and tracking tasks efficiently.
This document is structured to describe the functional and non-functional requirements of the chatbot. Section 2 provides an overview of the system, including its perspective, user characteristics, and development methodology. Section 3 details the requirements specification, covering functional requirements, external interface requirements, and performance metrics. Additional sections address technical constraints, risk management, and documentation requirements.
The chatbot acts as a bridge between municipal employees and the complex functionalities of the BELSİS.NET system. The Level 0 AI-powered chatbot is designed to modernize user support for municipalities by integrating seamlessly with BELSİS.NET, an ERP system widely used by municipalities in Turkey. This chatbot focuses on handling repetitive and basic user inquiries efficiently, such as information retrieval, account details, and general troubleshooting. By automating these tasks, it significantly reduces the burden on support teams, ensuring faster response times and consistent answers.
Integrated across key BELSİS.NET modules, it ensures 24/7 availability via web and mobile platforms, empowering users to resolve their queries independently.
The chatbot prioritizes usability, security, and flexibility. This initiative not only streamlines support operations but also aligns with the evolving needs of municipal services, delivering an efficient, user-friendly, and future-proof solution.
The AI-powered chatbot for BELSİS.NET will serve as a key component of the municipal ERP system, enhancing user interaction and support services. It replaces outdated ASP-based support mechanisms with a modern AI platform capable of handling natural language queries. The chatbot will be embedded within the BELSİS.NET web and mobile applications, ensuring seamless access for end-users.
Key features of the product include:
-
Integration with existing BELSİS.NET modules (e.g., accounting, personnel management).
-
Natural language processing to interpret user inquiries.
-
Automated conversion of text specifications into actionable support responses.
-
Transforms customer support telephone conversations into text, enabling the AI model to analyze and generate accurate, automated responses for improved service efficiency.
The development prioritizes scalability, allowing the chatbot to serve the diverse needs of municipalities with varying user bases.
The project will utilize Agile development methodologies, focusing on iterative and incremental delivery. Jira will serve as the primary project management tool, enabling the team to manage tasks, monitor sprint progress, and maintain traceability throughout the development lifecycle [4]. This approach ensures adaptability to changing requirements and fosters a collaborative environment. Scrum will be the primary framework, ensuring:
- Short sprints with consistent feedback loops.
- Regular updates to the firm.
- Continuous integration and testing.
- Weekly meetings are held with the Product Owner, Scrum Master, and Development Team to ensure alignment, and regular progress reports are shared to maintain transparency and track milestones effectively.
Scrum roles include:
- Product Owner: Ensures requirements align with company’s needs.
- Scrum Master: Facilitates the development process.
- Development Team: Implements and tests the chatbot.
This approach ensures adaptability to changing requirements and fosters a collaborative environment.
The Level 0 user support chatbot is designed to assist municipal employees, particularly those who may not have extensive technical expertise or deep knowledge of the BELSİS.NET system. These employees often encounter simple, repetitive problems during their daily tasks, and the chatbot provides a straightforward and efficient solution for resolving such issues.
Municipal employees using the chatbot typically need assistance with tasks like retrieving basic information, troubleshooting common errors, or understanding system functionalities. By addressing these needs, the chatbot reduces the dependency on technical support teams, enhances productivity, and helps employees focus on more critical aspects of their roles.
Characteristics:
- Familiarity with the BELSİS.NET platform and technical terminology.
- Need for quick access to information for day-to-day operations.
- Occasional administrative responsibilities for maintaining chatbot performance.
Needs:
- Integration with BELSİS.NET modules for tasks like accounting, personnel management, and report generation.
- Accurate, context-aware responses tailored to internal processes.
- Tools to monitor chatbot performance and update its knowledge base as needed.
2.2.1 End Users
- Primary Users: Municipal employees using BELSİS.NET for various operational tasks.
- Needs: o Quick access to information and support. o Accurate and consistent responses to inquiries. o Availability across web and mobile platforms.
2.2.2 Administrators
- Role: Configure and maintain the chatbot.
- Requirements: o Technical knowledge of the BELSİS.NET system. o Ability to update chatbot’s knowledge base as needed.
- 24/7 availability for user support.
- AI-driven natural language processing [5]
- Integration with existing BELSİS.NET modules.
- Scalability to handle varying user demands.
- Support for text-to-specification transformations using end-user documentation.
- Uses converted speech to text as prompt (request) for chatbot automatically.
In order to achieve success for our chatbot we need to respond at least %70 of the request made by users over phone calls. For that we need to convert speech to text using an AI and upload that converted text to our ai model. Our model will use the end user support documents created by ASP files and the knowledge base to solve the problem of user and we aim to solve %70 of the requests. We’ll have functional use cases like “AI-Based Text-to- Response Conversion”, “Behavior Analysis for Continuous Improvement”, “User Inquiry Resolution”... The main problems users face using ai chatbots are usually not receiving the correct answers or not receiving them fast enough so with our functional requirements we are aiming to solve those problems.
3.1.1 Integration
- The chatbot shall be integrated within the BELSİS.NET web and mobile applications. It should be an integral integration.
- It shall interact with all modules of BELSİS.NET, such as accounting and personnel management, for query resolution.
3.1.2 Data Handling
- The BELSİS.NET system uses SQLServer and the chatbot shall utilize PostgreSQL as its default database, with flexibility for alternative database options based on project needs.
- It shall not store sensitive user data locally and comply with municipal data regulations.
- Our chatbot will have different Data Insertions Modules if we must gave some examples: Finance Module: Income, outcome, billing and payment informations. Human Resources Module: Salaries, employee informations, performance evaluations.
3.1.3 Reporting
- The system shall generate reports on chatbot performance, including response accuracy and resolution rates.
- It shall log popular queries and areas where human intervention is required.
3.1.4 Use Cases
3.1.4.1 User Inquiry Resolution
Actors: End-users (Municipality employees).
Description: Users interact with the chatbot to resolve queries about
BelsisMIS modules. The chatbot provides detailed step-by-step solutions.
Triggers: A user asks a question through the chatbot interface.
Preconditions: The user has access to the BelsisMIS platform.
Postconditions: The chatbot resolves the query
Flow:
modules or topics in its database.
solution to the query with detailed steps and displays it to the user.
3.a Insufficient Data in Query
3.a.1. Chatbot asks for additional information
3.a.2. The user provides the required details.
Use Case Diagram:
3.1.4.2 Behavior Analysis for Continous Improvement
Actors: Administrators
Description: Administrators use the system to analyze user behavior (e.g., frequently asked questions, success rates) and refine AI models for better performance and accuracy.
Triggers: The system periodically monitors and collects interaction data.
Preconditions:
User interactions must be logged securely.
Data collection is compliant with privacy regulations.
Postconditions:
Enhanced accuracy of AI model predictions.
Improved overall user experience through better response handling.
Flow:
- Data Collection Initiated: Logs user interactions automatically during a set period.
- Behavior Analysis Conducted: Identifies behavior patterns and evaluates success rates.
- Model Refinement Initiated: Shares insights and retrains AI models.
- Deployment of Improved Models: Updates the system and verifies accuracy.
Alternate Flows:
3.a Insufficient Data for Analysis: The system flags insufficient data.
3.a.1. Administrators configure additional data collection requirements.
Use Case Diagram:
3.1.4. 3 AI Based Text to Response Conversion
Actors: Administrators, Users
Description: The chatbot analyzes user text inputs, processes them using AI and provides accurate responses.
Triggers: A user submits a text query.
Preconditions: The system must be trained with domain-specific knowledge.
The system is online and functioning.
Postconditions: User receives an AI-generated response.
Optional user feedback is logged for system improvement.
- User Submits Query a. Trigger: A user initiates interaction by submitting a text query to the chatbot interface.
- Query Receipt and Validation a. The system receives the input and checks for completeness (e.g., no empty submissions). b. If the query is invalid or incomplete, the user is prompted to revise their query.
- AI Processing a. The system sends the validated query to the AI model for processing. b. The AI model: i. Analyzes the query. ii. Matches it against the domain-specific knowledge base. iii. Generates a suitable response.
- Response Generation a. The system formats the AI-generated response for clarity and relevance.
- Response Delivery a. The response is sent back to the user through the chatbot interface.
- User Feedback (Optional) a. The user has the option to provide feedback on the response to help improve system accuracy.
1 .a. Invalid Query Submitted
- Trigger: The user submits a query with missing or unsupported elements.
- Flow: o The system detects the issue and provides guidance for revising the query. o Returns to Step 1 of the main flow.
4 .a. Knowledge Gap in AI
-
Trigger: The AI model cannot generate a meaningful response due to a lack of domain-specific knowledge.
-
Flow: o The system informs the user that it could not process the query. o The issue is logged, and the Administrator is notified for model retraining or knowledge base updates.
Use Case Diagram:
3.1.4.4 Handling Frequently Asked Questions (FAQ)
Actors: End-users (Municipality employees).
Description: Ensures that common user inquiries are addressed quickly and consistently by an automated chatbot system. By matching user queries to a pre-configured FAQ database, the chatbot provides instant, standardized responses, improving efficiency and enhancing the user experience.
Triggers:
- A user submits a query to the chatbot system that matches an entry in the FAQ database.
- The chatbot identifies keywords or patterns indicative of a frequently asked question.
Preconditions:
-
The chatbot system must have a pre-configured database of frequently asked questions and responses.
-
The chatbot system must be functional and accessible to end users.
-
The user must have a query that matches a pre-configured FAQ.
Postconditions:
- The user receives an accurate, pre-configured response to their question.
- The chatbot logs the interaction for future improvements or analysis.
Flow:
- Ask Question (User) o Action: User asks a question to initiate the process.
- Process Query (Chatbot) o Action: Chatbot processes the user’s query.
- Match FAQ (Chatbot) o Action: Chatbot checks FAQ database for a matching answer.
- Verify FAQ Database (Chatbot) o Action: Chatbot verifies if the matched FAQ answer is correct.
- Respond with Answer (Chatbot) o Action: Chatbot provides the answer to the user.
- Provide Suggested Answers (Chatbot) o Action: Chatbot suggests possible answers if FAQ match is not found.
Use Case Diagram:
3.1.4.5 Providing Step by Step Guidance in BelsisMIS Modules
Actors: End-users (Municipality employees).
Description: This use case helps users navigate complex tasks in BelsisMIS modules by providing clear, step-by-step instructions via the chatbot, ensuring tasks are completed efficiently.
Preconditions:
- The chatbot system must have detailed, pre-configured step-by-step instructions for tasks in BelsisMIS modules.
Postconditions:
- The user successfully completes the task following the provided step-by-step guidance.
- The chatbot logs the interaction for future improvements.
Triggers:
- A user submits a request for assistance with a specific task in BelsisMIS (e.g., "I need help generating a report").
- The chatbot identifies the request as requiring step-by-step guidance and initiates the instructions.
Flow:
-
Help Request From User (User)
- Action: The user requests help for a complex operation within the BelsisMIS module (e.g., generating a report).
-
Analyze User Request (Chatbot)
- Action: The chatbot analyzes the user's request to determine the type and complexity of the operation.
-
Explain Operations According to Complexity and Provide a Step-by-Step Guide (Chatbot)
- Action: Based on the complexity of the operation, a step-by-step guide is prepared and tailored to the user's needs, providing all relevant details.
-
Merge the Step-by-Step Help Content with Source Links if User Needs More (Chatbot)
- Action: If the user needs additional information, the step-by-step guide is merged with source links, providing further documentation.
-
Provide the Help Content to the User and Stay in the Same Context for Another Questions (Chatbot)
- Action: The help content is provided to the user, and the chatbot remains in the same context to answer follow-up questions related to the complex operation.
Use Case Diagram:
The system will incorporate robust load balancing mechanisms to effectively manage surges in user activity. This ensures that users experience a seamless interaction with the chatbot, regardless of the volume of concurrent requests. Additionally, the system will feature adaptive performance optimization, dynamically adjusting resources to maintain consistent and reliable query response times. These measures collectively ensure that the chatbot remains responsive, efficient, and capable of handling the demands of a diverse and growing user base, even under heavy workload conditions.
3.2.1 Performance
- The chatbot shall process user queries within 2 seconds on average.
- It shall support up to 100 concurrent users.
3.2.2 Availability
- The chatbot shall operate 24/7 without downtime, except during scheduled maintenance.
3.2.3 Security
- It shall use encryption protocols for data exchange such as TLS (Transport Layer Security), to ensure secure and reliable data exchange between the chatbot and its users.
- The chatbot shall comply with data protection regulations, such as KVKK.
3.2.4 Scalability
- The system shall scale to accommodate the needs of additional municipalities as required.
3.3.1 User Interfaces
- The chatbot shall be accessible through the BELSİS.NET web interface and mobile application.
- It shall feature a simple, intuitive user interface optimized for municipal employees with varying technical expertise.
3.3.2 Hardware Interfaces
- The chatbot shall require minimal hardware, leveraging the existing infrastructure of BELSİS.NET.
- No specialized hardware is needed.
3.3.3 Software Interfaces
- The chatbot shall interface with the BELSİS.NET application and its associated modules.
- It shall integrate with the PostgreSQL database for efficient data handling.
3.3.4 Communication Interfaces
- The chatbot shall support HTTPS for secure communication.
- It shall ensure seamless data exchange between the web and mobile platforms.
- The system shall maintain a minimum uptime of 99.9% annually.
- Query response time shall not exceed 2 seconds under standard load conditions.
3.5 Design Constraints....................................................................................................................
- The chatbot shall adhere to the existing design principles of the BELSİS.NET interface.
- It must be compatible with current web and mobile technologies used by municipalities.
- Unit testing shall be conducted to ensure individual components function correctly.
- Integration testing shall verify seamless interaction between the chatbot and BELSİS.NET modules.
- User acceptance testing shall involve feedback from municipal employees to validate usability.
The backend system shall incorporate a modular architecture, allowing seamless updates and feature expansions. Additionally, the integration of advanced AI libraries, such as
TensorFlow or PyTorch, will provide a robust framework for natural language understanding and contextual analysis.
- Frontend: React for web interfaces, Flutter for mobile.
- Backend: The chatbot system is planned to be developed using Python with FastAPI for AI integration; however, considering the existing infrastructure, a .NET-based implementation is also being evaluated as a potential alternative.
- Database: PostgreSQL for data storage and management.
- Hosting: Local deployment on dedicated servers with containerized deployment using Docker
- End-to-end encryption for all communications.
- Role-based access control to restrict sensitive actions.
- Regular security audits to identify vulnerabilities.
During the integration phase of the Level 0 AI-powered user support chatbot, custom APIs will be developed to ensure seamless communication between the chatbot and the existing Belsis.NET system. The new APIs will be designed to meet the scalability and security requirements of the system, allowing the chatbot to access relevant data in real-time while maintaining strict compliance with data privacy regulations.
For the development of the user support chatbot, the chosen AI model will leverage Natural Language Processing (NLP) capabilities to understand and respond to user queries effectively. Considering the project requirements, options like OpenAI's GPT series, Google Dialogflow, or open-source Transformer models such as BERT or DistilBERT will be evaluated. These models offer robust language understanding and flexibility, enabling seamless integration with the existing ASP-based Belsis.NET system. The selected model will be fine-tuned using domain-specific data to ensure accurate and context-aware responses. This approach guarantees a scalable and efficient solution, capable of meeting the evolving needs of the municipality's digital infrastructure.
The chatbot will follow robust security protocols to protect data and ensure reliable operation:
- Encryption:
- All data transmissions and stored information will be encrypted using industry-standard techniques like TLS and AES.
- Authentication and Authorization:
- OAuth 2.0 or JWT will verify user identities, and RBAC will limit access based on user roles.
- Data Privacy Compliance:
- The chatbot will adhere to data protection laws, such as KVKK, to ensure responsible data handling.
- API Security:
- APIs will use keys, rate limits, and input validation to prevent unauthorized access and mitigate risks.
- Audit and Monitoring: o Logs will be maintained for audits, and real-time monitoring will detect potential security threats.
- Bot Protection: o Anti-bot measures like CAPTCHA will safeguard against malicious activities.
User adoption of the chatbot might be slower than expected, particularly among less tech- savvy employees. To prevent this, a phased rollout plan with targeted training sessions and user incentives will be implemented, ensuring gradual but steady acceptance of the new system.
- Technical: Compatibility issues during integration with legacy systems.
- Operational: Insufficient training for end-users leading to underutilization.
- Project: Delays in development caused by unforeseen technical challenges or resource constraints.
5.2 Mitigation Strategies.................................................................................................................
-
Technical: Conduct thorough testing and create fallback solutions to ensure smooth integration with existing systems.
-
Operational: Provide detailed training materials and sessions for municipal employees to maximize chatbot usage.
-
Project: Implement a robust project management framework with regular check-ins to prevent delays.
Step-by-step guides and user-friendly documentation will be developed by converting ASP files into comprehensive end-user manuals. These resources will play a crucial role in training the AI model, serving as a foundational knowledge base to ensure the model provides accurate, context-aware, and reliable responses. Although these manuals are not intended for direct use by end-users, they will enable the chatbot to deliver seamless and effective support based on the information they contain.
- The chatbot will include user manuals to guide employees in using its features effectively.
- Tutorials will be embedded within the application for quick onboarding.
- Developers will receive API documentation for the chatbot’s integration points.
- Maintenance guides will be provided for system administrators to update and configure the chatbot.
The deployment and maintenance of the Level 0 user support chatbot will follow a structured process to ensure seamless integration, reliable performance, and adaptability.
The Technical Support Team will handle deployment, including system configuration, initial testing, and go-live procedures, ensuring a smooth transition. Post-deployment, the AI Technical Support Team will manage updates, bug fixes, and performance optimization, leveraging user feedback and operational data for continuous improvement.
Maintenance will be governed by Service Level Agreements (SLAs) outlining response times, update schedules, and performance benchmarks to ensure accountability and reliability.
To support organizations using the software, training sessions will be provided to familiarize users with the chatbot’s features.
This approach ensures the chatbot remains an effective, reliable, and adaptable tool for municipal operations.
This document provides a comprehensive overview of the design, requirements, and implementation plan for a Level 0 AI-powered support chatbot for BELSİS.NET, a municipal ERP system utilized by a significant number of municipalities in Turkey. The chatbot is intended to revolutionize municipal support services by automating responses to repetitive user inquiries, reducing the workload on support teams, and providing efficient, consistent, and accessible solutions to everyday problems.
The primary focus of the chatbot is to enhance user satisfaction and productivity by offering accurate and reliable assistance. By addressing common issues such as delayed response times and inconsistent support, the system aims to streamline workflows and ensure that users can resolve their queries without requiring constant intervention from technical teams. This not only improves operational efficiency but also reduces overall costs for municipalities.
The document highlights the chatbot’s adaptability to various user needs, ensuring it can cater to employees with differing levels of technical expertise. The project also places emphasis on proper risk management, phased rollouts, and training sessions to encourage smooth adoption by end-users. Additionally, detailed documentation and support resources are outlined to ensure the system’s long-term usability and effectiveness.
In summary, the chatbot project represents a forward-thinking approach to modernizing municipal operations and aligning with global trends in e-governance. It lays the groundwork for a more efficient, user-friendly, and scalable support system, contributing significantly to the digital transformation of public services and setting the stage for future technological advancements in this sector.
[1]: “Explaining IT Support Levels: How L0, L1, L2, L3, L4 Support Tier Work” [Online]. Available: https://www.certguidance.com/explaining-support-levels-itil-itsm/. [Accessed 5 December 2024].
[ 2 ]: “Enterprise Resource Planning (ERP) Explained” [Online]. Available: https://www.bmc.com/blogs/erp-enterprise-resource-planning/. [Accessed 5 December 2024].
[3]: “What is PostgreSQL?” [Online]. Available: https://www.postgresql.org/about/. [Accessed 5 December 2024].
[4]: “Agile tools for software teams” [Online]. Available: https://www.atlassian.com/software/jira/agile/. [Accessed 5 December 2024].
[5]: “What is NLP (natural language processing)?” [Online]. Available: https://www.ibm.com/topics/natural-language-processing/. [Accessed 5 December 2024].
Web Page : https://emrecanselvili.wixsite.com/bicsa1