Beruflich Dokumente
Kultur Dokumente
Software Requirements
Specification
CodeBenders
Haldun Yıldız 1819663
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.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.
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.
Term Definition
OS Operating system
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.
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.
7
2.1.5 Communications Interfaces
The application will use HTTP protocol for communication over internet.
2.1.7 Operations
Operations that user will be able to do are specified in Section 2.1.2 User
Interfaces.
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.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.
9
the functionalities and system requirements.
Future versions of the application will also operate on the devices mentioned
above.
10
3. SPECIFIC REQUIREMENTS
3.1 INTERFACE REQUIREMENTS
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
3.2.1 Login
Use Case 1
Number
Actor User
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.
Post-Conditions User will enter the system and he/she can use it.
24
3.2.2 Register
Use Case 2
Number
Actor User
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.
Post- After registering to system, user can start to use the product.
Conditions
25
3.2.3 Logout
Actor User
Primary Scenario After login, user can log out at any time.
Pre-Conditions Login
26
3.2.4 Follow
Use Case 4
Number
Summary User can follow any of his/her friends to see their post that are
posted in any place.
Actor User
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
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
Use Case 5
Number
Actor User
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
Post-Conditions After unfollowing friend, user will not get any post from this friend.
28
3.2.6 Add Friend
Use Case 6
Number
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
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
Assumptions None
29
3.2.7 Delete Friend
Use Case 7
Number
Actor User
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
Post-Conditions None
Assumptions Friend who will be deleted from friend list must already be user’s
friend.
30
3.2.8 Check-In
Use Case 8
Number
Actor User
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.
31
3.2.9 See Other’s Post
Use Case 9
Number
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
Post- None
Conditions
Assumptions None
32
3.2.10 Post on the Wall in a Place
Use Case 10
Number
Summary This use case deals with posting on the wall of the place where user
checked in.
Actor User
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
Assumptions None
33
3.2.11 Edit Profile
Use Case 11
Number
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
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
Assumptions None
34
3.2.12 See Friend’s Profile
Use Case 12
Number
Actor User
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
Assumptions None
35
3.2.13 See Online Friends
Use Case 13
Number
Actor User
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.
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.
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
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.
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
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.
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
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