-
Notifications
You must be signed in to change notification settings - Fork 0
Software Requirements Specification (SRS)
Risk | Severity | Solution |
---|---|---|
Inexperience with Software | High | Ensure team communicates effectively to reduce confusion |
Time Constraint | High | Ensure team members are assigned tasks and communicate |
Distracting Work Environment | Low | Use of non-distracting work spaces |
Version Control Discrepancies | Medium | Use of programs such as Github and SourceTree to reduce issues |
Unrealistic Goals | Medium | Ensure that all goals are initially attainable and reevaluate practicality of goals |
This requirements specification is based on the app "Acquanym"; an application designed to assist users with remembering people who they have recently met. Within this section, readers will find the overall goal of Acquanym, the project scope detailing all the functionality of Acquanym, and an overview of the app.
Acquanym assists users with developing and maintaining relationships with people they have recently met. This is achieved by alerting users to their acquaintance's location and distance, sharing basic details between acquaintances, and allowing users to write notes about their acquaintance. The app also assists users with meeting new people by listing other users within the immediate area. This project will contribute to further connecting people together and assist users with forming more meaningful relationships with others.
There are three main functions that constitute the scope of Acquanym: a map displaying nearby contacts and lists detailing nearby users and acquaintances.
The map function of Acquanym displays nearby acquaintances and updates their location over time. This assists users with locating nearby acquaintances.
The user list function helps users find nearby users or to search for a specific user. The distance from each user is displayed and users can be filtered out according to distance.
The acquaintance list function assists with searching for a specific acquaintance. Similar to the user list, acquaintances can be filtered according to distance.
Functions outside the scope of the product but were considered included augmented reality support to assist users with locating other users, a list of recommended acquaintances, the ability to 'upgrade' relationships from acquaintance to friend, and integration of Facebook events.
Acquanym assists users with remembering people they have recently met. This is achieved by adding other users as "Acquaintances" and taking notes on people you've recently met.
Use cases have not been used for the following reasons:
- It will require detail description of functionality - something that is likely to change due to the nature of the project
- Since this project is user-based, user stories provide more of a user focus (use cases focus more on the system functionality)
- Time constraints prevent a full use case model from being designed
User stories have been listed below:
- I want to locate my acquaintances around me so that I can meet them.
- I want to find people I've encountered so that I can remember them.
- I want to view nearby app users so that I know who I can connect with.
- I want to find a person by name so that I can add them.
- I want to sign in to my account so that I can view my acquaintances.
- I want to view my account settings so that I can update my visibility settings.
- I want to take notes about a recently added acquaintance so that I can remember details about them.
- I want to view my acquaintances' details so that I can remember them.
- 5.1 Environmental Requirements A variety of software tools and development environments have been used to create Acquanym.
Tool | Description | Function |
---|---|---|
GitHub | Web-based hosting service for version control using Git | Up-to-date source code and version control |
Android Studio | Official integrated development environment for Google's Android operating system | App Development |
Source Tree | Develops products for software developers, project managers, and content management | Maintains version control |
MySQL | An enterprise-grade MySQL database service | Stores user data |
The non functional requirements have been listed below-
- Efficiency - it is expected that the algorithms and data structures used will make the app efficient
- Reliability - features of the application should be functional the majority of the time, with minimal downtime
- Security - the application should not be vulnerable to attacks from 3rd parties
- Privacy - confidential user data should not be visible to other users or applications
- Simplicity - users should be able to quickly learn how to use the application
The user should have an android device as the app is only compatible with that platform for now.
The web server and database have limited storage space and may need to be upgraded to store larger quantities of data in the future