Requirements Analysis Document - Fatima-Essa/Wits-Social-SDP GitHub Wiki

Purpose, Audience and Scope

Social Media Platforms have become increasingly popular. At this moment, social media is becoming a huge catalyser for people world-wide. A big challenge lies in the inability and authenticity within many mainstream apps. With so many social platforms, and even more influencers, it is difficult for users to truly know what to do. We strive to solve the challenges for all. An interactive application with extreme legibility and credibility is what the general public needs and thus it is what we will provide. Our application sets out to maximise productivity and reduce frustration. An architectural style (or architectural pattern) is a general, reusable solution to a commonly occurring problem in software architecture within a given context. In out given application we have a client-server architectural style.

Overview

Since the use of Social Media Platforms have increased drastically in the past 10 years alone, teenagers and adults alike commonly are constant searching for a new outlet and this will prove to be one. Here is where we come in! With our web-based application, here are a few of the high level functionalities users will have at their disposal:

  • Being able to create and account and find accounts belonging to friends/brands/influencers
  • Some sort of follower/friend system
  • Some sort of chat system
  • Being able to make posts, set a status, etc.
  • etc.

High Level Functional and Non-Functional Requirements

Functional Requirements

Functional requirements define the basic system behaviour. Essentially, they are what the system does or must not do, and can be thought of in terms of how the system responds to inputs. Functional requirements for our application include:

Universal-User Requirements

All users will have the ability to:

  • Register a new account
  • Login to their existing account if they provide authenticated login details
  • Create new password if forgotten
  • Validate email before first login
  • Access to a landing homepage
  • Access to profile page
  • Create a bio and view user details on profile page
  • Access to navigation bar to switch between pages
  • Logout

System Requirements

Since the application is web-based, it will be able to be used on all browsers upon all devices.

Non-Functional Requirements

Non-functional requirements are product properties and focus on user expectations and do not affect the basic functionality of the system. Non-Functional requirements for the Social Media web-application (Wits Social) include:

Performance

User must be able to switch between pages on the app promptly with the speed of their internet connection being the only bottleneck Models should have a fast enough response time in order to still provide a good user experience

Reliability/Availability

The server hosting the application should run without end(except for system maintenance) in order to make the application available at all times of the day, accommodating for all users across the world.

Usability

All buttons should be clearly visible in order to make functionality apparent. Color scheme will be simple yet contrasting in order to not overwhelm the user but instead provide a visually appealing experience.

Security

Only users with authenticated login credentials can sign in. User passwords must be encrypted

Scalability

The application should be scalable in order to support many users It must be able to support many users simultaneously