Kids School Finder System by using Chat bot
Requirements Specification
Version 1.0
  
Group Id: F22029C174 
Supervisor Name: Muhammad Umar Farooq
                       Revision History
      Date       Version              Description                     Author
  (dd/mm/yyyy)
16/01/2023       1.0       Digitalization has played the vital    MC190400150
                           role in the current era of E-
                           commerce. With the advancement
                           of Artificial Intelligence and
                           Machine Learning Algorithms,
                           chatbots are playing their roles for
                           assisting users in their particular
                           domain. Chatbot software is used
                           to conduct an online chat
                           conversation via text or through
                           text-to-speech conversation as a
                           live human agent. Chatbot offers
                           engagement of people through
                           providing services in B2C
                           (Business to Customer) E-
                           Commerce applications for the
                           purchasing of different online
                           services. Chatbot adopts the
                           Natural Language Processing
                           combined with some essence of
                           Artificial Intelligence and Machine
                           Learning in E-Commerce
                           environments.
                           The aim of this project is to design
                           a Kids School Finder System by
                           using Chatbot. The users
                           (parents) of this system will be
                           able to search the appropriate
                           school for their kids near to their
                           home location. Chatbot will assist
                           the parents in selecting the
                           nearest campus as per the
                           parents’ budget and will
                           recommend the suitable campus
                           as per their kid gender and age.
                           Recommendation of campuses
                           will be as per the parents’
                           requirements. Proposed
                           application aims to provide an
                           effective business environment to
                           the parents.
                            Table of Contents
1. Scope (of the project)
   2. Functional Requirements Non Functional requirements
   3. Use Case Diagram
   4. Usage Scenarios
   5. Adopted Methodology
   6. Work Plan (Use MS Project to create Schedule/Work Plan)
                    SRS Document
Scope of Project:
The proposed project aims to design a Kids School Finder System using a
chatbot to assist parents in finding appropriate schools for their children near
their home location. The chatbot will use Natural Language Processing and
Artificial Intelligence/Machine Learning algorithms to understand the
parents' requirements and recommend suitable schools based on factors such
as budget and the child's age and gender. The system will have four main
user types: Admin, Area Manager, School Manager, and Parents. The
functional requirements include modules for registration, login, geographical
area allocation, and client support, campus selection using Google maps,
location awareness, personalized recommendations, and smooth
conversational flow using Machine Learning and Deep Learning algorithms.
The system will also provide information on the schools' fees and locations,
as well as links to the schools' websites.
Functional and non Functional Requirements:
Functional Requirements:
Kids School Finder System using Chabot is demonstration of B2C E-Commerce
domain. It selects different categories of School campuses as per kids age and
parents’ budget. After selecting the appropriate campus of your choice, chatbot
will provide client support by showing list of kid’s campuses, fees and nearest
campus location.
The proposed system will have the following main users:
Admin, Area Manager, School Manager, Parents.
    1. Registration module: It will facilitate the registration process for all kinds
       of users. Admin will approve and perform activation of the different user’s
       accounts and registration requests.
    2. Login Module: After successful registrations, all types of the users will be
       able to login to the system using their registered email and password.
    3. Geographical area allocation module: Admin will assign the different areas
       to Area Managers across Pakistan. Different School Manager will work
       under an Area Manager in a particular geographic region, having assess to
       particular school in different areas of Pakistan. Parents will directly
       communicate with the school manager.
    4. Pop up window should be displayed at the bottom right of the system by
       prompting the parents for any kind of guidance related to selecting the
       campuses.
    5. Client will go for Kids Campus selection module where the chatbot will
       assist the parents through Google maps to select the nearest campuses to
       their locations.
6. Location Awareness: Chatbot should have ability of location awareness,
    that can automatically select your current location.
7. Parents will be able to view information at Google Maps to assess the fast
    and easy access to the kids’ campuses. If the website exists for the
    particular campus, it will be provided through chatbot.
8. Conversation Flow Module in chatbot be responsible to ask the queries
    from parents, related to preferred kids’ campus and will suggest the most
    suitable type of kid’s campus (nearest to their location) as per parents’
    demand. To make conversation flow smooth and efficient, it is important
    to apply the best practices for developing chatbot. For this purpose,
    supervised/unsupervised Machine learning and deep learning algorithms
    be used, while taking into account of business objectives and parents’
    expectations.
9. After the conversation flow is completed, search result module will
    provide personalize suggestions, recommendations that can be helpful for
    the parents to find specific school campus as per their budget and
    location. After selecting the appropriate kids’ campus from the given list as
    per the parents demands. A conversational flow interface will allow the
    system to ask probing questions and understand the parents’ intent
    clearly.
10. Search result module will display different categories of Kids campus like
    Private/Public Sector, Fee related information and Geographic locations
    information’s.
11. Discount module will be activated in case parents may be looking for
    discount. In case client fall into one of the given categories like (Army
    officers, Teachers).
12. Chatbot will assess the Parents behavior from historical data and suggest
    the different campuses according to his budget and demand.
13. Supervised/Unsupervised Machine learning module for Chatbot should
    already be “taught / trained” common questions so that parent will be
    able to select the nearest campus to their locations for specific School
    campus and respond immediately to parents’ queries.
14. Once the parents have selected the required School campus, the payment
    module will be initiated; chatbot should properly guide the parents of
    different payment options. The system will facilitate the three payment
    options as per the user choice i.e., credit card, debit card and through cash
    payments.
15. The proposed system should have parent-teacher interaction module. It
    should guide the parents about the progress of their kids for different
    academic activities.
   16. For successful human-like interaction, visual module is also used in
       chatbot for perfect tone and dialect. To achieve coherence, a character is
       used to effectively communicate in audio synced with the text to help out
       the parents for specific school campus.
   17. There should be Frequently Asked Questions module to generate a
       chatbot’s list of pre-programmed queries and responses.
   18.
Non-functional requirements for the system include:
Security: The system should have robust security measures in place to protect
sensitive data and prevent unauthorized access.
Scalability: The system should be able to handle a large volume of data and
support multiple branches.
Performance: The system should have a fast response time and be able to process
data quickly and efficiently.
Usability: The system should be easy to use and understand for all types of users.
Compatibility: The system should be compatible with various platforms and
devices.
Reliability: The system should have high availability and minimal downtime.
Maintainability: The system should be easy to maintain and update.
Auditability: The system should have an auditing feature to track changes and
user activity.
Adaptability: The system should be adaptable for future changes and updates.
Use Case Diagram(s):
Usage Scenarios:
 Use Case Title:                                      Login
 Use Case Id         UC-1
 Actors              Scholl Manager, parents, Admin, Area Manager
                     1) User will provide his unique ID and password already registered with
                     the Database and click on login.
 Actions
                     2) System will check for the Id and password.
                     3) If it exists in Database then it will be login to the relevant Portal.
 Description         By entering correct credentials User can login into application.
 Alternative Paths   User can sign up if does not have an account.
                     1) Application must be in running condition.
 Pre-Conditions
                     2) User must have an account.
 Post Conditions     Logged in successfully.
 Author              MC190400150
                     1) The provided password is wrong.
 Exceptions
                     2) The provided username is wrong.
 Use Case Title:                                Manage Campus
 Use Case Id         UC-2
 Actors              Area Manger
 Actions             Enroll students in classes
                     Track student attendance
                     Record grades for students
                     Generate transcripts and report cards
                     Manage student housing assignments
                     Handle disciplinary actions for students
                    Coordinate with professors and other campus staff
                    Manage Campus is a software system used by administrators and staff
Description         at educational institutions to manage various aspects of student life and
                    academic record-keeping.
                    A student may request to change their housing assignment
Alternative Paths   A student may appeal a disciplinary action
                    A professor may request an exception to the academic policy
                    Students must be registered and accepted to the institution
Pre-Conditions
                    Professors and staff must have valid login credentials
                    Students are enrolled in classes and their attendance and grades are
                    tracked
Post Conditions     Students have been assigned housing and disciplinary actions have been
                    handled
                    Transcripts and report cards have been generated
Author              MC190400150
                    Error handling for invalid login credentials
                    Error handling for invalid student ID or other input data
Exceptions
                    Exception process for students who want to appeal disciplinary action
                    or want to change their housing assignments.
Use Case Title:                             Manage kids progress
Use Case Id         UC-3
Actors              Scholl Manager
                    Create student profiles
                    Track student progress through assessments and evaluations
Actions             Generate progress reports and parent-teacher conferences
                    Monitor student performance and adjust teaching methods as needed
                    Communicate with parents and guardians about student progress
                    Manage Kids Progress is a software system used by teachers and
                    educators to track and monitor the progress of students in their
Description
                    classrooms. It allows them to evaluate student performance, generate
                    reports, and communicate with parents and guardians
                    A student may require additional support or accommodations
                    A parent or guardian may request additional information or a meeting
Alternative Paths
                    A teacher may need to adjust their teaching methods to better support
                    the student
                    Students must be registered and enrolled in the class
Pre-Conditions
                    Teachers must have valid login credentials
                    Student progress is tracked and monitored
Post Conditions
                    Progress reports and parent-teacher conferences have been generated
Author              MC190400150
Exceptions          Error handling for invalid login credentials
                    Error handling for invalid student ID or other input data
                    Exception process for students who require additional support or
                    accommodations.
Use Case Title:                                  View Booking
Use Case Id         UC-4
Actors              Scholl Manager
                    Search available bookings by date and location
                    View details of specific bookings
Actions
                    Cancel or modify existing bookings
                    Create new bookings
                    Manage reservations and bookings for various types of resources It
Description         allows users to search, view, and modify bookings, as well as make new
                    reservations.
                    A user may choose to search for available bookings by location or date
Alternative Paths   A user may need to cancel or modify an existing booking
                    A user may need to create a new booking
                    A user may choose to search for available bookings by location or date
Pre-Conditions      A user may need to cancel or modify an existing booking
                    A user may need to create a new booking
                    User can view available bookings and their details
Post Conditions     Bookings can be modified or cancelled
                    New bookings can be created
Author              MC190400150
                    Error handling for invalid login credentials
Exceptions
                    Error handling for invalid booking ID or other input data
Use Case Title:                                     Register
Use Case Id         UC-5
Actors              Scholl Manager
                    Accept user registration information
                    Verify the authenticity of the information provided
Actions             Assign a unique user ID
                    Send a confirmation email to the user
                    Store the user information in a database
                    It allows users to provide information such as their name, email address,
Description
                    and password, and creates an account for them in the system.
                    A user may choose to register using their social media account
                    A user may need to verify their email address before the account is fully
Alternative Paths   activated
                    A user may need to provide additional information during registration
                    such as their address or phone number
Pre-Conditions
                    User must have access to a valid email address
                    User must agree to the terms and conditions of the service
                    User has provided registration information
                    The user's information has been verified
Post Conditions     A unique user ID has been assigned
                    A confirmation email has been sent to the user
                    User information has been stored in the database
Author              MC190400150
                    Error handling for invalid input data
Exceptions          Error handling for duplicate email or user IDs
                    Error handling for invalid email address
Use Case Title:                      Communicate with school Manager
Use Case Id         UC-6
Actors              parents
                    Send messages or emails to the school manager
                    Schedule meetings with the school manager
Actions
                    Provide feedback or report issues to the school manager
                    Receive responses and follow-up actions from the school manager
                    Communicate with School Manager allows users such as parents,
Description         teachers, and staff members to communicate with the school manager
                    regarding various matters related to the school operation.
                    A user may choose to send an email or a message to the school manager
                    A user may need to schedule a meeting with the school manager
Alternative Paths
                    A user may need to provide feedback or report an issue to the school
                    manager
                    User must have valid login credentials
Pre-Conditions
                    Users must have a valid reason to communicate with the school manage
                    User has sent a message, email, or scheduled a meeting with the school
                    manager
Post Conditions     User has provided feedback or reported an issue to the school manager
                    User has received a response or follow-up action from the school
                    manager
Author              MC190400150
                    Error handling for invalid login credentials
                    Error handling for invalid input data
Exceptions
                    Exception process for when a user attempts to communicate with the
                    school manager without a valid reason
Use Case Title:                            Get Assist from chatbot
Use Case Id         UC-7
Actors              parents
                    Interact with the chatbot through natural language input
                    Receive automated responses from the chatbot
Actions
                    Access additional resources or information provided by the chatbot
                    Provide feedback on the chatbot's responses
                    It allows users to interact with a chatbot through natural language input
                    and receive automated responses. The chatbot can assist users with a
Description
                    variety of tasks, such as answering questions, providing information, or
                    directing users to relevant resources.
                    A user may choose to interact with the chatbot using voice commands
Alternative Paths   A user may need to provide more specific information to the chatbot
                    A user may need to access additional resources provided by the chatbot
                    User must have internet connection
Pre-Conditions      User must be able to interact with the chatbot through natural language
                    input.
                    User has interacted with the chatbot.
                    User has received automated responses from the chatbot
Post Conditions
                    User has accessed additional resources or information provided by the
                    chatbot.
Author              MC190400150
                    Error handling for invalid input data.
                    Error handling for incomplete or ambiguous input
Exceptions          Error handling for disconnection or poor internet connection
                    Exception process for when a user attempts to interact with the chatbot
                    and the chatbot is not available.
Use Case Title:                            View Nearest Campuses
Use Case Id         UC-8
Actors              parents
                    Search for nearby campuses using location data
                    View details of specific campuses, such as their address, contact
Actions             information, and programs offered
                    Compare the amenities and facilities of different campuses
                    Get directions to a selected campus
                    It allows users to search for and view information about nearby
                    educational institutions, such as colleges and universities. It uses
Description
                    location data to provide users with a list of nearby campuses and allows
                    them to view details about each one.
                    A user may choose to search for campuses by location or program
                    offered
Alternative Paths
                    A user may need to compare the amenities and facilities of different
                    campuses
                    User must have access to a device with internet connection and GPS
Pre-Conditions      capabilities
                    User must have location services enabled
                    User has searched for and viewed information about nearby campuses
Post Conditions     User has compared the amenities and facilities of different campuses
                    User has received directions to a selected campus
Author
                    Error handling for invalid input data.
                    Error handling for poor internet connection or location services not
Exceptions          enabled.
                    Exception process for when a user attempts to search for a campus that
                    is not available in the system.
Use Case Title:                           View in budget Campuses
Use Case Id         UC-9
Actors              parents
Actions             View budget for various campus locations
                    A user is able to view the budget for different campus locations, such as
Description
                    administrative expenses, capital expenditures, and revenue sources.
                    The user may also have the option to filter the budget information by
Alternative Paths
                    department or time period.
                    The user must have access to the budget information and be authorized
Pre-Conditions
                    to view it.
                    The user has successfully viewed the budget information for the
Post Conditions
                    selected campus location(s).
Author              MC190400150
                    If the user does not have access or is not authorized, an error message
                    will be displayed and the user will not be able to view the budget
Exceptions
                    information. If there is a problem with the system or database, the
                    budget information may not be displayed properly or at all.
Use Case Title:                        View Recommended Campuses
Use Case Id         UC-10
Actors              parents
                    Display a list of recommended campuses based on user preferences
Actions             Allow the user to view detailed information about each campus
                    Allow the user to save or bookmark a campus for later reference
Description         The "View Recommended Campuses" use case is a functionality that
                    allows users to view a list of recommended campuses based on their
                    preferences, such as location, program offerings, and campus size.
                    Users can view detailed information about each campus, including
                    photos, campus maps, and contact information. They can also save or
                    bookmark campuses for later reference.
                    If the user has not specified any preferences, the system can display a
                    list of popular or highly-ranked campuses.
Alternative Paths   If the user has specified preferences but no recommended campuses
                    match, the system can display a message indicating that no matches
                    were found.
                    The user must have an account with the system and be logged in.
Pre-Conditions      The system must have a database of campuses with information such as
                    location, program offerings, and campus size.
                    The user has viewed a list of recommended campuses based on their
                    preferences.
Post Conditions
                    The user can view detailed information about each campus and can save
                    or bookmark a campus for later reference.
Author
                    If the user is not logged in, the system can display a message prompting
                    them to log in.
Exceptions
                    If the system's database of campuses is unavailable, the system can
                    display a message indicating that the service is currently unavailable.
Use Case Title:                         View category wise Campuses
Use Case Id         UC-11
Actors              parents
                    Allow the user to select a category of campuses (e.g. public, private,
                    liberal arts, etc.)
Actions             Display a list of campuses that fall within the selected category
                    Allow the user to view detailed information about each campus
                    Allow the user to save or bookmark a campus for later reference
                    The "View Category-Wise Campuses" use case is a functionality that
Description         allows users to view a list of campuses that fall within a certain
                    category, such as public or private, liberal arts or technical, etc.
                    If the user has not selected any category, the system can display a
Alternative Paths
                    message prompting them to select a category.
                    The user must have an account with the system and be logged in.
Pre-Conditions      The system must have a database of campuses with information such as
                    category, location, program offerings, and campus size.
Post Conditions     The user has viewed a list of campuses that fall within the selected
                    category.
                    The user can view detailed information about each campus and can save
                    or bookmark a campus for later reference.
Author
                    If the user is not logged in, the system can display a message prompting
                    them to log in.
Exceptions
                    If the system's database of campuses is unavailable, the system can
                    display a message indicating that the service is currently unavailable.
Use Case Title:                                  View Discount
Use Case Id         UC-12
Actors              parents
                    Allow the user to view a list of available discounts
                    Allow the user to filter the list of discounts by category or location
Actions
                    Allow the user to view detailed information about each discount,
                    including the terms and conditions
                    It allows users to view a list of available discounts, such as coupons and
                    promotional codes. Users can filter the list of discounts by category or
Description
                    location, and view detailed information about each discount, including
                    the terms and conditions.
                    If the user has not specified any filters, the system can display a list of
Alternative Paths
                    all available discounts.
                    The user must have an account with the system and be logged in.
Pre-Conditions      The system must have a database of discounts that includes information
                    such as category, location, expiration date, and terms and conditions.
                    The user has viewed a list of available discounts based on their filters.
Post Conditions     The user can view detailed information about each discount, including
                    the terms and conditions.
Author              MC190400150
                    If the user is not logged in, the system can display a message prompting
                    them to log in.
Exceptions
                    If the system's database of discounts is unavailable, the system can
                    display a message indicating that the service is currently unavailable.
Use Case Title:                                      checkout
Use Case Id         UC-13
Actors              parents
                    Allow the user to review and verify their order details, including the
Actions             items and quantities they have selected, the shipping address and
                    method, and any applied discounts or promotions
Description         It allows users to review and submit their orders they have selected.
Alternative Paths   If the user does not have any items in their cart, the system can display a
                    message indicating that the cart is empty.
                    If the user attempts to submit their order with incomplete or invalid
                    information, the system can display an error message and prompt the
                    user to correct the information.
                    The user must have items in their cart.
                    The user must have an account with the system and be logged in.
Pre-Conditions
                    The system must have a secure payment gateway to process the user's
                    payment information.
                    The user has reviewed and verified their order details.
Post Conditions
                    The user has made any necessary changes to their order.
Author
                    If the user is not logged in, the system can display a message prompting
                    them to log in.
Exceptions
                    If the system's payment gateway is unavailable, the system can display a
                    message indicating that the service is currently unavailable.
Use Case Title:                                View kids progress
Use Case Id         UC-14
Actors              parents
                    Allow the parent/guardian to view the progress of their child/children in
                    terms of their educational progress
                    Allow the parent/guardian to view their child's/children's performance
                    in individual subjects or activities.
Actions
                    Allow the parent/guardian to view the child's/children's attendance
                    records.
                    Allow the parent/guardian to view the child's/children's grades, test
                    scores and any other relevant assessment data
                    It allows parents or guardians to view the progress of their
                    child/children in terms of their educational progress. It allows them to
                    view their child's/children's performance in individual subjects or
Description
                    activities, attendance records, grades, test scores, and any other relevant
                    assessment data. It also allows them to view the child's/children's
                    upcoming tests, assignments, and other upcoming events.
                    If the parent/guardian has multiple children, they can toggle between
                    children to view their progress.
Alternative Paths
                    If the child/children has no data available, the system can display a
                    message indicating that no data is available.
                    The parent/guardian must have an account with the system and be
Pre-Conditions      logged in.
                    The system must have the child's/children's progress data available.
                    The parent/guardian has viewed the progress of their child/children in
                    terms of their educational progress
Post Conditions     The parent/guardian has viewed the child's/children's performance in
                    individual subjects or activities, attendance records, grades, test scores,
                    and any other relevant assessment data.
Author              MC190400150
                    If the user is not logged in, the system can display a message prompting
                    them to log in.
Exceptions
                    If the system's data is unavailable, the system can display a message
                    indicating that the service is currently unavailable.
Use Case Title:                           Manage user signup request
Use Case Id         UC-15
Actors              Admin
                    Verify user's email address and password
                    Check for existing account with the same email address
Actions
                    Create a new account with the provided information
                    Send a confirmation email to the user's email address
                    The user signup request use case involves a new user providing their
                    email address and password to create a new account on the system. The
Description         system verifies the email address and password, checks for an existing
                    account with the same email, and creates a new account if one does not
                    already exist
                    If the email address is not valid, the system prompts the user to enter a
                    valid email address.
Alternative Paths   If the user enters an email address that is already associated with an
                    existing account, the system prompts the user to log in or use a different
                    email address.
                    A valid email address is provided
Pre-Conditions
                    A password is provided
                    A new account is created for the user
Post Conditions
                    A confirmation email is sent to the user's email address
Author              MC190400150
                    If the email address is already associated with an existing account, the
                    system throws an exception and prompts the user to log in or use a
Exceptions          different email address.
                    If the email address is invalid, the system throws an exception and
                    prompts the user to enter a valid email address.
Use Case Title:                                  Manage Areas
Use Case Id         UC-16
Actors              parents
                    Display a list of existing areas
                    Allow the user to add a new area
Actions
                    Allow the user to edit or delete an existing area
                    Save changes to the list of areas
Description         The "Manage Areas" use case allows a user to view, add, edit, and
                    delete areas within the system. The user can view a list of existing areas,
                    add a new area, edit the details of an existing area, and delete an area if
                    needed. All changes made to the list of areas are then saved.
                    If the user wants to edit an area, they can select it from the list and make
                    changes.
Alternative Paths
                    If the user wants to delete an area, they can select it from the list and
                    confirm the deletion.
                    The user must have the appropriate permissions to access the "Manage
Pre-Conditions      Areas" feature
                    Areas must be present in the system
Post Conditions     The list of areas is updated with any changes made by the user
Author              MC190400150
                    If the user does not have the appropriate permissions, the system throws
                    an exception and denies access to the "Manage Areas" feature.
Exceptions
                    If there are no areas in the system, the system throws an exception and
                    prompt the user to create an area first.
Use Case Title:                          Assign Area to Area Manager
Use Case Id         UC-17
Actors              parents
                    Display a list of available areas
                    Display a list of available area managers
Actions
                    Allow the user to select an area and assign it to an area manager
                    Save the assignment and update the area manager's assigned areas
                    The "Assign Area to Area Manager" use case allows a user to assign an
Description         area to an area manager. The user can view a list of available areas and
                    area managers, select an area, and assign it to an area manager.
                    If the user wants to change the area manager of an area, they can select
                    the area and assign it to a different area manager.
Alternative Paths
                    If the user wants to remove an area from an area manager's assignment,
                    they can select the area and unassigned it.
                    The user must have the appropriate permissions to access the "Manage
Pre-Conditions      Areas" feature
                    Areas must be present in the system
Post Conditions     The list of areas is updated with any changes made by the user
Author
                    If the user does not have the appropriate permissions, the system throws
                    an exception and denies access to the "Manage Areas" feature.
Exceptions
                    If there are no areas in the system, the system throws an exception and
                    prompt the user to create an area first.
Use Case Title:                          Manage Campuses Category
Use Case Id         UC-18
Actors              parents
                    Create a new campus
                    Edit an existing campus
Actions             Delete a campus
                    View a list of all campuses
                    Search for a specific campus
                    The "Manage Campuses" category allows users to create, edit, and
Description         delete campuses within an organization. It also provides the ability to
                    view a list of all campuses and search for specific campuses.
                    If a user tries to delete a campus that has active students or staff, they
Alternative Paths   may be prompted to reassign or archive those individuals before
                    proceeding with the deletion.
                    The user must have the appropriate permissions to access the "Manage
Pre-Conditions
                    Campuses" category.
                    A new campus is created and added to the list of campuses.
                    An existing campus is edited and the changes are reflected in the
Post Conditions
                    campus information.
                    A campus is deleted and is no longer listed among the active campuses.
Author              MC190400150
                    If a user does not have the appropriate permissions, they will not be able
                    to access the "Manage Campuses" category.
Exceptions          If any required information is missing or invalid when creating or
                    editing a campus, the user will be prompted to correct the errors before
                    proceeding.
Use Case Title:                                  View Booking
Use Case Id         UC-19
Actors              parents
                    Retrieve booking information from the database
Actions
                    Display booking information to the user
Description         The View Booking use case allows a user to view the details of a
                         specific booking, such as the booking reference number, the date and
                         time of the booking, the number of passengers, and the itinerary.
                         If the booking cannot be found in the database, the system may prompt
                         the user to enter the booking reference number again.
  Alternative Paths      If the user does not have permission to view the booking, the system
                         may display an error message and prompt the user to log in with the
                         correct credentials.
                         The booking must exist in the database and be associated with the user
  Pre-Conditions         attempting to view it.
                         The user must have the necessary permissions to view the booking.
                         The booking information is displayed to the user.
  Post Conditions
                         The database is not modified.
  Author                 MC190400150
                         If the booking cannot be found in the database, an error message is
                         displayed to the user.
  Exceptions
                         If the user does not have permission to view the booking, an error
                         message is displayed to the user.
Adopted Methodology
Development Methodology
Chosen Methodology
We will follow the VU Process Model. It is the combination of waterfall methodology
and spiral methodology. It is also called hybrid approach of system development. It has
five phases and which are Gathering and analyzing requirement, planning, analysis and
design, development and final report.
In the requirement phase the system goals, services and constrains are established after
discussion with user. The planning phase is synchronized effort to find all the potential
roadblocks and draft a robust plan to tackle each. This phase usually involves a lot of
brainstorming within software development team as well as with respective client. It
maximizes the quality of system and minimizes any risks and errors.
Reasons for Chosen Methodology
Our project is divided already into different phases i.e. gathering and analyzing
requirements phase, planning phase, analysis and design phase, development & final
project report phase, and final report/viva phase.
We will complete each phase in sequence and will submit it to our supervisor. He will
suggest us about the improvement in each phase before starting the next phase. We will
make improvement in that phase. This process will be adopted due to the spiral nature of
VU Process model. When the phase is well-improved and well worked-out, and also
accepted by our Supervisor then we will proceed to next phase. This will be done due to
the waterfall nature of the VU Process model. Hence both models are suppressed in
single form and that will be our VU process model. It will provide error free result as
each step is done in a sequence.
VU Process Model
VU process Model is proposed software engineering process by Virtual University of
Pakistan which is the combination of Waterfall Model and Spiral Model in software
development.
Following Diagram shows the stages of VU process Model.
STRUCTURE OF VU PROCESS MODEL
The five stages above are as follows:
   1. Requirement Analysis and Definition: What - The systems services, constraints
      and goals are established by consultation with system users. They are then defined
      in detail and serve as a system specification.
   2. System and Software Design: How – The system design process partitions the
      requirements to either hardware of software systems. It establishes and overall
      system architecture. Software design involves fundamental system abstractions
      and their relationships.
   3. Implementation and Unit Testing: - How – During this stage the software
      design is realized as a set of programs or program units. Unit testing involves
      verifying that each unit meets its specifications.
   4. Integration and system testing: The individual program unit or programs are
      integrated and tested as a complete system to ensure that the software
      requirements have been met. After testing, the software system is delivered to the
      customer.
   5. Operation and Maintenance: Normally this is the longest phase of the software
      life cycle. The system is installed and put into practical use. Maintenance involves
      correcting errors which were not discovered in earlier stages of the life-cycle,
      improving the implementation of system units and enhancing the system’s
      services as new requirements are discovered.
Spiral Model:
One of the most flexible SDLC methodologies, the Spiral model takes a cue from the
Iterative model and its repetition; the project passes through four phases over and over in
a “spiral” until completed, allowing for multiple rounds of refinement. This model allows
for the building of a highly customized product, and user feedback can be incorporated
from early on in the project. But the risk you run is creating a never-ending spiral for a
project that goes on and on.
The spiral model is very sensitive to risks. Due to its spiral nature the development and
maintenance run in parallel. This method is used for development of large-scale and in-
house software.
Diagram of Spiral Model
Waterfall Model
The Waterfall Model was the first Process Model to be introduced. It is very simple to
understand and use. In a Waterfall model, each phase must be completed before the next
phase can begin and there is no overlapping in the phases. Waterfall model is the earliest
SDLC approach that was used for software development.
In “The Waterfall” approach, the whole process of software development is divided into
separate phases. The outcome of one phase acts as the input for the next phase
sequentially. This means that any phase in the development process begins only if the
previous phase is complete. The waterfall model is a sequential design process in which
progress is seen as flowing steadily downwards (like a waterfall) through the phases of
Conception, Initiation, Analysis, Design, Construction, Testing,
Production/Implementation and Maintenance.
As the Waterfall Model illustrates the software development process in a linear sequential
flow; hence it is also referred to as a Linear-Sequential Life Cycle Model.
This model is depicted in the following diagram.
Work Plan (Use MS Project to create Schedule/Work Plan)