Skip to content

SRS Documentation

BandaruDinesh edited this page Nov 25, 2024 · 68 revisions

Software Requirements Specification

for Campus IT support chatbot

Prepared by
Group Name: - csusb_fall2024_cse6550_team1

Prepared by

Name Student # E-mail
Chapala, Dinesh 008447160 [email protected]

Instructor: - Dr. Alzahrani

Course: CSE 6550: Software Engineer Concepts - Fall 2024

Contents

  1. Introduction
  • 1.1 Document Purpose
  • 1.2 Product Scope
  • 1.3 Intended Audience and Document Overview
  • 1.4 Definitions, Acronyms, and Abbreviations
  • 1.5 Document Conventions
  • 1.6 References and Acknowledgments
  1. Overall-Description
  • 2.1 Product Overview
  • 2.2 Product Functionality
  • 2.3 Design and Implementation Constraints
  • 2.4 Assumptions and Dependencies
  1. External Interface Requirements
  • 3.1 User Interfaces
  • 3.2 Hardware Interfaces
  • 3.3 Software Interfaces
  • 3.4 Communication Interfaces
  • 3.5 Low Fidelity Design
  • 3.6 Architecture Design
  1. Other-Non-Functional-Requirements
  • 4.1 Performance Requirements
  • 4.2 Safety and Security Requirements
  • 4.3 Software Quality Attributes
  1. Validation-and-Verification
  2. Appendix-Group Log

Revisions

Version Primary Author(s) Description of Version Date Completed

1 Introduction

1.1 Document Purpose

The purpose of this document is to define the software requirements for the development of an IT support chatbot for the Campus IT Department. The chatbot will assist users by providing automated responses to IT-related inquiries, improving support efficiency, and reducing manual intervention.

1.2 Product Scope

The Campus IT Support Chatbot aims to provide a user-friendly interface for students and staff to seek assistance with IT support issues, such as password resets, troubleshooting common software problems, and accessing IT resources. The chatbot will enhance the efficiency of IT support services by providing immediate assistance, thereby reducing wait times and improving user satisfaction.

1.3 Intended Audience and Document Overview

This document is intended for developers, project managers, testers, and the client (university staff). The SRS is organized into sections detailing the overall product description, specific functional and non-functional requirements, and appendices containing a data dictionary and group log. Readers are encouraged to start with the overall description to understand the context before delving into specific requirements

1.4 Definitions, Acronyms and Abbreviations

The key definitions, acronyms, and abbreviations used throughout the Software Requirements Specification (SRS) document for the Campus IT Support Chatbot are SRS stands for Software Requirements Specification, which is a comprehensive description of the intended purpose and environment for the chatbot system. AI refers to Artificial Intelligence, encompassing technologies that enable the chatbot to process natural language and provide intelligent responses to user queries. The acronym FR signifies Functional Requirement, which describes a specific behavior or function the system must exhibit. Denial of Service (DoS) denotes a type of security threat that aims to make a service unavailable to its intended users by overwhelming it with requests. These definitions and abbreviations serve as a foundational reference to ensure that all stakeholders, including developers, project managers, testers, and university staff, have a consistent understanding of the terminology employed in this document.

1.5 Document Conventions

This document uses IEEE SRS guidelines for format and structure. Headings are indicated by # for markdown compatibility.

1.6 References and Acknowledgments


2 Overall Description

2.1 Product Overview

The IT support chatbot will function as a web-based service that streamline IT support services for university students and staff. It serves as a self-service tool, allowing users to resolve common IT issues through an interactive chat interface. The chatbot will integrate with existing university IT systems and databases to provide accurate and timely responses.

2.2 Product Functionality

The Campus IT Support Chatbot is designed to enhance the efficiency of IT support services for university students and staff by providing a robust, user-friendly interface. The chatbot aims to respond to frequently asked questions related to IT support, offering step-by-step troubleshooting guides for common issues encountered by users. It will also serve as a resource hub by providing direct links to relevant IT documentation and resources available through the university's IT services.

It will also support multi-modal interaction, allowing users to engage with the chatbot via selection-based responses, such as "like" or "dislike" buttons, for rating the relevance and accuracy of the answers provided. This feedback mechanism will be crucial in refining the chatbot's performance and accuracy over time.

2.3 Design and Implementation Constraints

The development of the Campus IT Support Chatbot is subject to several design and implementation constraints to ensure seamless integration and optimal performance within the university's IT infrastructure. One of the primary constraints is the requirement for compatibility to run on a provided university server, which necessitates a thorough understanding of the current technology stack and data structures in use. The chatbot will be developed using Python, leveraging its robust ecosystem for machine learning and natural language processing capabilities.

Additionally, the system must be designed to accommodate potential limitations in internet connectivity for end-users, ensuring that the chatbot's performance remains efficient even under varying network conditions. The chatbot's architecture should be modular and extensible to facilitate future updates, feature enhancements, and integration with new technologies without significant re-engineering. These constraints will guide the overall design and development strategy, ensuring that the chatbot is both scalable and secure while meeting the specific needs of the university's IT support services.

2.4 Assumptions and Dependencies

The successful development and deployment of the Campus IT Support Chatbot rely on several critical assumptions and dependencies that are expected to remain stable throughout the project's lifecycle. It is assumed that the university's servers will be accessible for seamless integration with the chatbot, allowing it to be accessed by the user. The availability and stability of these servers are crucial for the chatbot's ability to deliver accurate and timely responses to users.

Another key assumption is that the chatbot will be developed using Python and deployed on a university server. This deployment strategy assumes that the university’s IT infrastructure will support an API based chatbot.

Dependencies include third-party libraries and frameworks for natural language processing and machine learning, which will be used to enhance the chatbot’s ability to understand and respond to user queries effectively. Additionally, regular maintenance and updates to these libraries will be required to ensure compatibility with new technologies and to address any security vulnerabilities.

These assumptions and dependencies are fundamental to guiding the project's implementation, ensuring that the chatbot functions as intended within the university's IT environment and meets the needs of its users.


3 External Interface Requirements

3.1 User Interfaces

The Campus IT Support Chatbot features an intuitive and user-friendly interface, designed to accommodate users with varying levels of technical expertise. Built using Streamlit, the interface allows users to submit text-based queries related to IT support, receive immediate responses, and utilize various features like providing feedback on the accuracy of the responses.

In addition to query handling, the user interface displays key feedback statistics, including the number of queries submitted, response accuracy rates, and commonly asked topics or keywords. A performance dashboard gives a comprehensive view of the chatbot’s efficiency, showcasing metrics such as response times and user satisfaction.

3.2 Hardware Interfaces

The Campus IT Support Chatbot is designed to run on standard web-based servers or cloud infrastructure without requiring specialized hardware. Docker containers manage the environment, ensuring easy deployment and scalability. The servers need sufficient memory and processing power to handle up to 100 concurrent users while ensuring a fast response time of under 3 seconds.

The system's architecture allows it to handle fluctuations in user traffic, especially during peak times like the beginning of a semester or during major campus events. The hardware is managed by university technical teams and will comply with the university’s data protection policies to ensure secure handling and storage of any sensitive data collected during chatbot interactions.

3.3 Software Interfaces

The chatbot integrates several software tools to ensure efficient operation. LangChain handles the natural language processing (NLP) component, while FAISS manages fast vector-based document retrieval, enabling the system to quickly respond to user queries. Docker packages the entire system into a lightweight container, ensuring consistent performance across different environments.

The chatbot communicates with users through HTTP/HTTPS protocols, with real-time interaction supported by WebSockets or similar technologies, ensuring fast response times within the 3-second benchmark. Security is a key concern, with tools such as Burp Suite Community Edition (BSCE) and Zed Attack Proxy (ZAP) being used to detect and fix system vulnerabilities. Additionally, Docker Scout helps identify vulnerabilities within the containerized environment to ensure the overall security and scalability of the system.

3.4 Communication Interfaces

The Campus IT Support Chatbot communicates with users over standard HTTP/HTTPS protocols and provides an API for handling user queries and delivering responses. Real-time interaction is achieved using WebSockets or equivalent real-time communication methods, ensuring users receive fast and interactive responses.

Secure communication is maintained through encryption standards to protect user privacy and data. The chatbot’s backend services, such as FAISS and LangChain, communicate via optimized internal APIs to facilitate fast and efficient data retrieval and processing. This architecture ensures smooth communication between different layers of the system, contributing to the chatbot’s overall efficiency and responsiveness.

3.5 Low Fidelity Design

Light Mode:

image

Dark Mode:

Screenshot (68)

3.6 Architecture Design

image


4 Other Non-functional Requirements

4.1 Performance Requirements

The Campus IT Support Chatbot is designed to meet specific performance requirements that ensure a high-quality user experience. The primary performance requirement is that the system must respond to user queries within 2-3 seconds. This response time is critical for maintaining user engagement and satisfaction, particularly in an academic environment where users often require immediate assistance. The chatbot will be engineered to handle a minimum of 100 concurrent users without any degradation in performance, ensuring that multiple users can interact with the system simultaneously during peak usage periods, such as during registration or exam weeks.

To achieve these performance benchmarks, the system will employ efficient algorithms and optimized data retrieval methods, reducing latency during interactions. Regular performance testing will be conducted to verify that the system consistently meets these response time and concurrency requirements, allowing for proactive identification and resolution of potential bottlenecks.

By adhering to these performance requirements, the Campus IT Support Chatbot aims to deliver a responsive, reliable, and efficient service to students and staff, ultimately enhancing the overall effectiveness of the university's IT support services

4.2 Safety and Security Requirements

The safety and security of user data are paramount in the development of the Campus IT Support Chatbot. The system must comply with the Family Educational Rights and Privacy Act (FERPA) and other relevant regulations governing the handling of student information. This compliance ensures that the chatbot protects sensitive data and maintains user privacy during interactions. To safeguard user information, all data transmission between the chatbot and users will be encrypted using industry-standard protocols such as HTTPS, preventing unauthorized access and interception of sensitive information.

To mitigate potential security threats, the chatbot will include protections against Denial of Service (DoS) attacks, which could disrupt its availability. This will involve employing rate-limiting techniques to restrict the number of requests from a single user within a specified time frame, thereby preventing abuse of the system. Regular security assessments and vulnerability testing will be conducted to identify and address potential weaknesses in the system, ensuring continuous improvement and adaptation to evolving security threats.

By implementing these safety and security measures, the Campus IT Support Chatbot aims to provide a trustworthy and secure environment for users, fostering confidence in the technology and its ability to protect sensitive information.

4.3 Software Quality Attributes

Maintainability is a crucial quality attribute, as the chatbot's codebase will be structured in a modular fashion, promoting ease of updates and bug fixes. The code will be thoroughly documented and commented to facilitate future modifications by the development team or new developers. The use of continuous integration and automated testing will be emphasized to maintain system stability during updates, ensuring that new features do not compromise existing functionalities.

Usability will also be prioritized, with the chatbot designed to provide a simple and intuitive interface that mirrors modern chatbot interactions. The aim is to minimize the learning curve for users, enabling them to quickly navigate the system and obtain the support they need. User feedback will be actively solicited to refine the chatbot’s interface and functionality, ensuring it meets the evolving needs of the university community.

By focusing on these software quality attributes—reliability, maintainability, and usability—the Campus IT Support Chatbot seeks to deliver an effective and user-centric support solution for students and staff at the university.


5 Validation and Verification

5.1 Testing Methods

The testing of the Campus IT Support Chatbot will encompass a comprehensive suite of methodologies to ensure that the system meets its functional and non-functional requirements effectively. Performance testing will be conducted to verify that the chatbot responds to user queries within the specified threshold of two to three seconds, even under high load conditions. This testing will involve simulating multiple concurrent users interacting with the chatbot to assess its scalability and responsiveness.

Usability testing will be integral to the development process, involving real users from the university community who will engage with the chatbot to provide feedback on its interface and overall functionality. This feedback will be crucial in identifying areas for improvement, ensuring that the chatbot is intuitive and meets user expectations. The testing will include observational studies and structured surveys to gather qualitative and quantitative data regarding user satisfaction.

To address security concerns, security testing will utilize tools such as Burp Suite and OWASP Zed Attack Proxy to identify vulnerabilities within the chatbot's architecture and data handling processes. This testing will include penetration testing and vulnerability assessments to ensure that the system adheres to security best practices and complies with regulations such as FERPA.

Overall, these testing methods will be essential in validating the effectiveness, reliability, and security of the Campus IT Support Chatbot, ensuring it is well-prepared for deployment and capable of serving the university community effectively

5.2 Acceptance Criteria

The acceptance criteria for the Campus IT Support Chatbot will establish clear benchmarks that the system must meet to be considered ready for deployment. First and foremost, all functional requirements outlined in the Software Requirements Specification (SRS) must be fully implemented and verified, ensuring that the chatbot performs as intended in responding to user queries and handling various support scenarios. This includes confirming that the chatbot can provide accurate information within the designated response time of two to three seconds under standard operating conditions.

Additionally, the system must consistently achieve the specified performance metrics, including maintaining a response time of less than three seconds and supporting at least 100 concurrent users without performance degradation. User engagement metrics, such as the collection of feedback ratings and interaction statistics, will be monitored to validate that the chatbot is effectively meeting user needs and enhancing satisfaction.

Furthermore, usability testing results must demonstrate that users find the chatbot interface intuitive and easy to navigate, with a high percentage of users reporting positive experiences in surveys conducted during testing phases. Lastly, all security requirements must be verified, including successful completion of security assessments that identify and mitigate potential vulnerabilities. By meeting these acceptance criteria, the Campus IT Support Chatbot will be positioned to deliver a reliable, user-friendly, and secure support experience for the university community.


Appendix A – Data Dictionary

Variable/Constant Description Possible States/Values Operations/Requirements
userQuery User's input question or issue for IT support Text input The chatbot retrieves the user’s query for processing.
chatbotResponseTime Time taken by chatbot to respond to user query Numeric (in seconds) Must be < 3 seconds (FR-1).
response Generated answer by the chatbot Text output Provides information or troubleshooting steps.
feedbackRating User’s feedback on the response ‘Like’, ‘Dislike’ Used to track user satisfaction (FR-4).
userEngagementMetrics Data tracking user interaction (e.g., clicks, inputs) Metrics data Tracks user engagement (FR-3).
report A statistical report generated by the system 10 different statistics (numeric, text) Required to generate for admin purposes (FR-5).
systemStatus Status of the chatbot system Enum: ‘Active’, ‘Idle’, ‘Error’ System status for monitoring and maintenance.
citationList List of sources/citations used to generate an answer Array of text links Cited for transparency and credibility (FR-2).
concurrentUsers Number of users interacting with the system simultaneously Numeric Must handle 100 concurrent users (Performance).
dataFetch Data retrieved from university’s IT database JSON data Fetches relevant data for responding to user queries.
DoSProtection Security measure to prevent Denial of Service attacks Boolean: ‘Enabled’, ‘Disabled’ Must be enabled for system security (Security).
userSessionID Unique ID associated with each user session Alphanumeric Used for session tracking and response personalization.
serverStatus Health status of the server Enum: ‘Running’, ‘Down’, ‘Maintenance’ Indicates server health for proper operation.
chatWindowState State of the chat window Enum: ‘Open’, ‘Closed’ Tracks whether the user is actively engaged in a chat session.
userLanguage Language preference for chatbot responses Enum: ‘English’, ‘Spanish’, ‘French’, etc. Provides localized responses based on user preference.

Appendix B - Group Log

Meeting Hours:

  • Every Monday and Friday from 12:00pm(PST) to 1:00pm(PST)