Pre-Conditions - Streamternet

yompmulligrubsInternet και Εφαρμογές Web

31 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

57 εμφανίσεις

December 1, 2012

[
STREAMTERNET
]


1

StreamterNet

Software Engineering Final Project 2013


1.

Introduction

1.1 V
ision

Mobile devices are very popular but they still lack of storage space what leads us to
think about an opportunity to share a personal media from a pc of a person to his
private mobile device.

Today home streaming systems is very
common but still streaming a personal media
via internet is rare and almost does not exist.

Our object in this project is to create a streaming system between PC to mobile
devices.

The streaming system will be consist of a Desktop software and a mobile app
.

The Desktop software will provide the user the ability to turn his own PC to a cloud
server for sharing a chosen data, while the mobile app will give the user the power
to approach the required data.

After installing the software and completing the regis
tration process the user will be
able to access all his shared data from his mobile devise only after authentication.

Authentication required verifying that a user can access only his shared data on his
own PC.

The user will be able to approach the all the

selected data in anytime and anywhere.




1.2

Problem domain


Today, sharing data and streaming are widely common between in home and local
networks, for

example sharing data between PC to PC, PC to TV, PC to Smartphone
and
etc.

Still, streaming data via
internet is lack.

That’s where Streamternet comes in.

Our application is designed to be used on I
-
phones.

Streamternet will provide a stable and easy way to stream data between PC and
mobile via the internet.

According to our check, most streaming system w
orks in local networks, and the one
that tried to work through the internet are rare and not intuitive.

December 1, 2012

[
STREAMTERNET
]


2

StreamterNet

Software Engineering Final Project 2013





The

system divided into
4

end units (see Figure 1)
:



Application Server



is mainly used as a mediator between the mobile app and
the desktop software. The server interacts with a database that contains all
system's data, in particular ip addresses, ports number and other needed user
details.



Iphone application


the applicat
ion installed on an iphone device. This
application interacts with the application server in order access the shared data
on the computer.



Desktop software


The desktop software will provide the user a comfortable
GUI interface for choosing the specific d
ata he wants to share with his mobile
and will turn the computer to a cloud on demand.



MySQL server database


this module is responsible of storing all the required
data,

such as user details, port numbers and ip addresses. The communication
with this modu
le
executed

by the application server module.


December 1, 2012

[
STREAMTERNET
]


3

StreamterNet

Software Engineering Final Project 2013





1.3
.

Stake holders

The first stakeholder is Dr. Gera Weiss, which accompanies the project at all times,
approves each and every phase of the project and consults the development team.

Other stakeholders are the members of the project team
-


Mr. Dima Goltsman, Mr.Yiftah haim and Mr. Amit Hevroni.


The project team is responsible for designing and implements the system,

Integrating the relevant modules to construct the streaming system
architecture.

The last and the most important stake holders are the users which we, as developers
and designers,

Responsible to supply them the most comfortable interface to stream their data
through the internet.





1.4
.

Software Context:

Users interact
with the system through two major channels


the desktop software
and the mobile app.

All user actions are preformed through the GUI interfaces in the desktop software
and the mobile app.

Since the software
provides

streaming per
-
user, the system will prov
ide a
registration mechanism, login and logout for users who are willing to stream their
data through the system and to finish the streaming.

During log
-
in the system, the server will identify and verify the user details through
the database.

The user will

be notified when the process is done.

Once the user successfully logs in the system, he could access all his shared files on
his PC through the system.


In case of fail log in, the user will be notified correspondently.

Another main functionality in the
desktop software is the option to choose which
files he wants to share and to “turn” the computer to cloud.

Same functionality provided to the mobile device user that let him choose

the file he
want to stream from the files he chose prior in the desktop software.

December 1, 2012

[
STREAMTERNET
]


4

StreamterNet

Software Engineering Final Project 2013


2.

Functional Requirements

2.1. Registration:

The very first main
functionality of the
system is letting a user to register to it.

Every user, after downloading the software
and install it, need to register the
system by unique username and a password.

User name will be his email address.

The registration process will complete successfully if and only if the user
provided a unique email address that has not been used before by

any other
user in the system.

















December 1, 2012

[
STREAMTERNET
]


5

StreamterNet

Software Engineering Final Project 2013


2.2 Login and Logout:

The system should be able to log into the
Streamternet

account so it can
identify
the user and get his data from his PC
.

For
that matter, any user who log
-
in
for
Streamternet
,

should supply

His account details



username and password
.

The logout operation is
intuitive as well
.


The software sends logout request to the
server so the streaming will finish
.

Login and log
-
out are both mobile and PC operations.













December 1, 2012

[
STREAMTERNET
]


6

StreamterNet

Software Engineering Final Project 2013


2.3. Managing shared list:

This functionality referred to the PC application.

The Streamternet GUI will let the user to add /remove files/directories to his
shared list.

After editing the shared list the user will be asked to apply the shared list to a
sharing mode, then the content of the shared list will be available to the user
mobile app for start streaming.












December 1, 2012

[
STREAMTERNET
]


7

StreamterNet

Software Engineering Final Project 2013



2.4 start and stop server

These both functionalities will start and stop the server.

While server is started the mobil
e app will let the user access o his shared list .

While the server is stopped for any reason, the user will be notified in his mobile
app with an error message.

















December 1, 2012

[
STREAMTERNET
]


8

StreamterNet

Software Engineering Final Project 2013



2.5 play file

This main functionality on the mobile side will let the user
to play a specific file
from his private shared list. While clicking the “play” button the system will start
streaming the chosen file.


This functionality will be able only after those 3 pre
-
condition is satisfied:


1.

The user is logged into the system.

2.

There is at least one file in his shared list.

3.

The server is in a “start mode”.











December 1, 2012

[
STREAMTERNET
]


9

StreamterNet

Software Engineering Final Project 2013




4. Non
-
Functional Requirements:


4.1.
Performance constraints
:




4.1.1
.

S
peed, capacity and throughput
:




95% of all server
-
API requests will be answered up to 2

seconds.



The server will be able to handle up to 1000 requests per second.



Mobile phone will start playing within 4 seconds after selecting
m
edia.



S
erver must start within 7 seconds after clicking “start server”



Mobile

app must show f
ile
-
list within 5 se
conds after
launching
.

4.1.2.
Reliability
:








System must be operational at 99% of the time
.




In case of server fault, mail will be sent to the developers that
must fix the system or restore from backup within 12hours
.


4.1.
3
.
Safety and security
:




Users

must register with email and password to the system.



Email must be verified
.



All passwords will be encrypted in the database
.



The system will respect user privacy
.




All SQL queries will be executed via prepared statements to avoid
SQL injection
.




December 1, 2012

[
STREAMTERNET
]


10

StreamterNet

Software Engineering Final Project 2013


4.1.
3
.

Portability
:




Desktop app should work on Windows
a
nd OSX



Mobile app should work on IOS.



App site should work with all common web
browsers (
IE9 not
supported)


4.1.
4
.
Usability
:




System will be very intuitive and understandable
.




No

former knowledge is needed by the user
.



Calls

will be asynchronous to keep best usability
.



All

system operations will be transparent to the user Usability
.

4.1.
5
.
Availability
:



The service is hosted on a PHP server



Streaming will be available while the mo
bile app and the
desktop app are connected to the world wide web



streaming will not support roaming between networks


4.2


Platform Constraints:




JRE must be installed on the PC.



Mobile app will be developed in Objective
-
C.



API server will be developed in
PHP.



Database will be MySQL.


4.3

Special restrictions & Limitations
:



Desktop PC must be connected to the internet through max 1 router.



User must have iphone and a pc.



IOS must be 5.1 and up.




December 1, 2012

[
STREAMTERNET
]


11

StreamterNet

Software Engineering Final Project 2013


5
.
Usage Scenarios
:


5.1. The Actors:


5.1.1. The User



StreamterNet
user
:

This actor is the
user

and external to the system therefore he will provide
triggers to operate the system.

The user is also the main client of the system.

There are 2 kinds of users: The pc user and the mobile user.


5.1.
2
.
StreamterNet

Database
:

This actor is the
system database. Its main uses are storing user’s
accounts data (email addresses and passwords), user location data (ip
addresses and ports) and returning data when necessary.


5.
2
.
System actors use case
:



December 1, 2012

[
STREAMTERNET
]


12

StreamterNet

Software Engineering Final Project 2013


5.3. System
Use
-
cases:


5.3.1. Use
-
case 1: Registration:

Description:

A new user to the system would like to register to the
Streamternet services.


Actors:

user, database


Pre
-
Conditions:

The desktop software is installed at the user PC.


Post
-
Condition:

The user is registered to the system.





The user details stored in the database.


Main success scenario:


1.

The user provides an email address and a password.

2.
The System checks that the email address was not used by any
previous user.


3.
The sy
stem stores the user details in the database.


Extensions:

2.1.
The given email address in used before in the system


an
appropriate massage is shown to the user.



5.3.
2
. Use
-
case
2
: Login:

Description:
A mobile user is trying to login to his account.


A
ctors:
user, database


Pre
-
Conditions:
The mobile app

is installed on

the user
mobile device.


Post
-
Condition:
The user
is logged in the system
.



Main success scenario:


1.

The user provides an email address and a password.

2.
The System checks

in the database

that the email address

and the
address are matched.


3.
The system
presents the user an appropriate message
.

December 1, 2012

[
STREAMTERNET
]


13

StreamterNet

Software Engineering Final Project 2013



Extensions:

2.1.
The given email address and the password are not matched
.

The user request to provide again an email address and

a password.




5.3.
3
. Use
-
case
3
: Log out:

Description:
A mobile user is trying to log out from the system.


Actors:
user, database


Pre
-
Conditions:
The mobile app

is installed on the user mobile device.

The user is logged in.


Post
-
Condition:
The user
is logged out from the system
.


To see his shared list the user must login the system again.


Main success scenario:


1.

The user asks to log out from the system
.

2.
The System logout the user and a shared list in unavailable to the user.


Extensions:

At

any time, system fails: an appropriate message is sent to the user.






















December 1, 2012

[
STREAMTERNET
]


14

StreamterNet

Software Engineering Final Project 2013


5.3.
4
. Use
-
case 4: Get shared list:

Description:
A mobile user wants to get his shared list.


Actors:
user, database


Pre
-
Conditions:
The mobile app is installed on
the user mobile device.

The user is logged in.

The users PC software in turned on.


Post
-
Condition:
The shared list is shown on the user mobile device
.


Main success scenario:


1.

The user asks
to get his shared list
.

2.
The
system get

the user location from the database
.

3.
The system get the user shared list.

4.
The shared list is on the user mobile devise.


Extensions:


At any time, system fails: an appropriate message is sent to the user.


5.3.
5
. Use
-
case
5
: Play file:

Description:
A

mobile user wants to play a chosen file.


Actors:
user, database


Pre
-
Conditions:
The mobile app is installed on the user

mobile device.

The user is logged in.

The users
PC
software
in turned on.

The user chose a file from the shared list.


Post
-
Condition:
The chosen file is playing on the user mobile device.


Main success scenario:


1.

The user chooses a file from the shared list
.

2.
The System get the user location from the database.

3.

The system streams the chosen file from the user’s PC
to the mobile


device.

4
.
The Chosen file is playing on the mobile device.

December 1, 2012

[
STREAMTERNET
]


15

StreamterNet

Software Engineering Final Project 2013



Extensions:

At any time, system fails: an appropriate message is sent to the user.


5.3.6. Use
-
case 6: Add file/directory to shared list:

Description:
A PC

user wants to add a file/directory to his shared list.


Actors:
user


Pre
-
Conditions:
The
PC

software is installed on the user
PC
.


The user registered the system.


Post
-
Condition:
The chosen file
/directory

was added to the user



shared

list.


Main
success scenario:


1.

The user chooses a file
/directory

from
his local computer
.

2.
The user asks to add the chosen file/directory to the shared list.

3.

The

chosen file/directory
added
to the shared list.


Extensions:

At any time, system fails: an
appropriate message is sent to the user.



5.3.7. Use
-
case
7
: Remove file/directory to shared list:

Description:
A PC user wants to remove a file/directory to his shared
list.


Actors:
user


Pre
-
Conditions:
The
PC

software is installed on the user
PC
.


The

user registered the system.


Post
-
Condition:
The chosen file/directory was removed from the user



shared list.


Main success scenario:


1.

The user chooses a file/directory from his s
h
ared list
.

2.
The user asks to remove the chosen file/directory from
the shared list.

3.

The

chosen file/directory removed from the shared list.

December 1, 2012

[
STREAMTERNET
]


16

StreamterNet

Software Engineering Final Project 2013



Extensions:

At any time, system fails: an appropriate message is sent to the user.


5.3.8. Use
-
case 8: Turn on the server.

Description:
A PC user wants turn on his streaming
system.


Actors:
user
, database.


Pre
-
Conditions:
The
PC

software is installed on the user
PC
.


The user registered the system.


Post
-
Condition:
The user shared list is available to stream on the

mobile device.


Main success scenario:


1.

The user asks to

turn the server on.

2.
The system stores the user location and port in the database.

3.

An appropriate message is shown to the user.


Extensions:

At any time, system fails: an appropriate message is sent to the user.



5.3.9. Use
-
case 9: Turn off the serv
er.

Description:
A PC user wants turn off his streaming system.


Actors:
user
, database.


Pre
-
Conditions:
The
PC

software is installed on the user
PC
.


The user registered the system.


Post
-
Condition:
The user shared list is not available to stream on the

mobile device.


Main success scenario:


1.

The user asks to turn the server off.

2.
The system stores the user new status in the database.

3.

An appropriate message is shown to the user.


Extensions:

At any time, system fails: an appropriate message is
sent to the user.

December 1, 2012

[
STREAMTERNET
]


17

StreamterNet

Software Engineering Final Project 2013