Skip to content

Software Requirements Specification

afabello edited this page Jul 13, 2018 · 16 revisions

Prototype & Risk Status

Risk Severity Response
New Team Low Get to know each members strengths and weaknesses and assign relevant roles based off that
Unfamiliar with coding language/style High Go through online tutorials, man pages, online examples to become more familiar with Java and app development as a whole
New environment Medium Find locations such as group meeting rooms for a quieter space to work with less distractions. Use phones as personal hotspots when the wifi is being extremely slow
Version Control Medium Make sure every team member is set up correctly with Git and knows how to use it effectively
Time Constraint High Work efficiently during the allotted times to work on the project as well as in spare time at night after classes to make sure the project gets completed on time

Introduction

Goal

Chiau Global aims to revolutionise the social aspect of meeting up for drinks through the app Drinking Buddies. The key deliverable for this project is a service that allows users to be matched with those around them based on their individual drink preferences ranging from alcohol to coffee. This application will place users into a group chat that allows for direct-communication to finalise their drinking experience. Drinking Buddies will partner with local businesses to suggest bars, restaurants and cafés in addition to offering a selection of beverages that can be browsed in-app before meeting at the agreed destination. These menu items as well as the places of business will be user-rated to guide those in the future to a new, enjoyable experience or one that best suits their taste.

Scope

Inside Scope Outside Scope
  • Multiple-page guide outlining the proper use of the app on initial start-up
  • Create an account on first use of the app where users can fill in their details and upload a photo
  • Front-end of the app implemented to demo the user interface
  • Update profile and drinking preferences
  • Basic chat system to allow users to input a message with their photo and timestamp
  • Review system for rating drinks and business
  • ‘Report users’ functionality with a button and an optional message
  • Matching with other users based on location
  • Partnership with local businesses to recommend their establishment to users
  • Verification of accounts through use of a Chinese citizenship number
  • Group chat between multiple users
  • App security and data encryption

Glossary

Term Definition
Drinking Buddies The name of the app
Activity An activity is a single, focused thing that the user can do. Almost all activities interact with the user
Intent An intent is an abstract description of an operation to be performed. It can launch an activity
Fragment A Fragment represents a behavior or a portion of user interface in a FragmentActivity. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities.
Recycler view A flexible view for providing a limited window into a large data set.
Adapter A subclass of RecyclerView.Adapter responsible for providing views that represent items in a data set

The below table describes the multiplicity options used in the Use Case Diagram.

Multiplicity Option Cardinality
0..0 0 Collection must be empty
0..1 No instances or one instance
1..1 1 Exactly one instance
0..* * Zero or more instances
1..* At least one instance
5..5 5 Exactly 5 instances
m..n At least m but no more than n instances

Overview

Drinking Buddies is a social platform which allows users to match up with others based off their drink preference. Users select their preferences for group size, type of drink, and location, and are matched with other users with similar selections. Drinking Buddies also offers a solution to users with busy schedules who struggle to find a time to meet up with friends. With options to automatically pick a time to meet based off synced calendars, as well as providing suggestions for where to go, meeting up with friends will never be easier and more straightforward.

Use Cases

Actor & Stakeholder Table

Name of Actor Stakeholder Classification Consideration Justification
App Users Consumer The user must be considered at each stage of planning and implementation in order to deliver a service that improves their social drinking experience. A user-focus has been adopted to increase the number of app downloads that will be essential for matching based on nearby users.
Businesses - Restaurants, Bars, cafés Retailer Establishments will be responsible for the monetisation of Drinking Buddies. This is through partnership where local businesses can sponsor their content to appear highlighted or suggested to users. This strategy ensures that pop-up and banner advertisements won’t be required, ultimately improving the app experience.

Main Use-case Diagram

alt text

User Stories

Case 1

Drinking Buddies is designed for any individuals or groups looking to meet new people over a drink of their preference. A possible scenario is someone who has just moved to a new city and perhaps does not know anyone there. Drinking Buddies is the perfect way to meet new friends and bond over a common interest in drink choice. Another possible outcome for this scenario is the city that the user has moved to is known for a having a specialty in a certain drink choice. Drinking Buddies suggests new venues and drink options for the user to try which would be a great way to get to know the city better.

Case 2

The other main case of users that Drinking Buddies caters for is anyone with a busy schedule who struggles to find time to meet up with their friends. Drinking Buddies not only places the users into a group chat to find a time to meet, but further provides options to automatically suggest a time to meet based off the groups calendars, and also different venues and drink options based off companies partnering and sponsoring the app.

Other / Non-functional Requirements

Environmental Requirements

There are a variety of environmental requirements employed to create the prototype for Drinking Buddies.

Tool Description
Google Chrome Web browser used for research as well as gaining access to version control
GitHub Version control platform used for this project
Git Bash Main tool used for all version control related functions e.g. pushing and pulling to/from the repo
Android Studio IDE used for developing Drinking Buddies and writing all source code
Emulators Used to test the source code to see how the app would look on a physical device

There are also an array of environmental requirements for the end user once the app is fully functional. Users will need to be in a populated space where there is a large variety of establishments offering drink options, as well as other users who will also be utilizing the app. Drinking Buddies will not work as intended in rural areas.

Hardware Requirements

A variety of hardware is required for the development of the Drinking Buddies prototype:

Tool Description
Internet Connection Strong enough connection to the internet to be able to download IDE's, view web pages for research etc.
Laptop Laptop/Computer which is powerful enough to run android studio and the emulator. Emulators use large amounts of RAM
Android Mobile phone To see how the app fully functions on a non-emulator device, a physical android mobile phone will be necessary

It is also worth mentioning the code written in Android Studio was designed for a Nexus5X model, so while the app will still function for any other android device, it is optimised for the Nexus5X.

Additional Requirements

It is required that any user running the app have an operating system over version 8.1 (Oreo).

User Interface Prototype

Prototype Overview

alt text

Guide Pages







Initially, users are presented with a guide on how to navigate the app and use its features.















After swiping to the last guide page, the user can press the button shown to create an account.









Profile Set Up







On this page you can create your account by inputting your details into the text fields. Press the ‘next’ button to go to the Confirm information Page.















Example UI of the user inputting their personal details when initially creating an account.









Preferences







First preference option allowing the user to select their preferred drink.















Second preference option letting the user set how many people they would like to meet up with.















Third preference option lets the user set the age bracket of the people they are interested meeting up with.















Final page after setting up an account. Pressing the "Let's start!" button first takes the user to the matching tab.









Matching







Users are able to view their requests and change their preferences of groupsize,type of drink,and range before pressing find to search for people around them.















Layout of users looking at their requests.















Option for the user to change their preference for the group size.















Option for the user to change their preference for the type of drink.















Option for the user to select the range on a map they would be willing to travel to.









Chat







Main layout of the Chat tab. Can view existing chats.















An example of the UI of a group chat.









Destination







Main layout of the destination tab. Shows how many people in the group have arrived, different drink suggestions as well as an alert button in case anything goes wrong.















Confirmation screen after pressing the alert button.















An example of the screen to review a drink.









Reviews







Layout of the review tab. Will show reviews for certain drinks/establishments.















Example layout of the user reviewing an establishment.















Example layout of the user reporting an individual that they met up with. The user has to provide reasoning.









Profiles







Layout of the profile tab. All personal information can be viewed and changed here.