Skip to content

Software Requirements

Jean edited this page Mar 19, 2017 · 18 revisions

The Goal of the Project

To create a Platform to allow Networking between any user in a given Event (STePs can be one such Event). Users are to indicate their Reasons for attending an Event.

Requirement Gathering Process

Prof Anand has indicated that the main feature of the platform should be to empower Exhibitors in garnering interest and support for their Projects (Exhibitions) and their work in general.

The end goal is to allow Exhibitors to connect / network with others. Such situations include finding collaborators, advisors, investors, companies, and even jobs / internships. This should be done by some form of Interest Matching in our system.

Functional Requirements

A functional requirement describes what a software system should do.

Users

  1. As a first time user, I want to be able to create my profile so that my credentials can be used for easier navigation.
  2. As a user, I want to be able to login so that I can access my profile.
  3. As a user, I want to be able to logout so that I can resume my work another time.
  4. As a user, I want to view the event details so that I am informed about the nature of the event.
  5. As a user, I want to view the full exhibition listing of the event so that I can have an insight of what the event is about.
  6. As a user, I want to be able to view the full description of a particular exhibition so that I am clear on what the exhibition is about and who are the geniuses behind it.
  7. As a user, I want to view the profiles of all the attendees of the event so that I can prepare my networking needs.
  8. As a user, I want to have a history record so that I can keep track of my past attendance.
  9. As a user, I want to be able to delete any attendance records from my profile.
  10. As a user, I want to be able to PM other users so that I am able to expand my network.
  11. As a user, I want to be notified when other users are PMing me so that I am not required to check my inbox frequently.
  12. As a user, I want to be able to see ONLY those exhibitions I may have interest in.
  13. As a user, I want to be able to edit my preference so that in case I have other reasons to attend.
  14. As a user, I want to link my external projects/portfolios so other users can view them.
  15. As a user, I want to be able to edit my profile such as descriptions so that information can be updated and relevant.

Exhibitors*

  1. As an exhibitor, I want to be able to edit my exhibition's page so that I can add details/more information about my exhibition to the page.
  2. As an exhibitor, I want to have my name automatically listed under my exhibition listing so that people who view that exhibition know that I participated in the exhibition even if I have not edited my exhibition page before.
  3. As an exhibitor, I want the module to be automatically listed in the exhibition so that I can remember under which module I did my exhibition under.
  4. As an exhibitor, I want my exhibition’s location to be automatically listed in a layout of the event venue so that people can find my exhibition during the event itself (and I can find my own exhibition's venue).
  5. As an exhibitor, I want my exhibition's page to have a comment section so that people who participate in the event can share their thoughts on my exhibition.
  6. As an exhibitor, I want my exhibition page to have a picture and video section so that I can show visitors media on my exhibition.
  7. As an exhibitor, I want my exhibition page to link to my exhibition page’s Github/official website so that I can lead users to a place to download/get more information about my exhibition.
  8. As an exhibitor, I want my exhibition page to have related exhibitions listed so that my visitors can reach my page through a related exhibition.

*An Exhibitor should be able to do what a User can do as well.

Non Functional Requirements

Security Features such as authentication and validation are non-existent in STePs.

The website has to be fast and responsive to minimize users waiting time.