Professional Documents
Culture Documents
1 OBJECTIVE
The aim of the project is to define an additional function of a smart phone operated as a wireless USB storage device. To connect wirelessly with a host computer, USB/IP gadget transmits data through IP layer.
1.3.1.4Wireless MAN:
Wireless metropolitan area networks are a type of wireless network that connects several wireless LANs..WiMAX is a type of Wireless MAN
Global System for Mobile Communications (GSM): The GSM network is divided into three major systems: the switching system, the base station system, and the operation and support system. The cell phone connects to the base system station which then connects to the operation and support station; it then connects to the switching station where the call is transferred to where it needs to go. GSM is the most common standard and is used for a majority of cell phones
Personal Communications Service (PCS): PCS is a radio band that can be used by mobile phones in North America and South Asia. Sprint happened to be the first service to set up a PCS.
D-AMPS: Digital Advanced Mobile Phone Service, an upgraded version of AMPS, is being phased out due to advancement in technology. The newer GSM networks are replacing the older system
1.3.2 USES:
Some examples of usage include cellular phones which are part of everyday wireless networks, allowing easy personal communications. Another example, Inter-continental network systems, use radio satellites to communicate across the world. Emergency services such as the police utilize wireless networks to communicate effectively as well. Individuals and businesses use wireless networks to send and share data rapidly, whether it be in a small office building or across the world. In a general sense, wireless networks offer a vast variety of uses by both business and home users.
Performance
Each standard varies in geographical range, thus making one standard more ideal than the next depending on what it is one is trying to accomplish with a wireless network. The performance of wireless networks satisfies a variety of applications such as voice and video. The use of this technology also gives room for future expansions. As wireless networking has become commonplace, sophistication increased through configuration of network hardware and software.
Space
Space is another characteristic of wireless networking. Wireless networks offer many advantages when it comes to difficult-to-wire areas trying to communicate such as across a street or river, a warehouse on the other side of the premise or buildings that are physically separated but operate as one. Wireless networks allow for users to designate a certain space which the network will be able to communicate with other devices through that network. Space is also created in homes as a result of eliminating clutters of wiring.This techonology allows for an alternative to installing physical network mediums such as TPs, coaxes, or fiber-optics, which can also be expensive.
Home
For homeowners, wireless technology is an effective option as compared to ethernet for sharing printers, scanners, and high speed internet connections. WLANs help save from the cost of installation of cable mediums, save time from physical installation, and also creates mobility for devices connected to the network. Wireless networks are simple and require one single wireless access point connected directly to the Internet via a router.
Disadvantages are: Speed is less Needs connecting cable Data transfer rate is less
Economical feasibility:
Economical feasibility deals about the economical impact faced by the organization to implement a new system. Not only cost of hardware, software etc is considered but also the benefit in the form of reduced costs.
Technical feasibility:
Technical consideration evaluates the hardware requirements, software etc. this project Mail Transfer System uses Java as front end and My Sql as back end. As per the requirements both these software and hardware were already exists makes this project technically feasible.
Operational feasibility:
Due to the recent technological advancement the hardware cost are dramatically reduced and easily available in the global market. This fact determines the economical feasibility to some extent.
3.3.1 ANDROID OS
Android is an operating system based on Linux with a Java programming interface.The Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs.Android allows background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database.Android applications consist of different components and can re-use components of other applications, if these applications declare their components as available.
3.3.2 JAVA
Java technology is both a programming language and a platform. Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic
With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes the platform-independent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction on the
computer. Compilation happens just once; interpretation occurs each time the program is executed. You can think of Java byte codes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether its a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java byte codes help make write once, run anywhere possible. You can compile your program into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an Im
The Java platform has two components: The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API)
compile your program into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac. Design goals
Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol) sockets, and IP (Internet Protocol) addresses.
Internationalization: Help for writing programs that can be localized for users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.
Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI).
Java Database Connectivity (JDBC): Provides uniform access to a wide range of relational databases.
10
The Eclipse Platform uses plug-ins to provide all functionality within and on top of the runtime system, in contrast to some other applications, in which functionality is hard coded. The Eclipse Platform's runtime system is based on Equinox, an implementation of the OSGi core framework specification. This plug-in mechanism is a lightweight software componentry framework. In addition to allowing the Eclipse Platform to be extended using other programming languages such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeX, networking applications such as telnet and database management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systems provided by third-party plug-ins. With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means that every plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect, all features are "created equal".[citation needed] Eclipse provides plug-ins for a wide variety of features, some of which are through third parties using both free and commercial models. Examples of plug-ins include a UML plug-in for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others. The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace "resource" is refreshed afterwards. Eclipse implements widgets through a widget toolkit for Java called SWT, unlike most Java applications, which use the Java standard Abstract Window Toolkit (AWT) or Swing. Eclipse's user interface also uses an intermediate graphical user interface layer called JFace, which simplifies the construction of applications based on SWT.Language packs provide translations into over a dozen natural languages.
11
Eclipse provides the Rich Client Platform (RCP) for developing general purpose applications. The following components constitute the rich client platform:
Equinox OSGi a standard bundling framework Core platform boot Eclipse, run plug-ins[citation needed] Standard Widget Toolkit (SWT) a portable widget toolkit JFace viewer classes to bring model view controller programming to SWT, file buffers, text handling, text editors Eclipse Workbench views, editors, perspectives, wizards
3.3.4 CONNECTIFY
Connectify is a software router for Microsoft Windows developed by Connectify. It can enable a Windows PC with a Wi-Fi device to act as a wireless access point. This enables users to share files, printers, and internet connections between multiple computing devices without the need for a separate physical access point or router. Simple wireless ad-hoc networking was introduced in the Windows operating system family with Windows XP. Windows 7 added support for the Virtual Wi-Fi, which allows a single physical wireless adapter to be split into two logical adapters. Connectify takes advantage of this feature to create an infrastructure mode wireless network and effectively turn the Windows 7 PC into a wireless access point. Connectify is released on the freemium model. The free Connectify Lite license delivers basic wireless access point functionality. Some features in this edition are limited; for example, the SSID of a Connectify Lite network will always start with "Connectify-". Additional paid Connectify Pro features include wireless repeater capability, more complete 3G/4G network sharing, automatic configuration features, firewall controls and priority technical support. Connectify was the widely available application that exploited the Virtual Wi-Fi capabilities of Microsofts Windows 7 operating system. The developers first offered the program as a beta version that could be freely downloaded from their website. The application
12
has now been refined to a stable and full version. The latest iteration is version 1.2 which is said to correct many bugs with improvement to the user interface. The application is still free and it doesnt appear that the developers intend to make a commercial or retail version. One way that they can go is to produce a sstrp down version as a free version while they can create a more versatile version with lots of features, customer support and security as their commercial version. Not different from what some antivirus companies do. Virtual Wi-Fi in Windows 7; Virtual Wi-Fi is one of the features that Microsoft introduced in Windows 7 operating system. It apparently did not get much attention until possibly after the Connectify application came into being. The Virtual WiFi of Windows 7 makes it possible to use the wireless networking adapter of a computer system as a wireless hotspot to connect additional systems. The Connectify application exploits this hidden virtual Wi-Fi in the lines of code in windows 7 to create the Wireless network or hotspot. The installation takes a very short time. It is installed in less than a minute. In the 1.2 version which is the latest, the icon seats in the system tray in the right hand corner of the task bar. Sometimes in the system tray of the task bar. The features of Connectify are quite straight forward. It enables the windows 7 laptop to create a Wi-Fi hotspot with or without an internet connection without any additional hardware. You can then connect your Wi-Fi enabled home gadget or devices. With the Connectify application, users can wirelessly share any Internet connection: a cable modem, a cellular card, or even another Wi-Fi network seamlessly. Other Wi-Fi enabled devices including laptops, smart phones, PMPs, music players, and gaming systems can see and join the Connectify hotspot just like any other Wi-Fi access point and are kept safe and secure by password-protected WPA2 Encryption. Connectify started with a Beta Version which came out in late 2009. This was replaced with version 1.1. And now supplanted with Version 1.2. The Version 1.2 was released March 29, 2010 with some improved features including;
13
Improved Ad Hoc Support: By popular demand, Ad Hoc now supports "Open" (no encryption) mode.
Connectify Easy Setup Wizard: This was not there in version 1.1. And just like the windows setup wizard, it guides you step by step throughout the process of setup.
Improved User Interface: The Connectify window now stays visible until you minimize it. This is important so that you can keep it up to watch devices connect or even snap a snipping tool picture of it. The other improvement to the UI includes messages and tool tips throughout the program.
More Statistics: The tool tip on the Clients now reveal more information. Examples include how many times the device has connected, the total time that they've been connected, and their MAC addresses.
The hardware requirement of the Connectify application requires only a Computer with Microsofts Windows 7 operating system. The System also needs to have an inbuilt Wireless LAN card. No information on whether it would work with an external WLAN card is available
14
4.1 INTRODUCTION
The System Design describes the system requirements, operating environment, system and subsystem architecture, files and database design, input formats, output layouts, human-machine interfaces, detailed design, processing logic, and external interfaces. Purpose and Scope.
4.2 ARCHITECTURE
System Mobile phone
in
Transfer Files
Phone memory
15
The following should be provided, if appropriate: Identification of codes and names for reports and data display screens Description of report and screen contents (provide a graphic representation of each layout and define all data elements associated with the layout or reference the data dictionary) Description of the purpose of the output, including identification of the primary users Report distribution requirements, if any (include frequency for periodic reports) Description of any access restrictions or security considerations
4.5 DATA FLOW DIAGRAM Purpose/Objective: The purpose of data flow diagrams is to provide a semantic bridge between users and systems
developers.
16
The diagrams are Graphical, eliminating thousands of words Logical representations, modeling WHAT a system does, rather than physical models showing HOW it does it Hierarchical, showing systems at any level of detail
Description:
Data Flow Diagrams are composed of the four basic symbols
The External Entity symbol represents sources of data to the system or destinations of data from the system.
The Data Flow symbol represents movement of data. The Data Store symbol represents data that is not moving (delayed data at rest). The Process symbol represents an activity that transforms or manipulates the data (combines, reorders, converts, etc).
Procedure:
The procedure for producing a data flow diagram is to, 1. Identify and list external entities providing inputs/receiving outputs from system. 17
2. Identify and list inputs from/outputs to external entities. 3. Create a context diagram with system at center and external entities sending and receiving data flows. 4. Identify the business functions included within the system boundary. 5. Identify the data connections between business functions. 6. Confirm through personal contact sent data is received and vice-versa. 7. Trace and record what happens to each of the data flows entering the system (data movement, data storage, data transformation/processing) 8. Attempt to connect any diagram segments into a rough draft. 9. Verify all data flows have a source and destination. 10. Verify data coming out of a data store goes in. 11. Redraw to simplify--ponder and question result. 12. Review with "informed". 13. Explode and repeat above steps as need
Obtain IP address
User login
Search device
5.1.2 IP connection:
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network
5.1.2.1Features: Any-to-any connectivity - The ability to create an efficient fully connected network providing any-to-any communication among system to mobile. Security - Enabled by establishing Network connectivity over network. Flexibility - Simplicity in redefining the customer network topology.
Scalability - Networks architecture easily adapts to growth in complexity and volume in the mobile.
19
Quality of Service - Support of different Guaranteed Classes of Services depending on System to mobile requirements. Availability & Reliability - Supported by redundancy in mobile network.
20
21
22
23
24
25
26
A good test care is one that has a high probability of finding an as yet undiscovered error. A successful test is one that uncovers and as yet undiscovered error. The software developed has been tested successfully using the following strategies and any errors that are encountered are corrected and again the part of the program or the procedure or function is put to testing until all the errors are removed.
27
Module Testing
Integrated Testing
UNIT TESTING:
Unit testing focuses verification effort on the smallest unit of the software design. This project compromises the set performed by an individual programmer prior to the integration of the unit into a larger system. This testing is carried out during the coding itself. In this testing step each module such as registration, login, etc going to be working satisfactorily as the expected output from the module.
MODULE TESTING:
Since it is a real time project the modules in this project may collects inputs from another module or any sub modules. Likewise they can forward their output as inputs to some modules or sub modules. So a module testing is one of the important testing in system development cycle. This testing is used in login module. The output form registration is used as input for login module.
28
INTEGRATION TESTING:
In this project the data can be lost across an interface; one module can have adverse effort on another, sub function when combined may not produced the desired function. Integration testing is a systematic technique for constructing the program while at the same time conducting test to uncover errors associated within the interface. The objective is to take unit-tested module and built the program structure that has been dictated by design. All modules are combined in this testing. The entire program is tested a whole. Correction is difficult at this stage because the isolation of module. At the integration testing, software is completely assembled as a package. Interfacing errors have been uncovered and corrected and a final series of software test validation testing begins. Validation testing can be defined in many ways, but a simple definition is that validation succeeds when the software functions in manner that is reasonably expected by the customer. Software validation is achieved through a series of black box tests that demonstrate conformity with requirement. After validation test has been conducted, one of the two conditions exists. he function or performance characteristics confirm to specification and are accepted. A validation from specification is uncovered and a deficiency created. Deviation of errors discovered at this step in this project is corrected prior to the completion of the project with the help of the user by negotiating to establish a method for resolving deficiencies. Thus the proposed system under consideration has been tested by using validation testing and found to be working satisfactorily
Tester and programmer are independent of each other Tests are done from a users of view. Black Box Test will help to expose any ambiguities or inconsistencies in specification 29
Disadvantages of Testing:
Only a small number of possible inputs can actually be tested. To test every possible input stream would take nearly forever without clear and concise specifications.
Test cases are hard to design. There may be unnecessary repetition of test inputs, if the tester is not informed of test cases the programmer has already tried may leave many program paths untested cannot be directed toward specific segment of code which may be very complex most testing related research has been directed toward glass box testing.
Testing strategies/Techniques:
Black Box Testing should make use or randomly generated inputs (only a test range should be specified by the tester), to eliminate any guess work by the tester as to the method of the function.
Data outside of the specified input range should be tested to check the robustness of the program. Boundary cases should be tested (top and bottom of specified range) to make sure the highest and lowest allowable inputs produce proper output. The number zero should be tested when numerical data is to be input. Stress testing should be performed, especially with real time systems. Crash Testing should be performed to see what it takes to bring the system down. Test monitoring tools should be performed to see what it takes to bring the system down. Other functional testing techniques include, transaction testing, syntax testing, domain testing, logic testing, and state testing.
30
CHAPTER 7
CONCLUSION
We have proposed the current distribution of smart phones and needs of additional function from usage model perspective.As an addional function of conventional smart phones,we propose the method how to transfer Android phone into wireless USB storage through USB/IP connection and show the prototype implementation.In this project we have two phases namely connection establishment using IP address and port number and file transfer.From the existing system we have added the following features namely speed, transmission range, frequency and security.
31
32
REFERENCES
Ken Arnold and James Gosling, The Java Programming Language, second ed., AddisonWesley, 2000.
Peter Coad and Mark Mayfield, Java Design: Building Better Apps and Applets, Yourdon Press, 1996.
Gary Cornell and Cay S. Horstmann, Core Java, second ed., SunSoft Press, 1999.
Graham Hamilton and Rick Cattell and Maydene Fisher, JDBC Database Access with Java: A Tutorial and Annotated Reference, SunSoft Press, 2007.
George Reese, Database Programming with JDBC and Java, O'Reilly, 1997.
33