Major Project Report
Major Project Report
Major Project Report
BACKGROUND
1.1 Abstract
AShare is an application to transfer files that is; Ashare is a File sharing Software. File sharing
lets users connect easily with other people to get access to digital files that they might otherwise
have trouble finding, such as a rare video clip or a concert recording. Old friends and scattered
family members can connect to share pictures and videos online. File sharing can also be a good
way to meet new people who share the same interests. Lasting friend-ships can develop over filesharing networks, though it is always best to be careful about sharing personal information with
strangers online.
Users can use AShare to transfer files including photos, videos, music, contacts, apps and any
other files. It is a free application that allows Windows devices to transfer files directly by ad-hoc
Wi-Fi connections or by using Wired Crossover Cable connections. It is currently available in
single language i.e. English
It is non-centralized so it cannot be easily shut down and it supports segmented file-transfer (also
known as multisource file-transfer or swarming file-transfer). AShare uses encryption to hide the
identity of who is transferring or what they are transferring. All files are transferred encrypted so
they must be decrypted upon download completion. In the meantime they are stored in encrypted
form in a "Cache" folder. This folder is also used to allow recently downloaded files to be shared
among the network based on priorities.
Once the applications or documents to be shared and whom they are to be shared with have been
determined, there are generally two types of access that can be granted to remote users.
1. Control access the host user allows remote users to actually control, edit, and manipulate the
shared content; most application sharing software allows the host to revoke control access at any
time. During the remote control session, keyboard and mouse are remotely controlled. Usually a
hot key is provided to revoke access.
2. View access the host user only allows remote users to passively view the shared content;
remote users have no ability to edit or effect change in the shared content whatsoever.
In present scenario, Ashare works only on View Access that is a user of one device was able to
access files of other device after some authorization, but the user was not able to make changes
on it.
Sorting is any process of arranging items according to a certain sequence or in different sets, and
therefore, it has two common, yet distinct meanings:
Ordering: Arranging items of the same kind, class or nature, in some ordered sequence,
Categorizing: Grouping and labeling items with similar properties together (by sorts).
The main purpose of sorting information is to optimize its usefulness for specific tasks. In
general, there are two ways of grouping information: by category e.g. a shopping catalogue
where items are compiled together under headings such as 'home', 'sport & leisure', 'women's
clothes' etc. (nominal scale) and by the intensity of some property, such as price, e.g. from the
cheapest to most expensive (original scale).
Computers, including home and business desktops, laptops and media centers. First
released to computer manufacturers on August 24, 2001, it is the second most
Popular version of Windows, based on installed user base.
1.6 Objective
Our project deals with the creation of an interactive file transferring mechanisms that has also
enable access to all the parts of the hard drive of other devices and to perform his defined tasks
using interactive interface.
The main Objective of the File Assay is the followings:1) Provide single software to transfer files with any type of connection
2) Advanced Querying
3) At the end, the goals are simple: safety and security
CHAPTER 2
General Description
2.1 Functional Requirement
1) Connection Establishment
Input: Network name and password
Output: Connected devices
Processing: Connecting different devices
4) Troubleshoot
Input: Connected devices
Output:-Solution of any connection problem
Processing:-Solving any connection issues
5) Application Sharing
Input: Chosen application to be transferred
Output: Application is transferred
Processing: Transferring application from one device to another
6) Receiving Application
Input: Application sent by sender
Output: File is stored on receiver side
Processing:-Receiving file from sender device
7) Closing Connection
Requirement table contains requirement related to projects. Generally it has five fields that are
requirement id, requirement name, type of requirement (whether essential or desirable),
description of the requirement and why it is necessary.
Requirement
Id
Requirement
Name
Essential or
Desirable
Description
Necessity
Connection
Establishment
Essential
Essential
Establishing
wired
connection
Establishing
wireless
connection
File sharing
Receiving file
Essential
Troubleshoot
Desirable
Dealing with
network issues
Necessary for
secure
transmission
Closing
connection
Essential
Closing
created
network
Necessary for
devices
Essential
Essential
Establishes
connection
between
devices
Establishes
wired
connection
Establishes
wireless
connection
Sharing files
between
devices
Receiving file
from sender
side
Necessary
before file
transfer
Necessary for
file transfer
Necessary for
file transfer
Necessary for
file transfer
Necessary for
receiving file
Figure-1
Receiver side
Sender side
Connection
establishment
Choosing requested
file
File sharing
Requesting file
Receiving file
Close connection
Figure-2
CHAPTER 3
Design
3.1 High Level Design
Design is a meaningful activity needed to create a quality product. Design is the only way by
which we can accurately translate the customers requirements into a finished software product
or system. Thus design serves as the basis for all the software engineering steps. After analyzing
and specifying all the requirements the process of design begins.
3.1.1 Flowchart
Flowchart is a graphical representation of an algorithm. With the help of different symbols
logical flow of the program can be depicted. Here in our program we have used three different
flowcharts to easily depicting the concept and algorithm of the program.
Start
Device Initialization
Troubleshoot
Yes
No
Is wireless connection chosen?
Yes
Troubleshoot
No
Yes
End
10
File receive
activity
Start
Yes
No
End
11
Start
No
Yes
Yes
No
End
Figure-5 Flowchart for file receive activity
12
Establish connection
Wired connection
Wireless connection
Troubleshoot
Sender
File sharing
File receiving
Close connection
13
Receiver
Connection
Establishment
Establish Wired
Connection
Establish Wireless
Connection
Troubleshoot
File Sharing
File Receiving
Close Connection
14
Sender
Connection
Application
Establish connection
Establish Connection
Choosing between
Wired or wireless
Request for
Application
Application sharing
Receiving
Application
Close connection
Close connection
15
Receiver
Inception identifies project scope, requirements (functional and non-functional) and risks
at a high level but in enough detail that work can be estimated.
Elaboration delivers a working architecture that mitigates the top risks and fulfills the
non-functional requirements.
Each of the phases may be divided into 1 or more iterations, which are usually time-boxed rather
than feature-boxed. Architects and analysts work one iteration ahead of developers and testers to
keep their work-product backlog full
The problems with the Waterfall Model created a demand for a new method of developing
systems which could provide faster results , require less up-front information, and offer greater
flexibility. With Iterative Development, the project is divided into small parts. This allows the
development team to demonstrate results earlier on in the process and obtain valuable feedback
from system users.
Often, each iteration is actually a mini-Waterfall process with the feedback from one phase
providing vital information for the design of the next phase. In a variation of this model, the
software products, which are produced at the end of each step (or series of steps), can go into
production immediately as incremental releases.
16
CHAPTER 4
Testing
It brings all the pieces together into a special testing environment, then checks for errors, bugs
and interoperability. Software testing is the process of testing the software product. Effective
software testing will contribute to the delivery of higher quality software products, more satisfied
users, lower maintenance costs, more accurate, and reliable results. However, ineffective testing
will lead to the opposite results; low quality products, unhappy users, increased maintenance
costs, unreliable and inaccurate results.
Errors are present within the software under test. This cannot be the aim of
Software designers they must have designed the software with the aim of producing
it with zero errors.
Unit testing: A module is tested separately and is often performed by the coder himself
simultaneously along with the coding of the module. The purpose is to exercise the different
parts of the modules code to detect coding errors.
Integration Testing: The modules are gradually integrated into subsystems, which are then
integrated to eventually from the entire system. Integration testing is performed to detect design
errors by focusing on testing the interconnection between modules.
System Testing: After the system is put together, it is performed. The system is tested against the
system requirement to see if the entire requirements are met and if the system performs as
specified by the requirement.
Acceptance Testing: The final stage of initial development, where the software is put into
production and runs actual business. It is performed to demonstrate to the client, on the real life
data of the client, the operation of the system.
17
Unit Testing
Integration Testing
System Testing
Test
case id
Test case
name
Description
Acceptance Testing
Testing steps
Testing step
Testing
connection
Testing
wired
connection
Testing
wireless
connection
Testing file
transfer
4
Expected
Checking
proper
connection
between
devices
Send message
From one
Device to
another
Message transfer
successfully
Checking
proper wired
connection
Send message
From one
Device to
another
message transfer
successfully
Checking
proper
wireless
connection
Send message
From one
Device to
another
message transfer
successfully
Checking file
is transferred
properly or not
File transfer
successfully
18
Actual
Statu
s
(pass/
fail)
Test
prior
ity
Test
severit
y
Testing
closed
connection
Checking
connection is
closed after
file transfer or
not
Testing file
receive
activity
Checking file
is received or
not
file is not
transferred
file transfer
successfully
CHAPTER 5
REFERENCE
19