SRS Assignment
SRS Assignment
By
1.1 Purpose
The purpose of the TravelTailor application is to simplify travel planning for tourists visiting Pakistan by
providing a user-friendly, AI-powered itinerary management platform. It caters to individual travel needs
such as interests, budget, available time, and preferences for activities (adventure, food, culture,
nature), offering a seamless and personalized experience for both local and international tourists.
1.2 Scope
TravelTailor is a comprehensive travel planning application designed for tourists interested in exploring
Pakistan. Its main functionalities include personalized itinerary generation, customized maps, budgeting
tools, cultural guidance, and real-time travel alerts. This project aims to bridge the gap for tourists
unfamiliar with local customs, languages, and destinations by providing a smart, AI-driven platform that
covers all aspects of a tour, from planning to navigation and local recommendations.
1.3 Modules
1.3.1 Module 1: User Account Management
FE-1: Register and log in using email or social media accounts.
FE-2: Provide location-based directions and estimated travel time between points.
FE-2: Provide cultural etiquette tips for local customs and norms.
1.4 Overview
TravelTailor consolidates multiple travel planning features into one application for tourists visiting
Pakistan. Its AI-driven itinerary, custom maps, budgeting tool, and community-driven review hub make
it an ideal travel assistant. The app's modular structure ensures flexibility and adaptability for adding
new features as travel needs evolve.
2. Overall Description
2.1 Product Perspective
TravelTailor is an AI-based tour and itinerary management application tailored for tourists in Pakistan,
integrating functionalities that streamline travel planning and enhance user experience with AI-
generated itineraries, budget tracking, custom maps, and real-time safety alerts.
Local Travelers: Domestic users who want to explore Pakistan with organized itineraries.
Admin/Service Providers: Admins manage safety alerts, POI data, and community content,
keeping information relevant and updated.
The app will require internet access for real-time updates and location-based services.
Real-time Data: Ensure accuracy for map navigation, weather, and safety updates.
Scalability: Design the backend to support high traffic as more users adopt the app.
Actors:
Trigger:
Tourist selects the "Register Account" option after opening the application.
Preconditions:
Postconditions:
Normal Flow:
Alternative Flows:
Exceptions:
1. The system displays an error message that the email is already registered. 2a. If
the tourist decides to cancel the registration process, the system terminates the
use case.
2b. If the tourist decides to enter a new email ID, the use case resumes at step 3
of the normal flow.
Business Rules:
BR-1: Only one account can be registered for a given email ID.
Assumptions:
UC-2: Login
Description: The tourist logs into their account by entering their email and password. If the credentials
are correct, they gain access to the app; otherwise, an error is shown.
Actors: Tourist
Normal Flow:
Exceptions:
E1: Incorrect credentials - System shows an error message.
Business Rules:
Actors: Tourist
Normal Flow:
Exceptions:
Business Rules:
Actors: Tourist
Actors: Tourist
Normal Flow:
Actors: Tourist
Normal Flow:
Exceptions:
E1: Insufficient data - System prompts for additional input.
Actors: Tourist
Normal Flow:
Actors: Tourist
Normal Flow:
Actors: Tourist
Trigger: Tourist selects "Get Directions".
Normal Flow:
Actors: Tourist
Normal Flow:
Actors: Tourist
Normal Flow:
UC-12: Checkout
Description: Tourist completes the payment for a booked tour.
Actors: Tourist
Normal Flow:
Exceptions:
UC-13: Feedback
Description: Tourist provides feedback after completing a tour.
Actors: Tourist
Normal Flow:
UC-14: Logout
Description: The tourist logs out of the application.
Actors: Tourist
Normal Flow:
System Exception
ID Event Data Element System Response System State
State Condition
FR-2: Account.Validate
The system shall validate that the username and email entered during registration are unique
and not already registered within the system.
Business Rules:
FR-3: Account.Invalid.Username
If the entered username is already registered, the system shall display an error message
prompting the user to choose another username.
FR-4: Account.Invalid.Email
If the entered email is already registered, the system shall display an error message prompting
the user to use a different email.
FR-5: Account.Registration.Confirmation
Upon successful registration, the system shall display a confirmation message and redirect the
user to the application's home page.
FR-7: Login.Information.Validate
The system shall validate the entered credentials. If they match an existing account, access will
be granted.
FR-8: Login.Information.Invalid
If the credentials are incorrect, the system shall display an error message, allowing the user to
re-enter their credentials.
FR-9: Login.Information.Valid
Upon successful login, the user is granted access to the application's main interface.
4.3 UC-3: Password Reset
FR-10: Password.Reset.Request
The system shall provide an option for users to reset their password if they have forgotten it.
FR-11: Password.Reset.EmailInput
The user must enter their registered email to initiate a password reset request. The system will
send a password reset link to the specified email.
FR-12: Password.Reset.Validate
The system shall verify that the entered email is associated with an account in the database.
FR-13: Password.Reset.Link
The system shall send a password reset link to the user's email upon successful validation.
FR-14: Password.Reset.NewPassword
The password reset page shall allow users to enter a new password.
FR-16: Profile.Edit
The system shall allow users to update their profile information, such as name, email, and
phone number.
FR-17: Profile.Update.Validate
When updating email or username, the system shall validate that the new values are unique.
FR-18: Profile.Update.Invalid
If the new email or username is already in use, the system shall display an error message
prompting the user to enter a unique value.
FR-19: Profile.Update.Confirmation
Upon successful profile update, the system shall display a confirmation message and save the
new information.
FR-22: Login.Google.Validation
The system shall validate the response from Google to ensure the user has successfully
authenticated.
FR-23: Login.Google.AccountCreation
If the user authenticates via Google for the first time, the system shall create an account with
the basic information provided by Google.
FR-24: Login.Google.Access
Upon successful authentication via Google, the user is granted access to the application.
5. Non-Functional Requirements
5.1 Usability
NFR-1: The application shall be intuitive and easy to navigate, allowing new users to understand
the main features within the first 5 minutes of use.
NFR-2: The design of the application shall be responsive, enabling a seamless experience across
various devices such as desktop, tablet, and mobile.
NFR-3: The application shall follow accessibility guidelines (e.g., WCAG 2.1) to ensure it is usable
for individuals with disabilities, including keyboard navigation and screen reader compatibility.
5.2 Performance
NFR-4: The system shall load the main dashboard within 2 seconds for 95% of user interactions.
NFR-5: The application shall be able to handle up to 10,000 concurrent users without a
degradation in performance.
NFR-6: Any search query shall return results within 1 second for up to 1,000 results.
NFR-7: The application shall maintain consistent response times under varying network
conditions, including 4G, Wi-Fi, and LAN.
5.3 Interoperability
NFR-8: The application shall be compatible with all major browsers, including Chrome, Firefox,
Safari, and Edge, for the latest and previous versions.
NFR-9: The system shall support integration with third-party authentication providers, including
Google and Facebook.
NFR-10: The application shall have an API that allows integration with other external systems,
such as CRM and analytics tools, via RESTful services.
5.4 Security
NFR-11: The system shall require secure password criteria (minimum length, alphanumeric,
special characters) to ensure password strength.
NFR-12: All user data shall be encrypted in transit using SSL/TLS protocols to prevent
unauthorized access.
NFR-13: The application shall implement role-based access control (RBAC) to limit access to
sensitive data based on user roles.
NFR-14: The system shall support multi-factor authentication (MFA) to enhance security during
login.
NFR-15: The application shall log and monitor all user login attempts and provide alerts for any
suspicious activity, such as multiple failed login attempts.
5.5 Integrity
NFR-16: The system shall automatically back up all data daily and maintain these backups for 30
days.
NFR-17: Any modifications to user data shall be logged with the date, time, and user ID
responsible for the change.
NFR-18: The system shall detect and prevent any attempts to manipulate stored data by
implementing checksums and data validation mechanisms.
UIR-2: Buttons, icons, and text shall be large enough to be easily selectable on mobile devices
without zooming in.
UIR-3: Error messages and form validation feedback shall be clearly visible and provide specific
guidance on how to correct errors.
UIR-4: The color scheme shall provide sufficient contrast to enhance readability and
accommodate users with color vision deficiencies.
6.2 Software Interfaces
SIR-1: The application shall connect to a MySQL database to store user and system data.
SIR-2: The system shall support integration with Google APIs for authentication and map
services.
SIR-3: The application shall communicate with a third-party payment gateway (e.g., PayPal,
Stripe) to handle transactions.
SIR-4: An API shall be provided for third-party services to access specific data, like user profiles
and activity logs, via secure RESTful endpoints.
HIR-2: The application shall be compatible with smartphones, tablets, laptops, and desktops,
including devices running Windows, macOS, iOS, and Android.
HIR-3: The system shall utilize hardware-based encryption, where available, to ensure data
security on physical devices.
CIR-2: The application shall support both HTTP and HTTPS protocols, with HTTPS enforced for all
data transmission.
CIR-3: WebSocket technology shall be used to enable real-time updates for certain features, like
live chat or real-time notifications.