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 | 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
- 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
- 2. Overall Description
- 2.1 Product Overview
- 2.2 Product Functionality
- 2.3 Design and Implementation Constraints
- 2.4 Assumptions and Dependencies
- 3. Specific Requirements
- 3.1 External Interface Requirements
- 3.2 Functional Requirements
- 3.3 Use Case Model
- 4. Other Non-functional Requirements
- 4.1 Performance Requirements
- 4.2 Safety and Security Requirements
- 4.3 Software Quality Attributes
- 5. Other Requirements
- Appendix A – Data Dictionary
- Appendix B - Group Log
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.