You are on page 1of 24

Page 1

Software Requirements
Specification

for

UTORRENT Version 1.0 approved


January 2, 2018

Danish
Mehmood
Prepared by: Ammad
Ahmed
Page 2

Hamza ali
Table of Contents
1. Introduction......................................................................................................................................5
1.1 Purpose.......................................................................................................................................5
1.2 Document conventions..............................................................................................................5
1.3 Intended audience and reading suggestions...............................................................................5
1.4 Project scope..............................................................................................................................6
2. Overall Description..........................................................................................................................6
2.1 Product perspective....................................................................................................................6
2.2 Product features.........................................................................................................................8
2.3 Operating environment..............................................................................................................9
2.4 Design and implementation constraints.....................................................................................9
2.5 User documentation.................................................................................................................10
2.6 Assumption and dependencies.................................................................................................10
3.SYSTEM FEATURES.....................................................................................................................11
Core features.......................................................................................................................................12
3.1 Creating a torrent.....................................................................................................................12
3.2 Downloading the torrent..........................................................................................................13
3.3 Viewing the torrent transfer details..........................................................................................14
3.4 Automation...............................................................................................................................15
3.5 Utorrent remote........................................................................................................................16
3.6 Torrent queuing........................................................................................................................16
3.7 Play now..................................................................................................................................17
ADDITIONAL FEATURES...............................................................................................................17
3.8 Built-in antivirus protection.....................................................................................................17
3.9 HD media player......................................................................................................................18
3.10 Convertor for Apple android..................................................................................................18
3.11Remotely download contents..................................................................................................18
3.12 Queue.....................................................................................................................................19
4.EXTERNAL INTERFACE REQUIREMENTS..............................................................................19
4.1 User interfaces.........................................................................................................................19
4.2 Hardware interfaces.................................................................................................................27
4.3 Software interfaces..................................................................................................................27
4.4 Communication interfaces.......................................................................................................28
5 OTHER NON FUNCTIONAL REQUIREMENTS........................................................................28
5.1 Performance requirements.......................................................................................................28
5.2 Safety requirements.................................................................................................................28
5.3 Security requirements..............................................................................................................29
5.4 Software quality attributes.......................................................................................................29
6. KEY MILESTONE........................................................................................................................29
7. KEY RESOURCE REQUIREMENTS..........................................................................................30
8 OTHER REQUIREMENTS............................................................................................................32
9 APPENDIX A GLOSSARY............................................................................................................32
Page 3

1. Introduction
1.1 Purpose

The purpose of this software requirement specification document is to provide a


detailed description of the functionalities of the utorrent system . This document will
cover each of the system’s intended features ,as well as offer a preliminary glimpse of
the software application’s user interface(UI) . The document will also cover
hardware, software and various other technical dependencies.

1.2 Document conventions


This document features some terminology which readers may be unfamiliar with .
See appendix A (glossary) for a list of terms and their definitions.

1.3 Intended audience and reading suggestions

This document is intended for all individuals participating in and/or supervising the
utorrent project. Readers interested in a brief overview of the product should focus on
the rest of Part 1(Introduction), as well as Part 2 of the document (Overall
Description), which provide a brief overview of each aspect of the project as a whole.
These readers may also be interested in Part 6 (Key Milestones) which lays out a
concise timeline of the project.

Readers who wish to explore the features of utorrent in more detail should read on to
Part 3 (System Features), which expands upon the information laid out in the main
overview. Part 4 (External Interface Requirements) offers further technical details,
including information on the user interface as well as the hardware and software
platforms on which the application will run. Readers interested in the non-technical
aspects of the project should read Part 5, which covers performance, safety, security,
and various other attributes that will be important to users. Readers who have not
found the information they are looking for should check Part 8 (Other Requirements),
which includes any additional information which does not fit logically into the other
sections.
Page 4

1.4 Project scope

The utorrent is a file downloading client which works on the peer to peer network
architecture and uses bit torrent peer to peer protocol to provide the necessary
functionalities .utorrent is a freeware, closed source BitTorrent client by BitTorrent,
Inc. Its the Software Developed for Downloading Large Amount of Files. Its a peer-
to-peer file sharing protocol used for distributing large amounts of data.
Utorrent is Very Easy Way to Download Files. Its Very Convenient to Download
through this Software. The Main & very Excellent Feature of this Software is that
you don't have to worry about your Link Breakdown or wait to Shutdown your
Computer till your Download is Completed. It works when it gets the Internet
Connection and Starts its Work. It Resumes the Downloads from where it was
Interrupted.
Page 5

2. Overall Description
2.1 Product perspective
The utorrent project is a new self contained product intended for use on the desktop platform. While
the utorrent desktop application is the only main focus of this document but there is also another
world which lies on the other side of this system which helps utorrent to execute its operations
successfully and flawlessly below is the diagram which explains the working of utorrent.

Downloader Downloader Downloader

Downloader Uploader Downloader

Downloader Downloader Downloader


Page 6

2.2 Product features

The following list offers a brief outline and description of the main features and
functionalities of the utorrent system . The features have been split into two
categories one is core features and the other is additional features . As the additional
features only enhance the existing product and doesn’t really add any additional
features so they would only be implemented if the time permits.

Core features
1 Creating a torrent
2 downloading the torrent
3 Viewing the torrent transfer details
4 Automation
5 utorrent remote
6 torrent queuing
7 play now

Additional features
1 Built-in antivirus protection
2 HD media player
3 Convertor for Apple android
4 Remotely download contents
5 Queue

2.3 Operating environment

The utorrent system will be a very light weight and user friendly in nature . Its not
very resource or graphics intensive software so no notable hardware constraints
bound it . It could run on both 32 bit and 64 bit computer architecture’s . utorrent is a
self contained application and doesn’t really depend on many external objects . All
this applications need is internet connection and a file to download. Utorrent would
have a support for windows , linux , solaris and all other unix based operating
systems . Utorrent requires only 20 MB of installation space and doesn’t have any
hyperbole ram and other memory requirements.
Page 7

2.4 Design and implementation constraints

The utorrent system’s primary design and implementation constraint is this that it
couldn’t be used in mobile operating systems because it is designed to make the
download of large files easy and manageable so there is no point of making utorrent
for the mobile platform as large files aren’t really expected to be downloaded on the
mobile platform. Another constraint would be this that it has a threshold internet
speed below which it will operate but there wont remain any significant difference
between an ordinary downloading client and utorrent and its significance will be lost
surely so it is advisable that mediocre speed internet is used when using utorrent.

2.5 User documentation

The primary goal of utorrent is to make downloading of the large files speedy and
manageable . The developer have focused on making this application which could be
easily understandable and user interface is intuitive . Nonetheless users may still
require some supplementary information to help them understand the core
functionalities of the software which are either not apparent or users couldn’t
comprehend it. For this purpose the application will contain a help feature will
entertain the inquisitive users of the application by answering their questions and
quenching there curiosity for the application . This help feature will also contain the
frequently asked questions and about section for the application this section will also
provide users with the snippets of main application functionalities. Apart from this if
the user wants to delve deeper into the application framework than the user could also
visit the website accompanying the application with the domain name
www.utorrent.com where they could find in depth , extensive and well explained
documentation of the application.

2.6 Assumption and dependencies

Time dependencies
As it is mentioned before that the features of utorrent has been split into two
categories namely core features and additional features the core features are those
which are of utmost importance and precede any other type of features in
importance . These features are to be ingrained into the system at any cost because
these are the requirement of the customer which are of utter importance.
Page 8

On the other side the additional features are of not the same importance as that of
core features . Additional features are those features which don’t add further
functionality to the product but only enhances the existing core functionalities of the
product at hand . This is the reason why core functionalities are the one on which all
the time is spent and if the development time is left then some heed is for sure paid to
the additional features.

Hardware dependencies
some of the utorrent functionalities are dependent on the hardware like NIC and
internet connection . If the user wants to use the utorrent efficiently then the user
needs to connect to the internet other wise utorrent would be nothing but only
another another application lying on your desktop. Features like downloading a
torrent and uploading a torrent to name a few are the features which require a high
speed internet to work to their fullest . Apart from that the utorrent doesn’t really
require or is not dependent on any other computer’s internal hardware . It would only
need some peripheral devices to operate it like keyboard and mouse .

3.SYSTEM FEATURES
Utorrent system features are divided into two main categories: core features and
additional features. Core features form the body of the application and include any
features that are essential to the functionality of the utorrent system. These features must
be implemented in order to have a fully-functioning application. Additional features,
however, are not required for the app to function. They include any features which, if
time permits, will be added to the application in order to provide extra functionality.

Core features
3.1 Creating a torrent
In order to share data, we first need to create and share a torrent. Here we can select the source files
we wish to share, the trackers to use, and configure other sharing behaviours.

3.1.1 STIMULUS AND RESPONSE SEQUENCES

Step 1 Go to File | Create New Torrent.

Step 2 Click on the Add file / Add directory button. If you plan on sharing a file or sharing a
directory, press the relevant button and find the data to share.
Page 9

Step 3 If you wish to skip files in the directory you have chosen, add which files to skip in the Skip
Files textbox. This textbox works by matching the filenames within a directory with a string, which
can use wildcards (*) and pipes (|).

Step 4 Enter the trackers that this torrent will use. By default, uTorrent will enter trackers
www.openbittorrent.com and www.publicbt.com, though you can add other trackers to this list if
required. By adding more trackers to this list, the torrent will get more exposure to the potential
participants.

Step 5 If you have the torrent contents accessible on a web server and want to list it as a backup
location, enter the URL in the Web Seeds textbox. This option ensures the files inside the torrent
are accessible even if no other participants are present to transfer data.

Step 6 Use the Comment textbox to enter any extra information that the users may require.

Step 7 Keep the Piece size as (auto detect) . This can be altered if desired, but it is better to leave it
as it is, since the Piece size relates to how the files will be divided. If you manually choose 16 KB,
the data will be divided into 16 KB chunks. Choosing the wrong piece size for the data size can
make torrents inefficient, so it is better to let uTorrent decide.

Step 8 Enable the Start seeding checkbox. This option will make the torrent available to upload as
soon as the torrent creation is complete.

Step 9 If you want this torrent to be private, enable the Private torrent checkbox. This will disable
the DHT and PEX ( Peer Exchange ) protocols, making tracker the only method of interacting with
this torrent.

3.1.2 User requirements


1. Permissions
The user who is creating the torrent must have the permission to do so that is he or she must have
the administrator privileges

3.1.3 System requirements


1 .secure torrent
The system must make sure that the torrent being created conforms to the rss terms and conditions
Page 10

3.2 Downloading the torrent


3.2.1 STIMULUS AND RESPONSE SEQUENCES

The most used feature of this program is downloading of the torrents. You will now be greeted by
the Add New Torrent screen, which displays the contents of the torrent, and general torrent
downloading options.

Step 1 Find your torrent. If you don't have a torrent in mind, there is a section at the end of this
guide listing trackers, which contains free and legal torrents. The torrent will be a torrent file or a
magnet link.

Step 2 Add the torrent to uTorrent.

Step 3 Configure the newly added torrent.

3.2.3 System requirements


1. secure rss feed
The system should make sure that the torrent being downloaded is secure virus free and have
minimum of 100 seeders

3.2.2 User requirements


1. NONE
The user who is carrying out the fore mentioned task needs not to have any special requirement full
filled in prior to carry on the task

3.3 Viewing the torrent transfer details


3.3.1 STIMULUS AND RESPONSE SEQUENCES

Step 1 select the torrent from the main interface

Step 2 The torrent details will appear in the panel beneath the torrent list.

Step 3 The Files tab will display the files within the torrent. While downloading a torrent you can
right-click on each file to change file priority or cease downloading

Step 4 The Files tab will display the files within the torrent. While downloading a torrent user can
right-click on each file to change file priority or cease downloading

Step 5 click on the info tab to see the download details


Page 11

Step 6 click on the peers tab to see how many users are downloading that specific torrent which you
are downloading as well

Step 7 The Trackers tab displays all tracker information. It lists all the available uploaders
(Seeds), uploaders/downloaders ( Peers ), and how many times the torrent has been downloaded

Step 8 The Speed tab displays the torrents historical bandwidth speed using the graphs.

3.3.3 System requirements


1. NONE
The user who is carrying out the fore mentioned task needs not to have any special requirement full
filled in prior to carry on the task

3.3.2 User requirements


1. NONE
The user who is carrying out the fore mentioned task needs not to have any special requirement full
filled in prior to carry on the task

3.4 Automation
3.4.1 STIMULUS AND RESPONSE SEQUENCES

uTorrent has the capability to automatically download torrents using the RSS feeds from web
servers.

Step 1 user goes to File | Add RSS Feed.

Step 2 Navigate to Options | RSS Downloader .

Step 3 fill in the filter dialogue box

Step 4 saves the save in field

Step 5 selects the rss feed from feed drop down

Step 6 selects the quality of the rss feed

Step 7 indicates the episode number

Step 8 checks the don’t start the downloads automatically radio button

Step 9 assigns the priorities to the selected downlods

Step 10 checks the minimal interval radio

Step 11 slects what label to give to the new download matches found
Page 12

3.4.3 System requirements


1. NONE
The user who is carrying out the fore mentioned task needs not to have any special requirement full
filled in prior to carry on the task

3.4.2 User requirements


1. NONE
The user who is carrying out the fore mentioned task needs not to have any special requirement full
filled in prior to carry on the task

3.5 Utorrent remote


it is a remote login and operating environment where you can control you utorrent
client from your mobile

3.5.1 STIMULUS AND RESPONSE SEQUENCES

Step 1 First, open up your options menu by going to options > preferences (on a PC)

Step 2 Then, navigate to "Remote" and click the box to "Enable uTorrent Remote Access"

Step 3 Choose a unique computer name and password. Click the "Sign-in" button. After a few
seconds you should see: "Status: Accessible".
And that's it! Now sign in on uTorrent Remote (either the web interface, or the Android app) using
the username and password you just created.

3.6 Torrent queuing

3.6.1 STIMULUS AND RESPONSE SEQUENCES

Step 1 user goes to options from the menu pane

Step 2 user selects preferences from the drop down menu

Step 3 user selects queuing option from the given menu

Step 4 tweaks the queuing options

Step 5 selects the accept option


Page 13

3.7 Play now


3.7.1 STIMULUS AND RESPONSE SEQUENCES

Step 1 user downloads the torrent file

Step 2 after completion clicks the given play now option

Step 3 the file starts playing in the utorrent client if it is a video or image file under the now tab

ADDITIONAL FEATURES

3.8 Built-in antivirus protection


This feature allow user to protect his system (pc, mobile) via having the uTorrent only. it has
dual protection for the contents download form the pirate site and also for the system.

3.8.1 Stimulus/response sequence:


Step:1 The user starts the antivirus from the App uTorrent.
Step:2 From now on antivirus will runs on its own.

3.8.2 User Requirement:


Just have to activate the protection from the App.

3.8.3 System Requirement:


The application must have the update protection against the new malware.

3.9 HD media player

This feature allows users to watch videos or listen to downloaded music without having to
leave from the uTorrent.

3.9.1 Stimulus/response sequence:


Step:1 The user will do right click on the item he/she want to watch.
Step:2 Then press play for the item to watch.

3.9.2 User Requirement:


Only user wants to buys a plus version to avail this.
Page 14

3.9.3System Requirement:
The media player must have extension for the all codec.

3.10 Convertor for Apple android


This feature allow user to integration with external devices including the iPhone, iPad, PS3,
Xbox 360 and Android hardware. This allows users to quickly sync downloaded content to
these devices.

3.10.1 Stimulus/response sequence:


Step:1 User have to download the content first to be sync.
Step:2 User have to chose his platform to content be converted.

3.10.2 User Requirement:


Only user will have to buy the plus version to avail this.

3.10.3 System Requirement:


System will have to sync with every version of OS.

3.11Remotely download contents


Remotely downloaded content adds capabilities to uTorrent Remote, the web-based control
panel of the software. It allows uTorrent Plus users in particular to download files remotely
from the web interface. Users can log in from any computer to transfer files to that computer
right from the client running uTorrent.

3.11.1 Stimulus/response sequence:


Step:1 User will search his desire content from app.
Step:2 The app provides his user multiple option of his search like the websites.

3.11.2 User Requirement:


NONE

3.11.3 System Requirement:


System will have the proper search query and good interface.

3.12 Queue
Queuing feature ensures that after the completion of a torrent, the other left out torrents will
automatically be started. The advantage of queuing torrents is that it ensures the particular
number of torrents specified gets the full speed and only after completion, the chunks of
another torrent must be downloaded.
Page 15

3.12.1 Stimulus/response sequence:


Step:1 User select the content which he/she wants to queued.
Step:2 User select the queued function from the drop-down menu.

3.12.2 User Requirement:


NONE

3.12.3 System Requirement:


System must have queued the downloading contents and resume according to sequence.

4.EXTERNAL INTERFACE
REQUIREMENTS
4.1 User interfaces
4.1.2 GENERAL LAYOUT

• The image above shows the home screen of the home view of the system
Page 16

• from this screen the user can navigate to any other screen using the left most
displayed tab buttons
• every screen will bear the descriptive title of the tab selected

4.1.3 TORRENTS SCREEN

• Accessed by clicking on the torrents tab


• showcases all the torrent files downloading or has been downloaded
• gives the option to play the torrent file
• shows the up-speed and the down speed

4.1.3 DEVICES SCREEN


Page 17

• shows all the devices with which the system can interface connected to the
computer
• gives the option to add a device of choice
• pre included devices are showcased

4.1.4 FEEDS SCREEN

• shows all the rss feeds we have created


• showcases the options given by the system to explore
Page 18

4.1.5 LABELS

• shows all the labels which match our rss feed


• gives the option to make our own customized labels

4.1.6 Trackers

• gives the information about the trackers


• communicates how many uploaders or seeders are there for the selected torrent
• communicates how many uploaders/downloaders (peers) are there for the
given torrent
Page 19

4.1.7 Speed history

• Plots a graph to display the speed history


• collects the speed history from other seeders and peers and generates the speed
graph
• user can first see the speed graph to authenticate the speed of the torrent

4.1.8 Files

• It displays the file path of the selected torrent


• it also communicates to the user that what type of the torrent file is
• it also showcases other files connected to the torrent if any
Page 20

4.1.9 Info tab

• Gives all the information about the torrent selected


• showcases the download speed
• showcases the upload speed
• displays the file size
• displays the amount of file downloaded and remaining
• shows the path where to save the file
• shows the date of creation

4.2 Hardware interfaces


Utorrent is not that hardware dependent it is a small sized and low graphics
application so it won’t push the systems hardware on which it is being run. Utorrent
is solely developed for desktop computers usage it does not have any mobile platform
counterparts .

4.3 Software interfaces

utorrent is to be developed using the python programming language and python


socket interfaces so that it could communicate to the internet as well.

4.3.1 Incoming and outgoing items


• The incoming items contain the utorrent updates and pop ups information
• The outgoing information includes the client information.
Page 21

4.4 Communication interfaces


Utorrent has a communication interface with browser (which ever browser is default
for the given PC) it can call for the services of the browser whenever an update is
recommended or when some pop-up is clicked . The browser could also call for the
utorrent whenever it encounters the torrent file it will immediately call for utorrent
because it is the torrent client and whenever the user will open the torrent file the
computer will automatically open it in utorrent if it is installed on the respective PC.

5 OTHER NON FUNCTIONAL


REQUIREMENTS
5.1 Performance requirements
The utorrent doesn’t have much of the performance requirements as it is a light
application but as far as the torrent download speed is concerned it would be
proportional to the speed of the internet if the net is slow than application cant do any
thing. The download speed also depends on the number of torrent files being
downloaded if the number of files are greater than one than the download speed will
be divided between these files and download won’t be that fast but utorrent
application gives a resolve for that by default utorrent will queue all those files which
will be added after the fifth torrent file in to the download list keeping them from
downloading . This queue limit could also be tweaked in settings .

5.2 Safety requirements


Utorrent application is not risk heavy application that is it wont affect any other
applications data existing on the same hard drive as utorrent however it could affect
adversely other download clients speed. One thing should be kept in mind while
downloading the torrent files using utorrent which is utorrent does not contain any
built-in anti-virus or anti malware. So when ever utorrent is being used user’s firewall
or anti-malware should be up and running.

5.3 Security requirements


There’s only one security requirement that the user who is using utorrent must have
administrative permissions to the system he or she is using .
Page 22

5.4 Software quality attributes


The graphical user interface of utorrent is to be designed with usability as the first
priority. The app will be presented and organized in a manner that is both visually
appealing and easy for the user to navigate. There will be feedbacks and visual cues
such as notifications to inform users of updates and pop-ups to provide users with
instructions.

6. KEY MILESTONE
MILESTONE DEADLI COMMENT
NE
Vision 12/11 This is done by 09 Dec so presentation can be created.
document
SRS Document 1/2 Abstract done by 21 Dec so this part presentation can be held.
Finalized 1/25 Designs should be done a week in advance of abstract for
Interface Design Revisions.

Finalized 2/05 Designs should be done a week in advance of abstract


Algorithm Design because of bugs.

Interface & 2/29 This should be completed two weeks in advance of


Algorithm complete project so app can be thoroughly tested and bugs
Implementation fixed.

Software Festival 3/15 Completion of project

7. KEY RESOURCE REQUIREMENTS


Page 23

Major Project Skill/Expertise Internal External Resource Issues/Constraints


Activities Required Resource

Create a Full hand on the Danish and Desktop Limited number of


desktop coding material Ammad have team with less
Application general experience in
knowledge physical domain
Sync the Application Danish and Internet Possible
Server networking Ammad have compatibility
to the with general issues
Application online servers knowledge in
this field
Design the Design & Hamza has Android Developers Schedule conflicts;
Interface usability extensive community; physical
experience; digital design published constraints of
familiarity experience; examples handset screen
with Android resolution
Design an Knowledge & All members Android Developers Potential schedule
algorithm experience have community; conflicts
designing taken data published
mathematical structures and examples
algorithms algorithms
Implement Familiarity with All team Android Developers Potential schedule
an the members community; conflicts
algorithm Android have Java published
development programming
environment experience
Implement Familiarity with All team Android Developers Potential schedule
the Android GUI members community; conflicts
interface implementation have Java published
programming
experience
Page 24

8 OTHER REQUIREMENTS
The other security requirement of utorrent which should be kept in mind is this that
utorrent wont be used to download the torrent are either copy righted by unauthorized
client or are pirated copies of the original files.

9 APPENDIX A GLOSSARY
Torrent
Torrent is a network of computers which propagate the download of the file using the
peer to peer architecture

Torrent file
the file uploaded into the torrent to render available for the download in the torrent

Algorithm
the step by step guide line to reach to an optimal solution

Peer
some one who uploads the torrent to network of peer to peer network

Seeder
someone who has the privileges to either upload or download the file

You might also like