Professional Documents
Culture Documents
Software Requirements
Specification
for
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
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
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.
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
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
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.
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.
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.
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.
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 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 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.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 8 checks the don’t start the downloads automatically radio button
Step 11 slects what label to give to the new download matches found
Page 12
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.
Step 3 the file starts playing in the utorrent client if it is a video or image file under the now tab
ADDITIONAL FEATURES
This feature allows users to watch videos or listen to downloaded music without having to
leave from the uTorrent.
3.9.3System Requirement:
The media player must have extension for the all codec.
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
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
• 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.5 LABELS
4.1.6 Trackers
4.1.8 Files
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.
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