1. User Stories

User Story A

As a professor, I want to enter my preferences for RA roles to ensure the best fit for my research.

A user-friendly template form will allow professors to specify their criteria and add custom questions to capture essential information for satisfactory matches.

User Story B

As a professor, I want to review graduate student's qualifications and preferences to make informed decisions.

After matching, professors will access a detailed overview of matched students, including their qualifications and preferences, enabling them to generate a list of preferred candidates.

User Story C

As a professor, I want updates on the matching process to prepare for the semester.

Professors will receive notifications once matching is complete.

User Story D

As a graduate student, I want to specify my preferences for RA, TA, or LA positions to increase my chances of matching with a suitable role.

Students will fill out an intuitive form detailing their interests and constraints, ensuring the matching process considers their availability.

User Story E

As a graduate student, I want notifications about my matching status to stay informed.

Students will receive timely notifications regarding their acceptance or rejection in roles, allowing them to prepare accordingly for the semester.

2. Requirements

Functional Requirements

Priority: Definite

-> Preference Submission for Professors

  • The system shall provide a form for professors to input their preferences for TA and LA candidates.
  • The form shall allow professors to add custom questions to capture specific criteria for matching.
  • The system shall save and retrieve professor preferences for future reference.

-> Student Profile Creation

  • The system shall allow graduate students to create profiles with personal details, qualifications, preferences, and constraints.
  • The system shall enable students to specify their desired roles (RA, TA, or LA) and any scheduling conflicts.

-> Matching Algorithm

  • The algorithm shall consider constraints (e.g., course prerequisites, funding guarantees) and preferences (e.g., professor and student preferences) when generating matches.

-> Review and Decision-Making for Professors

  • The system shall provide professors with a detailed overview of matched students, including their qualifications and preferences.
  • Professors shall have the option to accept or reject each matched student through the web interface.

-> Data Management and Reporting

  • The system shall allow administrators to manage and oversee user accounts, preferences, and matching outcomes.
  • The system shall generate reports summarizing the matching process, including accepted and rejected placements.

Priority: Perhaps

  • N/A

Priority: Improbable

-> Notification System

  • The system shall send notifications to professors upon completion of the matching process, summarizing matched students.
  • The system shall notify graduate students of their matching status once professors have made their decisions (accepted or rejected).

Non-Functional Requirements

Priority: Definite

-> User Authentication and Authorization

  • The system shall allow professors and graduate students to create user accounts with secure login capabilities.
  • The system shall provide role-based access control, ensuring that professors and students have access to appropriate functionalities.

Priority: Perhaps

-> User Interface

  • The system shall have an intuitive and responsive web interface for both professors and students.
  • The interface shall allow easy navigation for submitting preferences, reviewing matches, and accessing notifications.

-> Integration with External Tools

  • The system shall have the capability to import and export data from Google Sheets or similar tools to facilitate data entry and reporting.

-> Accessibility and Security

  • The system shall comply with accessibility standards to ensure usability for all users.
  • The system shall implement security measures, including data encryption and secure password storage, to protect user information.

Priority: Improbable

  • N/A