System Requirement Specification For A Mobile Barter Shop: - Epic Fail
System Requirement Specification For A Mobile Barter Shop: - Epic Fail
System Requirement Specification For A Mobile Barter Shop: - Epic Fail
-EPIC FAIL-
Anl Doan
Bahadr Hatunolu
Onur zkan
Semih Batak
4.1.2 Messages:.................................................................................................................. 18
4.1.3 Process:..................................................................................................................... 18
5 PLANNING ............................................................................................................................. 20
6 CONCLUSION ........................................................................................................................ 22
1 INTRODUCTION
People or companies without cash money often have trouble to continue shopping or
trading, especially at economic crisis. A system called barter which is basically an
exchange system exists in foreign countries except for Turkey. 40 percent of world trade is
done by barter system. The main challenge of the problem is, system basically needs two
people with mutual wants.
1.2 Purpose
The purpose of this document is to present a detailed description of the B-xchange, an
android application. It will explain the purpose and features of the system, interfaces of the
system, what will the system do, the constraints under which it must operate and how the
system will react to external stimuli. This document is intended for the acquirer which is
the owner in this case.
1.3 Scope
This software system will be an android application for any people or any companies who
want to use barter system in their daily life or for company interests. The system will be
designed to help the user to:
TERM DEFINITON
1.6 Overview
The next chapter, the Overall Description section, of this document gives an overview of
the functionality of the product. It describes the general factors that affect the product and
its requirements and is used to establish a context for the technical requirements
specification in the next chapter.
The third chapter, Requirements Specification section, of this document is written primarily
for the developers and describes in technical terms the details of the functionality of the
product. This subsection of the SRS will list each of the factors that affect the requirements
stated in the SRS.
Both sections of the document describe the same software product in its entirety, but are
intended for different audiences and thus use different language.
The fourth chapter describes the information domain for the software such as data
description, data objects.
The fifth chapter of this document will provide a description of the behavior of the
software.
Last chapters of this document will contain Planning, team structure, a basic schedule,
process model and conclusion part.
2 OVERALL DESCRIPTION
In this part, the system allows users to upload or search any desired items or services. In
order to do this, background information about specific requirements of the system will be
provided briefly. In B-xchange the user can keep personal information of items, favorites,
ratings etc. and then the application will run along and communicate with a database server
and web-services running in between each part of the system.
B-xchange is a mobile application with a web service in order to get shopping items or
services. The mobile application will work on mobile Android devices. It will have
functions as data managing, web based searching, items collecting (selling or favorites ),
messaging with users. When users run the application, they can use the functionalities the
device. All information will be kept on database which can be accessed by users with or
without login.
2.2 Product Functions
To start with non-login, by using items search, every user may see the selling items which
he/she published on the site. When users select items, he/she can go to that items page
which contains item details, items photos and selling username. If users decide to buy or
trade any items or services, they have to login with existing account or sign up with
username and password. So they have own page to manage and edit data about their own
items or messages and also can see other users profile to get information about selling
rates and read feedbacks of the items that other users had sold.
Users of this application are any Android device user that loads this application to their
devices. All of the users are in the same class, only one type of user exists. Operating
environment is, as just mentioned above, is an Android OS mobile device. An android
device that can support basic dependencies of the application is expected for proper user
experience. On the other hand, our database server and services can operate on any OS like
Windows or Ubuntu that can supply the database servers fundamental dependencies and
needs. One important constraint is privacy and security. Users should be accessing only the
authenticated data.
3 SPESIFIC REQUIREMENTS
There will be two interfaces in our system, one will be between user and system, and the other
will be between system and database.
Browse Items
Mark as a Favorite
User
Decline the exchange Buy Credits
Sign Up
User
In this case, user enters his/her username, name, surname, password, mail address sets a
profile photo. When the user fills all necessary fields, an activation mail will be sent to
users mail address. User will be able to log in and start using the system just after activating
his/her account.
Login
User
In this case, user enters his/her username or email and his/her password and logs in the
system.
Log Out
User
In this case, user touches log out button, and logs out of the system. The user will not use
the system until he/she logs in again.
3.2.1.4 Use Case: Search
Search
User
In this case, user is able to search items. User can search items according to their price,
their location, their category.
Browse Profiles
User
In this case, user is able to browse the profiles other users. User can see the other users
user names, profile photos, and the users items.
Browse Categories
User
In this case, user is able to browse categories according to his/her wishes. User can also see
how many items each category has.
3.2.1.7 Use Case: Browse Items
Browse Items
User
In this case, user is able browse items. User can see the items pictures, prices, and other
features.
Edit Profile
User
In this case, user can change his/her username, email address, profile picture and password.
If the user changes his/her username or password, a notification mail will be sent to the
users email address. The changes will apply if the user clicks on the link in the email.
Buy Credits
User
In this case, user can buy credits from the system. He/she can use credit card or his/her
PayPal account.
3.2.1.10 Use Case: Add Item(s) to Cart
User
In this case, user can add the items he/she likes to his cart by touching Add to the cart
button.
User
In this case, the user can buy items he/she has added to cart with credits, if the items are
available for buying with credits.
Request an exchange
User
In this case, if the item the user wants is available for exchange, the user can request the
exchange of items that he/she has with the item he/she wants.
3.2.1.13 Use Case: Approve the Exchange
User
In this case, the user can approve the exchange that is offered by another user by clicking
Approve button.
User
In this case, the user can decline the exchange that is offered by another user by clicking
Decline button.
User
In this case, the user notifies other user that the shipment of the item has started.
3.2.1.16 Use Case: Add Item
Add Item
User
In this case, the user can add as many as items he/she wants. The user can also set the price,
set the amount, upload pictures of the item and add details of the item.
Edit Item
User
In this case, the user can edit the items that he/she has already put on the system. The user
can add/remove pictures, change the price and details of the item.
Remove Item
User
In this case, if the user no longer wishes to sell/exchange the item, he/she can remove the
item from the system by touching Remove the item button.
3.2.1.19 Use Case: Delete Profile
Delete Profile
User
In this case, if the user no longer wishes to use the system, he/she can click Delete Profile
button. After deleting the profile, the user will no longer be able to use the system with the
account details that he entered before.
Mark as a favorite
User
In this case, the user can mark an item as a favorite so that he will be notified if any change
is made to the item
User
In this case, the user can rate and comment about the users whom he traded with.
3.3 Non-Functional Requirements
For running the system, Eclipse should be installed on the computer. In addition, JDK,
JVM or JRE must be installed too.
10000 users should be able to use the system at the same time. The response time of the
system should be 2 seconds at most.
We will use waterfall method and Object Oriented Programming paradigm. We will
use Java as programming language. The Android version of the device should be 2.3 or
higher. The system requires Internet connection all the time.
4.1.1 User:
Id: Identity number given from database for each user. This attribute is unique for every
user.
Username: User`s nickname for the mobile application.
Name: Name of the user.
Surname: Surname of the user.
Password: The user`s password for logging in to the mobile application.
Email: Email of the user that will be used for the communication information and
confirmation.
Phone_number: Phone number of the user that will be used for communication information.
Profile_photo: A photo will be used for letting other users see the user.
Rating: The average number between 1to10 will be given by other users after their trade
transaction with the user, according to their satisfaction of the trade.
Favorites: The items that the user wants to get notification about. Basically items that user
want to get.
self_items: The items that the user entered to the system to trade.
Comments: The comments written by other users who had made trade with the user.
Messages: Messages sent by other users to contact the user.
Process_history: The list of transactions and their details of the user`s that took place
before. i.e., items processed that the user got and the users gave.
4.1.2 Messages:
Id: Primary key given by database. This attribute is unique for every message.
Text: The information which is sent from a sender to the receiver.
Date: the date of the sent message.
Receiver_id: The user who receives the message.
Sender_id: The user who sends the message
4.1.3 Process:
4.1.4 Item:
+owner_id
+id
+photos User
+description Process +id Message
+category +username
+location +owner_id +text
+name
+status +receiver_id +m_id
+surname
+item_specification +item_id +sender_id
+rating
+price +publish_date +receiver_id
+password
+is_tradeable +trade_finish_date +date
+email
+update_dates
+profile_photo
+phone_number
+messages
+comments
+wanted_items
+owned_items
+favorites
+process_history
5 PLANNING
Our team named Epic Fail with members Anl Doan, Bahadr Hatunolu, Onur zkan,
Semih Batak. Distribution of tasks as follows:
We are using waterfall process model. In general, this model may be considered as having
six different phases:
1. Requirements Analysis
2. Design
3. Implementation
4. Testing
5. Installation
6. Maintenance
6 CONCLUSION