SRS - DrAlzahraniProjects/csusb_fall2024_cse6550_team2 GitHub Wiki

Software Requirements Specification (SRS)


for CSE Academic Advisor Chatbot

Prepared by

Group Name: csusb_fall2024_cse6550_team2

S.No Name Email GitHub Username
1 Fnu, Farheen [email protected] farheen-akhter-code
2 Kantumuchu, Ajayaman [email protected] Ajayaman2627
3 Kandikatla, Prasanth [email protected] Prasanth-Kandikatla
4 Godugu, Arun [email protected] Arungodugu
5 Hernandez, Jesse [email protected] CSUSB-Jesse-Hernandez
6 Karamchedu, Shreya [email protected] shreya192-edu
7 Ketha, Shishir [email protected] ketha-shishir
8 Gurram, Vishnu [email protected] VishnuTejaG07
9 Erigela, Sandhya [email protected] ERIGELASANDHYA
10 Kanneti, Vedakshari [email protected] VedakshariKanneti
11 Gummalla, Jahnavi [email protected] Jahnavi24csusb
12 Kabyo, Siyamul [email protected] SiyamulHudaKabyo
13 Gorrepati, Abhishek [email protected] GorrepatiAbhishek
14 Jakkampudi, Sujana [email protected] sujanajayram
15 Hernandez, Jason [email protected] JasonHernandez24
16 Kassab, Joseph [email protected] Joseph-Kassab

Instructor: - Dr. Nabeel Alzahrani

Course: CSE 6550: Software Engineering Concepts - Fall 2024


Contents


1. Introduction

1.1 Document Purpose

This document outlines the software requirements for the CSE Academic Advisor Chatbot, developed for CSE6550 at California State University, San Bernardino (CSUSB). The purpose is to define the chatbot’s functions, features, and behavior, aiming to automate student advising through natural language processing (NLP) and artificial intelligence (AI).

1.2 Product Scope

The Academic Chatbot Advisor will automate responses to student queries related to academics, such as course selection, GPA calculation, and graduation requirements. It will provide 24/7 academic support, offer personalized recommendations based on student data, and integrate with the university’s internal systems.

1.3 Intended Audience and Document Overview

This document is intended for:

  • Developers: To understand how to build the system.
  • Testers: To develop appropriate test cases.
  • Project Managers: To ensure the project meets its goals.
  • Instructors: To evaluate whether the system meets course objectives.

1.4 Definitions, Acronyms, and Abbreviations

  • AI: Artificial Intelligence
  • API: Application Programming Interface
  • FR: Functional Requirement
  • NFR: Non-functional Requirement
  • NLP: Natural Language Processing
  • SRS: Software Requirements Specification
  • FERPA: Family Educational Rights and Privacy Act

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 CSE Academic Advisor Chatbot is a virtual assistant that provides academic guidance to students. The chatbot will interact through a web or mobile interface, answering questions related to courses, grades, and other academic queries using real-time data from the university systems.
The chatbot will reduce the workload on human advisors and provide a more efficient way for students to receive academic support.

2.2 Product Functionality

  • Automated Responses: Provides responses to routine academic questions.
  • Personalized Advice: Uses student records to provide tailored recommendations.
  • Integration: Connects with university databases for real-time data.
  • Metrics Tracking: Tracks user engagement and chatbot performance.

2.3 Design and Implementation Constraints

  • Must adhere to FERPA guidelines to protect student information.
  • The chatbot should function across both web and mobile platforms.
  • Performance should not degrade with up to 150 concurrent users.

2.4 Assumptions and Dependencies

  • The university databases and APIs will be available for integration.
  • The chatbot will use Python and Streamlit for deployment.
  • Users will have stable internet access to interact with the chatbot.

3. Specific Requirements

3.1 External Interface Requirements

User Interfaces

The chatbot will provide a text-based interface for interacting with students. Responses to common academic queries will be displayed in real-time. The user interface must be accessible via both desktop and mobile devices.

Hardware Interfaces

The system will interact with the university’s databases via API calls. No specific hardware requirements for end users are anticipated.

Software Interfaces

The chatbot will integrate with NLP libraries (such as LangChain) and university databases for real-time academic data access.


3.2 Functional Requirements

  • F1: The chatbot shall respond to greetings with predefined answers like "Hello! How can I support you with your academic goals today?".
  • F2: The chatbot shall provide personalized course recommendations based on the student's academic record.
  • F3: The system shall store a 30-day conversation history for each user.

3.3 Use Case Model

Use Case U1: Handle Routine Queries

  • Author: Team Member
  • Purpose: Respond to frequently asked questions about academic policies, courses, and requirements.
  • Actors: Student, University Database
  • Basic Flow: Student queries the system → Chatbot fetches data → Chatbot provides a response.

4. Other Non-functional Requirements

4.1 Performance Requirements

  • The system shall respond within 2-3 seconds to user queries.
  • The system must handle up to 150 concurrent users without degradation in performance.

4.2 Safety and Security Requirements

  • The system must ensure FERPA compliance for student data.
  • Encryption of data in transit and at rest must be implemented.

4.3 Software Quality Attributes

4.3.1 Reliability: The system should provide **99.9% uptime during critical academic periods such as course registration and advising sessions.

4.3.2 Maintainability: The codebase must be modular, with clear documentation and comments, to facilitate future updates and bug fixes. Continuous integration and automated testing will be implemented to ensure system stability during updates.


5. Other Requirements

  • Internationalization: Future versions of the chatbot should support multiple languages to cater to a diverse student body.
  • Scalability: The system must be scalable to accommodate an increase in users during peak periods, such as enrollment or exam times.

Appendix A – Data Dictionary

Variable Description Data Type
user_query Stores the student's input String
response The chatbot's reply String
student_data Academic data of the user Object
metrics Tracks chatbot performance Object

Appendix B - Group Log

  • Meeting Minutes: Regular meetings logged with team updates.
  • Group Activities: Each member's contributions noted.