Sie sind auf Seite 1von 43

2014

Software Requirements
Specification

CodeBenders
Haldun Yıldız 1819663

Ali Şihab Akcan 1818871

Deniz Can Yüksel 1819697

Onur Aydınay 1819002


Contents
1. INTRODUCTION ................................................................................................................................... 4
1.1 PROBLEM DEFINITON .................................................................................................................... 4
1.2 PURPOSE........................................................................................................................................ 4
1.3 SCOPE ............................................................................................................................................ 4
1.4 USER AND LITERATURE SURVEY .................................................................................................... 4
1.5 DEFINITION, ACROYNMS AND ABBREVIATIONS............................................................................ 5
1.6 OVERVIEW ..................................................................................................................................... 5
1.7 REFERENCES .................................................................................................................................. 5
2. OVERALL DESCRIPTION........................................................................................................................ 6
2.1 PRODUCT PERSPECTIVE ................................................................................................................. 6
2.1.1 System Interfaces ................................................................................................................... 6
2.1.2 User Interfaces ....................................................................................................................... 6
2.1.3 Hardware Interfaces ............................................................................................................... 7
2.1.4 Software Interfaces ................................................................................................................ 7
2.1.5 Communications Interfaces.................................................................................................... 8
2.1.6 Memory Constraints ............................................................................................................... 8
2.1.7 Operations .............................................................................................................................. 8
2.1.8 Site Adaptation Requirements ............................................................................................... 8
2.2 PRODUCT FUNCTIONS ................................................................................................................... 8
2.2.1 Login ....................................................................................................................................... 8
2.2.2 Register ................................................................................................................................... 8
2.2.3 Logout ..................................................................................................................................... 8
2.2.4 Follow ..................................................................................................................................... 8
2.2.5 Unfollow ................................................................................................................................. 8
2.2.6 Add Friend .............................................................................................................................. 8
2.2.7 Delete Friend .......................................................................................................................... 9
2.2.8 Check-In .................................................................................................................................. 9
2.2.9 See Other’s Post ..................................................................................................................... 9
2.2.10 Post on the Wall ................................................................................................................... 9
2.2.11 Edit Profile ............................................................................................................................ 9
2.2.12 See Friend’s Profile ............................................................................................................... 9
2.2.13 See Online Friends ................................................................................................................ 9
2.3 USER CHARACTERISTICS ................................................................................................................ 9
2.4 CONSTRAINTS ................................................................................................................................ 9
2.5 ASSUMPTIONS AND DEPENDENCIES ............................................................................................. 9

1
2.6 Apportioning of Requirements .................................................................................................... 10
3. SPECIFIC REQUIREMENTS .................................................................................................................. 11
3.1 INTERFACE REQUIREMENTS ........................................................................................................ 11
3.1.1 Welcome Page ...................................................................................................................... 11
3.1.2 Login Page............................................................................................................................. 12
3.1.3 Register Page ........................................................................................................................ 13
3.1.4 Profile Page........................................................................................................................... 14
3.1.5 Edit Profile Page ................................................................................................................... 15
3.1.6 Friends Page ......................................................................................................................... 16
3.1.7 Check-In Page ....................................................................................................................... 17
3.1.8 Main Page ............................................................................................................................. 18
3.1.9 Recent Activities Page .......................................................................................................... 19
3.1.10 Places’ Wall Page ................................................................................................................ 20
3.1.11 Other User’s Profile Page ................................................................................................... 21
3.1.12 Friend Chat Page................................................................................................................. 22
3.1.13 Application Settings Page ................................................................................................... 23
3.2 FUNCTIONAL REQUIREMENTS..................................................................................................... 24
3.2.1 Login ..................................................................................................................................... 24
3.2.2 Register ................................................................................................................................. 25
3.2.3 Logout ................................................................................................................................... 26
3.2.4 Follow ................................................................................................................................... 27
3.2.5 Unfollow ............................................................................................................................... 28
3.2.6 Add Friend ............................................................................................................................ 29
3.2.7 Delete Friend ........................................................................................................................ 30
3.2.8 Check-In ................................................................................................................................ 31
3.2.9 See Other’s Post ................................................................................................................... 32
3.2.10 Post on the Wall in a Place ................................................................................................. 33
3.2.11 Edit Profile .......................................................................................................................... 34
3.2.12 See Friend’s Profile ............................................................................................................. 35
3.2.13 See Online Friends .............................................................................................................. 36
3.3 NON-FUNCTIONAL REQUIREMENTS............................................................................................ 37
3.3.1 Performance Requirements ................................................................................................. 37
3.3.2 Logical Database Requirements ........................................................................................... 37
3.3.3 Design Constraints ................................................................................................................ 37
3.3.4 Software System Attributes ................................................................................................. 38
4. DATA MODEL AND DESCRIPTION ...................................................................................................... 39

2
4.1 DATA DESCRIPTION ..................................................................................................................... 39
4.1.1 Data Object ........................................................................................................................... 39
4.1.2 Data Dictionary ..................................................................................................................... 39
5. BEHAVIORAL MODEL AND DESCRIPTION .......................................................................................... 40
5.1 DESCRIPTION FOR SOFTWARE BEHAVIOR ................................................................................... 40
5.2 STATE TRANSITION DIAGRAMS ................................................................................................... 41
6. PLANNING .......................................................................................................................................... 41
6.1 TEAM STRUCTURE ....................................................................................................................... 41
6.2 ESTIMATION(BASIC SCHEDULE)................................................................................................... 41
6.3 PROCESS MODEL ......................................................................................................................... 42
7. CONCLUSION ..................................................................................................................................... 42

Table of Figures
Figure 1: Welcome Page ....................................................................................................................................... 11
Figure 2: Login Page .............................................................................................................................................. 12
Figure 3: Register Page .......................................................................................................................................... 13
Figure 4: Profile Page ............................................................................................................................................ 14
Figure 5: Edit Profile Page ..................................................................................................................................... 15
Figure 6: Friends Page ........................................................................................................................................... 16
Figure 7: Check-In Page ......................................................................................................................................... 17
Figure 8: Main Page............................................................................................................................................... 18
Figure 9: Recent Activities Page ............................................................................................................................ 19
Figure 10: Place’s Wall Page .................................................................................................................................. 20
Figure 11: Other User’s Profile .............................................................................................................................. 21
Figure 12: Friend Chat page .................................................................................................................................. 22
Figure 13: Application Settings page ..................................................................................................................... 23
Figure 14: use case diagram-Login ........................................................................................................................ 24
Figure 15: use case diagram-Register ................................................................................................................... 25
Figure 16: use case diagram-Log out..................................................................................................................... 26
Figure 17: use case diagram-Follow ...................................................................................................................... 27
Figure 18: use case diagram-Unfollow .................................................................................................................. 28
Figure 19: use case diagram-Add Friend ............................................................................................................... 29
Figure 20: use case diagram-Delete Friend ........................................................................................................... 30
Figure 21: use case diagram-Check-in ................................................................................................................... 31
Figure 22: use case diagram-See other’s Posts ..................................................................................................... 32
Figure 23: use case diagram-Post on the wall in a place ....................................................................................... 33
Figure 24: use case diagram-Edit Profile ............................................................................................................... 34
Figure 25: use case diagram-See friend’s profile .................................................................................................. 35
Figure 26: use case diagram-See online friends .................................................................................................... 36
Figure 27: ER Diagram ........................................................................................................................................... 37
Figure 28: Class Diagram ....................................................................................................................................... 39
Figure 29: State Diagram ....................................................................................................................................... 41

3
1. INTRODUCTION
This document is a Software Requirement Specification for the Android application
wHere. This document is prepared by following IEEE conventions for software
requirement specification. This document includes all the functions and specifications
with their explanations to solve related problems as a project of METU CENG
Department.

1.1 PROBLEM DEFINITON


In the last decade, Internet and smartphone users have increased rapidly. This
leads many simplicities on people’s life in terms of communication. However, there are
also some concepts that could not be resolved yet. One of these problems is gathering
people together in a social platform when they are sharing the same place to share their
opinions or communicate between each other. So let’s think about a University campus.
There are more than ten thousand people sharing the same campus. If we try to reach
other people on the same campus, unfortunately there is no way to make it. What we
need is a place to gather all of these people into one artificial place, a social platform to
make those people communicate each other easily, share their feelings or opinions
about anything in the same environment.

1.2 PURPOSE
Purpose of this software requirement specification document is providing a
complete description of the features which will be implemented in this social platform
project. Moreover, it includes user scenarios, working principles of the system, internal
and external interfaces.
Intended audiences are users and developer team. Use case diagrams will
provide visual description for users and class diagrams will provide technical information
for developers. Also, tests can be defined according to use case descriptions in this
document.

1.3 SCOPE
As it is described in problem definition section, there is no such platform that is
currently popular which allows people to communicate in the same place. Our application
will provide the users a social platform which they can communicate easily with all other
users in the same place.
Our system is an online sharing and communicating system which is intended to
solve this problem described above. The system provides an mobile platform which
people can easily register and use. When they registered, they can go a place and post
to this place’s wall and also see who are online at this moment and communicate with
online people in the place. Also when they are not in a place, they can follow their
friend’s activities, posts etc.

1.4 USER AND LITERATURE SURVEY


The popularity of smartphones and internet is rising rapidly. Nowadays, there are
few people who use traditional messenger to communicate. They have been replaced by
the mobile messaging applications launched by various companies. The applications
have become an integral part of human life. People wake up with messages and sleep
after sending messages. Most of the chat applications use Internet Relay Chat. IRC is
very fast and can be used worldwide. Only requirement is the internet connection. In the

4
past, people do not trust these chat applications. However, the advantages of these chat
applications leave behind thinking about safety. Moreover, some encryption methods
increase the security.Nowadays, there are almost no concern about safety and security
because the technology reduces the risk in communication.
Developing technology and decreasing cost also increase the popularity of
smartphones.This popularity increases the number of android applications and ios
applications. It leads people to be addicted new chat applications and products that are
similar with chat application and other kind of meet new people application. People
looking for new applications that have more feature than the current application and have
different aspect in meeting with new people.
Meeting new people and talking them is the new trend in those days. Of course,
people can meet with people that they don’t know face to face. However, it can be
difficult sometimes and also be more costly. Our product will reduce both the cost and
difficulties. It is impossible to talk everyone in a place face to face. Our product makes it
easier with unique chat rooms.

1.5 DEFINITION, ACROYNMS AND ABBREVIATIONS

Term Definition

OS Operating system

GUI Graphical user interface

SRS Software Requirements Specification

GPS Global Positioning System

IEEE Institute of Electrical and Electronic Engineers

User Anyone who uses the application wHere.

METU Middle East Technical University

CENG Computer Engineering Department of Middle East Technical University

IRC Internet Relay Chat

1.6 OVERVIEW
This document is prepared to explain all detailed information about overall system
description, functional, non-functional and specific requirements, data and behavioral
model description of the system. This document basically consists of three parts:
The first part includes introduction and overall description of the wHere. The
second part contains specific requirements, data and behavioral model description of the
system which are section 3,4 and 5 in the document. Last part gives planning, conclusion
and supporting information about the system

1.7 REFERENCES
IEEE. IEEE Std. 830-1998 IEEE Recommended Practice for Software
Requirements Specifications. IEEE Computer Society, 1998.

5
2. OVERALL DESCRIPTION
This part of the SRS is about general factors that affect the product and
requirements of the product. Moreover, this part will provide a background for
requirements which will be defined in Section 3 in detail.

2.1 PRODUCT PERSPECTIVE


2.1.1 System Interfaces
The application will be implemented in Java and it will use Android SDK,
Facebook SDK and Google Maps SDK. Eclipse will be used as IDE while implementing.
MySQL Workbench will also be used as DBMS.
Database of the system will be temporarily held in METU Ceng servers.
2.1.2 User Interfaces
2.1.2.1 Welcome Interface
This is the first interface that user will see when he/she uses the application for
the first time. In this interface, a brief information in order to use the application will be
written and there will be a button which will direct user to the login page of the
application.
2.1.2.2 Login Interface
In this interface, there will be 2 text fields which are namely username and
password and 3 buttons which are login, login with Facebook and register. If the user has
his/her account, he/she will login the system with his/her username and password. If user
doesn’t got an account, he/she will use either the Facebook login button in order to login
with his/her facebook account or register button in order to get an account.

2.1.2.3 Register Interface


In this interface, there will be text fields which are used for gather the information
from the user and a button which is namely register. User will fill required fields with
his/her related information (username, password, gender, city etc.), click to the register
button and be able to login the application.

2.1.2.4 Main Interface


In this interface, there will be a news feed which contains the check-in’s and the
comments that posted to a place’s wall by user’s friends. Also there will be a small field
which contains profile picture, name and surname of the user, a check-in button and two
sub-interfaces namely profile and chat. User will reach these sub-interfaces by sliding
main interface right and left.

2.1.2.5 User Profile Interface


Profile interface is a sub-interface which can be reached from main interface.
User will use this interface to edit his/her profile information, see the pending friend
requests, see his/her friends list, previous check-in and post information, general settings
of the application and logout.

2.1.2.6 Friend Chat Interface


This is also a sub-interface of the main interface. In this interface user will be able
to see a list contains his/her online friends and chat with them by simply clicking the
profiles of them.

6
2.1.2.7 Edit Profile Interface
This interface will be used by user in order to update the information about
him/herself. There will be fields that contains users previous information and 2 buttons
namely apply and cancel in order to perform update or cancel it.

2.1.2.8 Latest Activities Interface


In this interface, user will be able to see his/her previous actions in chronological
order. ( Check-ins, posts, sent or received friend requests, etc.)

2.1.2.9 Friend List Interface


This interface will contain the complete friendlist of the user. User will be able to
select a friend and see his profile information. And also user will be able to see the
pending friend requests, look to their profiles by clicking on them and accept or decline
the request.

2.1.2.10 Other User’s Profile Interface


When user clicked to a profile of a user, this interface will show up. In this
interface user will be able to see the other users profile information according to other
user’s privacy settings, send this user a friend request if they are not friends or set the
settings about the user (follow, unfollow etc.).

2.1.2.11 Check-in Interface


This interface will show up when user clicks check-in button in the main interface.
In this interface, there will be a map which shows the current location of the user and
nearby places list which user can select a place from that list and check-in and a button
named check-in.

2.1.2.12 Place Interface


This interface will show up after check-in operation will completed. This interface
contains the posts and comments that posted by other users. Also there will be 2 buttons
which are namely Main Page and Check-out. Users will be able to visit the main page
and check-out from the place.
Also there will be a sub-interface in this page which is online user interface and
user will be able to see this page by sliding the page to the left.

2.1.2.13 General Settings Interface


This interface will contain general options of the application.(notification, sound,
language etc.) User will be able to change the general settings of the application.

2.1.3 Hardware Interfaces


This application will work on android phones and tablets. Since the application
must run connected to internet and need a location data, Android devices must have a
gps unit and internet connection in order to run this application.

2.1.4 Software Interfaces


Since this application is a mobile application, it will only need an Android version
4.0 or higher in order to perform.

7
2.1.5 Communications Interfaces
The application will use HTTP protocol for communication over internet.

2.1.6 Memory Constraints


wHere is expected to use no more than 50 Mb of external storage and 100 Mb of
RAM.

2.1.7 Operations
Operations that user will be able to do are specified in Section 2.1.2 User
Interfaces.

2.1.8 Site Adaptation Requirements


wHere will be available for Android OS version 4.0 or higher. Users should install
the application from Google Play Store.

2.2 PRODUCT FUNCTIONS


2.2.1 Login
In order to login to the system, user must registered to our system before which is
already described in pre-conditions of this table. Of course, his/her accounts informations
must be true. After that, user can login to the system with filling required fields and using
login button. User will enter the system and he/she can use it.
2.2.2 Register
After user download the wHere, he/she must register the system in order to use
the product. In the login page there will be register button. This button redirects user to
the register page. After filling required fields with information, he/she can register to the
system with using register button. After registering to system, user can start to use the
product.
2.2.3 Logout
After login, user can log out at any time. After logged out from the system, user
will be redirected to login page.
2.2.4 Follow
If user wants to see what his/her friends share in places, user can send follow
request to any of the friends. According to request response user can follow the friend.
After following a friend, any post that is shared by friends who is followed by the user can
be seen in user’s main page.

2.2.5 Unfollow
After pressing unfollow button for a friend, user give up following him/her. User
also can also delete any of his/her followers. After unfollowing friend, user will not get
any post from this friend.
2.2.6 Add Friend
After check-in user send friend request to anyone in the same place and checked
in using wHere at the same time interval. According to request respond person will be
added to user’s friend list.

8
2.2.7 Delete Friend
User can delete any friend from friend list. In addition to that, user who delete the
friend is also deleted from also other user’s friend list. In order to delete a friend he/she
must be user’s friend. Friend who will be deleted from friend list must already be user’s
friend.

2.2.8 Check-In
If the place which is already added in the database, user can check in directly or if
place doesn’t exist in the database, place which user try to check in will be added the
database automatically.

2.2.9 See Other’s Post


User can see posts which have posted before in a place which user have already
checked in and still there. If user checked in and time out he/she cannot see the posts on
the place wall. Before see other’s post, checked in this place is required.
2.2.10 Post on the Wall
After checked in, the wall is appeared on the screen automatically. User can see
the posts sent before. User can also post on the wall if he/she wants. Check in is
required to post on the wall. After posting new post can be seen on the wall.
2.2.11 Edit Profile
User can edit his/her own profile. Edit means changing profile picture, e-mail
address, user name; adding personal information or adding pictures which are not profile
pictures. After edition, profile will be updated.

2.2.12 See Friend’s Profile


In the friend list, after touching friend’s profile picture user will be redirected to
friend’s profile where user can see all his/her friends.
2.2.13 See Online Friends
After touching friends button, user will be redirected to friends page. Online friend
list can be seen on this page.

2.3 USER CHARACTERISTICS


A user who has a general knowledge about using an Android device can easily
use this application.

2.4 CONSTRAINTS
wHere shall operate on Android v4.0 or higher operating system. There should be
at least 50 MB of free space on the device. CPU speed or RAM of the device is not a big
concern.
Java shall be the implementation language with Android, Facebook, Google
SDK’s.
Informations of the users shall be encrypted before transferred to database in
order to maintain the security of the crucial informations about users.

2.5 ASSUMPTIONS AND DEPENDENCIES


User interfaces and some of the functionalities may change during the
implementation of the project and also new features may be added which can change

9
the functionalities and system requirements.
Future versions of the application will also operate on the devices mentioned
above.

2.6 Apportioning of Requirements


The basic functions like login, register, check-in etc. should be implemented first
in order to construct the general structure of the application. Other features does not
have an implementation order.

10
3. SPECIFIC REQUIREMENTS
3.1 INTERFACE REQUIREMENTS
3.1.1 Welcome Page

After downloading wHere, and running


the application first time, user will be
directed to Welcome Page. After clicking
Let’s Start button, user will be redirected
to login page.

Figure 1: Welcome Page

11
3.1.2 Login Page

After using wHere application first


time, Login page will be the starting
page. After user fill the username and
password, he/she can
login.Moreover he can login using
Facebook profile. If he/she does not
have account ,he/she can register to
the application using Register button.
Forget your password is for one who
could not remember his/her wHere
password.

Figure 2: Login Page

12
3.1.3 Register Page

Users who have no wHere account


can register in Register Page. After
filling the requiered fields, user
should touch the register button
and he/she will be redirected to
Login Page again.

Figure 3: Register Page

13
3.1.4 Profile Page

Profile Page includes main functions


about user. User can edit his/her
profile by touching Edit Profile, see
his/her friends, friend request by
touching Friends tab, see recent
activities of himself/herself by
touching Recent Activities tab,
change application setting by
touching Application Setting and
logout from application.

Figure 4: Profile Page

14
3.1.5 Edit Profile Page

In Edit Profile Page, user can edit his/her


profile information. When registering the
application, most of the fields in profile
page will be empty so those fields can be
updated in Edit Profile page. After
changing the fields, user should touch
Apply button to update his/her profile.
User can also cancel changes by touching
Cancel button.

Figure 5: Edit Profile Page

15
3.1.6 Friends Page

Friends Page includes friend requests


and friends of user. User can accept or
decline friend request by touching the
icon right side of the person. Under the
friend requests there are friends, user
can delete those friends by touching
delete icon. Also more friends can be
shown by touching “more..” text.

Figure 6: Friends Page

16
3.1.7 Check-In Page

In Check-In page,user can find


places according to his/her
current location. After touching a
place on the list, user will be
redirected to place’s wall. Also
scrolling down the page will help
user to see more near places.

Figure 7: Check-In Page

17
3.1.8 Main Page

This page is main page. After


login the application, user will be
redirected to main page. In this
page, user can see his/her
friend’s check-ins and also see
friend’s posts on places’ wall.
There are three button at the
bottom of the page. User can
check-in by touching Check-in
button, see his/her profile by
touching My profile button or see
favorite places by touching My
W-places.

Figure 8: Main Page

18
3.1.9 Recent Activities Page

In this page, user can see his/her recent


activities like checked-in places, posts which
are sent by user, recently added friends.
Also user can touch the profile picture to go
his/her profile page.

Figure 9: Recent Activities Page

19
3.1.10 Places’ Wall Page

After check-in a place, user can enter the


place’s wall. In this page, user can add
comment on the wall and see other
people’s posts. Also the place can be added
as your W-places by touching the star icon.
Moreover, by touching “more..” text to see
older posts on the place.

Figure 10: Place’s Wall Page

20
3.1.11 Other User’s Profile Page

When user touches a profile


picture who is not his/her
friend, user will be redirected to
his/her profile. In this page, user
can add him/her as touching
add icon on the bottom.

Figure 11: Other User’s Profile

21
3.1.12 Friend Chat Page

In this page, user can see his/her


online friends. By touching
message icon on the right side of
the profile of friend, user can
activate messages speech
bubble. In order to see older
messages, user should touch
“more … “text. Also user can
touch “more …” text on the
bottom of online friends to see
his/her other online friends.

Figure 12: Friend Chat page

22
3.1.13 Application Settings Page

In this page, user can change general or


privacy setting with an on/off switch.
After changing the settings, user can
touch Apply button to save changes or
Cancel button to cancel changes.

Figure 13: Application Settings page

23
3.2 FUNCTIONAL REQUIREMENTS
3.2.1 Login

Figure 14: use case diagram-Login

Use Case 1
Number

Use Case Login

Summary User can login to the system.

Actor User

Trigger Login Button

Primary In order to login to the system, user must registered to our system
Scenario before which is already described in pre-conditions of this table.
Of course, his/her accounts informations must be true. After that,
user can login to the system with filling required fields and using
login button.

Alternative Login with Facebook


Scenario

Exceptional 1. Wrong username or password


Scenario 2. Not registered user

Pre-Conditions User must register to the system.

Post-Conditions User will enter the system and he/she can use it.

Assumptions User must be connected to the Internet.

24
3.2.2 Register

Figure 15: use case diagram-Register

Use Case 2
Number

Use Case Register

Summary User needs to register to use the product.

Actor User

Trigger Register Button

Primary After user download the “wHere”, he/she must register the system in
Scenario order to use the product. In the login page there will be register
button. This button redirects user to the register page. After filling
required fields with information, he/she can register to the system with
using register button.

Alternative A user can also register to “wHere” with using his/her Facebook
Scenario account. In this scenario, user can register system without typing any
information.

Exceptional 1. User name has already taken.


Scenario 2. Password does not match.

Pre- Having e-mail or having a Facebook account.


Conditions

Post- After registering to system, user can start to use the product.
Conditions

Assumptions Having valid e-mail address.

25
3.2.3 Logout

Figure 16: use case diagram-Log out

Use Case Number 3

Use Case Log out

Summary User can log out from the system

Actor User

Trigger Log out Button

Primary Scenario After login, user can log out at any time.

Alternative Scenario None

Exceptional Scenario None

Pre-Conditions Login

Post-Conditions User will be redirected to the login page.

Assumptions User has already logged in to the system.

26
3.2.4 Follow

Figure 17: use case diagram-Follow

Use Case 4
Number

Use Case Follow

Summary User can follow any of his/her friends to see their post that are
posted in any place.

Actor User

Trigger Follow Button

Primary If user wants to see what his/her friends share in places, user can
Scenario send follow request to any of the friends. According to request
response user can follow the friend.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions Users can follow only their friends

Post-Conditions Any post that is shared by friends who is followed by the user can be
seen in user’s main page.

Assumptions None

27
3.2.5 Unfollow

Figure 18: use case diagram-Unfollow

Use Case 5
Number

Use Case Unfollow

Summary User can give up following friends

Actor User

Trigger Unfollow Button

Primary After pressing unfollow button for a friend, user give up following
Scenario him/her. User also can also delete any of his/her followers.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions Following is obligatory to unfollow friend

Post-Conditions After unfollowing friend, user will not get any post from this friend.

Assumptions Before unfollowing a friend he/she must already be followed.

28
3.2.6 Add Friend

Figure 19: use case diagram-Add Friend

Use Case 6
Number

Use Case Add Friend

Summary After check-in user send friend request to any one in the same
place and checked in using “wHere” at the same time interval.

Actor User

Trigger Add friend button

Primary User can add friend who is in the same place at the same time and
Scenario checked in that place.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions Check in at the same time interval.

Post-Conditions According to request respond person will be added to user’s friend


list.

Assumptions None

29
3.2.7 Delete Friend

Figure 20: use case diagram-Delete Friend

Use Case 7
Number

Use Case Delete Friend

Summary Unwanted friends can be deleted from friend list.

Actor User

Trigger delete button

Primary User can delete any friend from friend list. In addition to that, user
Scenario who delete the friend is also deleted from also other user’s friend
list.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions to delete a friend he/she must be user’s friend

Post-Conditions None

Assumptions Friend who will be deleted from friend list must already be user’s
friend.

30
3.2.8 Check-In

Figure 21: use case diagram-Check-in

Use Case 8
Number

Use Case Check-in

Summary User can check in any place according to his/her location.

Actor User

Trigger Check in button.

Primary Scenario If the place which is already added in the database, user can check
in directly.

Alternative If place doesn’t exist in the database, place which user try to check
Scenario in will be added the database automatically.

Exceptional If place does not exist in the database and the place is not proper
Scenario for saving database, exception occurs.

Pre-Conditions User must be in a suitable place according to constraints.

Post-Conditions User checked in and send a notification to the user’s friends.

Assumptions User location is suitable for check in.

31
3.2.9 See Other’s Post

Figure 22: use case diagram-See other’s Posts

Use Case 9
Number

Use Case See other’s Posts

Summary When user checked in a place, user can see the posts on the place
wall.

Actor User

Trigger After check in, the wall which belongs to the place is opened
automatically.

Primary User can see posts which have posted before in a place which user
Scenario have already checked in and still there. If user checked in and time
out he/she cannot see the posts on the place wall.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions Check in is required.

Post- None
Conditions

Assumptions None

32
3.2.10 Post on the Wall in a Place

Figure 23: use case diagram-Post on the wall in a place

Use Case 10
Number

Use Case Post on the wall in a place

Summary This use case deals with posting on the wall of the place where user
checked in.

Actor User

Trigger Send button.

Primary After checked in, the wall is appeared on the screen automatically.
Scenario User can see the posts sended before. User can also post on the
wall if he/she wants.

Alternative None
Scenario

Exceptional 1. Time out can occur.


Scenario

Pre-Conditions Check in is required to post on the wall.

Post-Conditions New post can be seen on the wall.

Assumptions None

33
3.2.11 Edit Profile

Figure 24: use case diagram-Edit Profile

Use Case 11
Number

Use Case Edit Profile

Summary User can edit his/her own profile. Edit means changing profile picture,
e-mail address, user name; adding personal information or adding
pictures which are not profile pictures.

Actor User

Trigger Edit button on the user profile page.

Primary From user profile after touching Edit Profile button user will be
Scenario redirected to Profile Edit page which includes all user informations.
After editing those informations, user can update the changes by
touching Apply button.

Alternative After editing some information, user can cancel the changes by
Scenario clicking cancel button.

Exceptional None
Scenario

Pre-Conditions Login is required.

Post- Profile will be updated.


Conditions

Assumptions None

34
3.2.12 See Friend’s Profile

Figure 25: use case diagram-See friend’s profile

Use Case 12
Number

Use Case See friend’s profile

Summary User can display friend’s profile.

Actor User

Trigger By touching friend’s profile picture.

Primary In the friend list, after touching friend’s profile picture user will be
Scenario redirected to friend’s profile.

Alternative In the main page, there will be notifications about friend’s activities.
Scenario User can touch user name of any friend’s and be redirected to
friend’s profile page.

Exceptional None
Scenario

Pre-Conditions None

Post-Conditions Redirected to friend’s profile page.

Assumptions None

35
3.2.13 See Online Friends

Figure 26: use case diagram-See online friends

Use Case 13
Number

Use Case See online friends

Summary In the friend page, online friends can be seen

Actor User

Trigger In the profile page, touching the friends button.

Primary Scenario After touching friends button, user will be redirected to friends
page. Online friend list can be seen on this page.

Alternative None
Scenario

Exceptional None
Scenario

Pre-Conditions None

Post-Conditions None

Assumptions None

36
3.3 NON-FUNCTIONAL REQUIREMENTS
3.3.1 Performance Requirements
 wHere will be able to support at least 10.000 simultaneous users. The capacity can be
extended in future if needed.
 There will be large amount of information to be handled in database such as messages,
profile informations, posts etc. and the server will be enough space to handle this
occupation.
 All of the functions that is for retrieving messages, friends lists, posts on the wall of the
places etc. should be perform less than 5 seconds.

3.3.2 Logical Database Requirements


 In the database, integer, varchar and date type of information will be stored.
 Stored informations will be used nearly all of the time especially posts, messages, check-
in informations etc.
 Below there is an image about data entities and their relationships, integrity constraints.

Figure 27: ER Diagram

3.3.3 Design Constraints


There is no specific design constraints in this project.

37
3.3.4 Software System Attributes
3.3.4.1 Reliability
 This system should keep the database informations consistently.
 The application part of the system should never fail. In the database side, failures
should be minimal and there should be crash recovery systems in order not to lose
information in a potential database failure.
 System should display informative messages when it’s components doesn’t work
properly.

3.3.4.2 Availability
 System should be available for 7 days and 24 hours.
 In the application side, system should be tested against probable failures before
publishing the first version or updated versions of application. Published version
should be error free
 In database side, in case of a failure, system should recover any information for user
and system.

3.3.4.3 Security
In the application side,
 The system must not request unnecessary permissions from the user in order to
prevent unwanted attacks .
 Stored data of the application should not be reached by other applications that is
installed in the user’s mobile device.
 Stored data in the mobile device and sent data via internet should be crypted.
Sended and received data should be transferred via HTTPS connection. And also
authenticated and encrypted socket-level communication should be implemented.

In the database side,


 SQL codes should not be stored in application in case of application can be affected
by a malware software.
 Data that come from the application should encrypted again in the database side.

3.3.4.4 Maintainability
 A SVN software should be used in development phase in order to reduce complexity,
make the system traceable and recover the code from an unwanted crash while
more than one developer are dealing with the code.
 Design elements should be documented well.
 Since programming language is object-oriented, program tasks are independent of
each other and therefore easier to maintain.
 All parts of the code should be easy to read.

3.3.4.5 Portability
 Since the program is for Android devices, all of the Android devices which meets the
requirements explained in 2nd section of this document can operate the application.
 Application won’t work on any OS except Android.
 %100 percent of the program depends on host. In order to change the host, all the
components of database should be transferred.

38
4. DATA MODEL AND DESCRIPTION
4.1 DATA DESCRIPTION
4.1.1 Data Object

Figure 28: Class Diagram

Program will consist of four main classes. First one is User class which has
relationship with Post and Chat classes. Place class defines places and has relationship
with User and Post classes. Post class defines the posts. The next class chat have all
variables about chatting between two users.

4.1.2 Data Dictionary


User Data Attributes

Data Item: Type: Description:


Name String Name of the user
Surname String Surname of the user
Username String Username of the user
Password String Password of the user
Profile pic Object Profile picture of user

39
Date of Birth Date Date of birth of user
Hometown String Hometown of user
Education String Education of user
Gender Enum (String) Gender of user
Job String Job of user
Phone String Phone number of user
Relationship Enum (String) Relationship of user
User ID String User ID of user
Location String GPS Location of user
Place ID String User’s current Place ID

Place Data Attributes

Data Item: Type: Description:


Name String Name of the place
Coordinates String Coordinates of the place
Type Enum (String) Type of the place
City String City name of the place
Country String Country name of the place
Place ID String ID of place

Post Data Attributes

Data Item: Type: Description:


Title String Title of the post
User ID String ID of post owner
Text String Text of the post
Date Date Date of the post
Place ID String ID of place

Chat Data Attributes

Data Item: Type: Description:


User ID1 String ID1 of chat
User ID2 String ID2 of chat
Text String Text of the chat
Date Date Date of the chat

5. BEHAVIORAL MODEL AND DESCRIPTION


5.1 DESCRIPTION FOR SOFTWARE BEHAVIOR
When user launches the application, user will be redirected to Login Page. User
can login to system with/without Facebook account or register to wHere. If the login is
successful, user will be redirected to User Main Page. Also after successful registration,
user will be redirected to User Main Page. From User Main Page, user can reach Profile
Page, Recent Activities Page, and Friends Page or can check-in. After check-in process,

40
user will be redirected to Place’s Wall where user can post on the wall or see the other
post on the wall. In order to logout, user should use his profile page, by touching logout
tab, he/she will be logout from the system.

5.2 STATE TRANSITION DIAGRAMS

Figure 29: State Diagram

6. PLANNING
6.1 TEAM STRUCTURE
● Onur Aydınay: Android Manager, Android Developer
● Haldun Yıldız: Android Manager, Android Developer
● Deniz Can Yüksel: Database Developer, Server Developer
● Ali Şihab Akcan: Database Developer, Server Developer

6.2 ESTIMATION(BASIC SCHEDULE)


We plan to keep up with the computer engineering design course syllabus. Our
schedule will be as close as the CENG 491 course schedule.

41
6.3 PROCESS MODEL
We do not have a strict organizational structure in the team. Everyone contributes
to each part of the work. In order to have an idea about the whole project, we gather
each week to discuss the development and the requirements.

7. CONCLUSION
This SRS report has been prepared to provide an understanding to our project
wHere. The requirements of it has been described in detail so that reader of this
document will at least fetch the basic idea of wHere. Developer of the project, more
importantly, will make use of this document throughout the implementation process.

42

Das könnte Ihnen auch gefallen