-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements Specifications
cjmiller edited this page Feb 13, 2019
·
26 revisions
Provided below are given user stories. They are accompanied by a rationale which is presented through collaboration within our team.
- Books
- User profile
- Searching
- Requesting
- Accepting
- Borrowing
- Returning
- Location
- Photographs
- The WOW Factor
| Books | User Stories and the Rationale |
|---|---|
| US 01.01.01 | As an owner, I want to add a book in my books, each denoted with a clear, suitable description (at least title, author, and ISBN). |
| Rationale | These are the real world indicators of a book and as such would help the user get accustom to the digital interface in addition to enabling searching |
| US 01.02.01 | As an owner, I want the book description by scanning it off the book (at least the ISBN). |
| Rationale | Allows for a word for word transcription of the books description, so the information found in the real world copy is persevered in the digital space |
| US 01.03.01 | As an owner or borrower, I want a book to have a status of one of: available, requested, accepted, or borrowed. |
| Rationale | As the app is based around borrowing books, it is important to give the user feedback so they know if a book is available or wants to be borrowed |
| US 01.04.01 | As an owner, I want to view a list of all my books, and their descriptions, statuses, and current borrowers. |
| Rationale | Allows the user to track their books without needing to manually look a them and thus saves them time |
| US 01.05.01 | As an owner, I want to view a list of all my books, filtered by status. |
| Rationale | Allows the user to quickly and efficiently figure out where each book is |
| US 01.06.01 | As an owner, I want to view and edit a book description in my books. |
| Rationale | Grants the user insight into the book's content, in addition to fixing it if error are present or if the description is mislead |
| US 01.07.01 | As an owner, I want to delete a book in my books. |
| Rationale | Allows the user to keep a book they want to no longer lend out without worry of getting requests |
| User Profile | User Stories and the Rationale |
|---|---|
| US 02.01.01 | As an owner or borrower, I want a profile with a unique username and my contact information. |
| Rationale | Allows for easy of identification and communication between individuals by enabling information sharing |
| US 02.02.01 | As an owner or borrower, I want to edit the contact information in my profile. |
| Rationale | Allows a user to keep their personal information up to date so that other users can still contact them without issue of miscommunication |
| US 02.03.01 | As an owner or borrower, I want to retrieve and show the profile of a presented username. |
| Rationale | Enables the user to quickly grab the information of someone they know or get the information of someone they do not know well, but wish to communicate with |
| Searching | User Stories and the Rationale |
|---|---|
| US 03.01.01 | As a borrower, I want to specify a set of keywords, and search for all books that are not currently accepted or borrowed whose description contains all the keywords. |
| Rationale | Enables the user to search based on their tastes for certain literature (genre, type of setting, non fiction vs fiction) |
| US 03.02.01 | As a borrower, I want search results to show each book not currently accepted or borrowed with its description, owner username, and status. |
| Rationale | It is not productive to show books they have or are borrowed as they cannot borrow them, thus we should not show them to the user |
| Requesting | User Stories and the Rationale |
|---|---|
| US 04.01.01 | As a borrower, I want to request a book that is not currently accepted or borrowed. |
| Rationale | It is not productive to let them request books they have or are borrowed as they cannot borrow them, thus we should not let the user request them |
| US 04.02.01 | As a borrower, I want to view a list of books I have requested, each book with its description, and owner username. |
| Rationale | This enables the user to figure out what books they want and which ones they currently still do not have |
| US 04.03.01 | As an owner, I want to be notified of a request. |
| Rationale | Enables ease of use as the user will not have to constantly check their books to see if they have any requests |
| US 04.04.01 | As an owner, I want to view all the requests on one of my books. |
| Rationale | This enables the user to select which borrower they want to give the book to rather than just picking one at random |
| Accepting | User Stories and the Rationale |
|---|---|
| US 05.01.01 | As an owner, I want to accept a request on one of my books. (Any other requests are declined.) |
| Rationale | For ease of use, this prevents the owner from needing to manually delete each request one by one while also allowing them to lend out the book. |
| US 05.02.01 | As an owner, I want to decline a request on one of my books. |
| Rationale | If for whatever reason the book is unavailable to lend out, the owner can notify the system that they cannot fulfill the request |
| US 05.03.01 | As a borrower, I want to be notified of an accepted request. |
| Rationale | For ease of use, we want to notify the borrower of an accept request so that they do not need to manually check every request to see if they are accepted |
| US 05.04.01 | As a borrower, I want to view a list of books I have requested that are accepted, each book with its description, and owner username. |
| Rationale | For ease of use, we want to show the borrower a list of accept requested so that they do not need to manually check every accepted book to collect their information |
| Borrowing | User Stories and the Rationale |
|---|---|
| US 06.01.01 | As an owner, I want to hand over a book by scanning the book ISBN code and denoting the book as borrowed. |
| Rationale | Enables the system to collect all the information of the borrowed book without the owner needing to manually input it all, in addition as the ISBN code is unique there is no chance the book is mistaken for another |
| US 06.02.01 | As a borrower, I want to receive an accepted book by scanning the book ISBN code to confirm I have borrowed it. |
| Rationale | Enables the system to collect all the information of the borrowed book without the borrower needing to manually look it up, in addition as the ISBN code is unique there is no chance the book is mistaken for another |
| US 06.03.01 | As a borrower, I want to view a list of books I am borrowing, each book with its description and owner username. |
| Rationale | For ease of use, they list shows the borrower who they need to return the book to as well as what the book is about so that they need not manually look up the information. It also enables the borrower to determine which books are not theirs and thus need returned at some point |
| Returning | User Stories and the Rationale |
|---|---|
| US 07.01.01 | As a borrower, I want to hand over a book I borrowed by scanning the book ISBN code to denote the book as available. |
| Rationale | As the ISBN code is unique there is no chance the book is mistaken for another, in addition it prevents the borrower from needing to manually enter the information as the system can handle it based off of the ISBN code, thus making returning books easy and quick |
| US 07.02.01 | As an owner, I want to receive a returned book by scanning the book ISBN code to confirm I have it available. |
| Rationale | As the ISBN code is unique there is no chance the book is mistaken for another, it is also easy for the owner to scan the code rather than manually alter it status thus allowing for a fast and easy update of the book's status |
| Photographs | User Stories and the Rationale |
|---|---|
| US 08.01.01 | As an owner, I want to optionally attach a photograph to a book of mine. |
| Rationale | Rationale goes here |
| US 08.02.01 | As an owner, I want to delete any attached photograph for a book of mine. |
| Rationale | Rationale goes here |
| US 08.03.01 | As an owner or borrower, I want to view any attached photograph for a book. |
| Rationale | Rationale goes here |
| Location | User Stories and the Rationale |
|---|---|
| US 09.01.01 | As an owner, I want to specify a geo location on a map of where to receive a book when I accept a request on the book. |
| Rationale | Rationale goes here |
| US 09.02.01 | As a borrower, I want to view the geo location of where to receive a book I will be borrowing. |
| Rationale | Rationale goes here |
| The WOW Factor | User Stories and the Rationale |
|---|---|
| US 10.01.01 | User story goes here |
| Rationale | Rationale goes here |
| US 10.02.01 | User story goes here |
| Rationale | Rationale goes here |