Project On FTP-CLIENT
Project On FTP-CLIENT
ON
FTP- CLIENT
SUBMITTED BY:
KUMARI SHIKHA
AKANKSHA GUPTA
B.TECH (CSE)
( 3rd YEAR)
UNITED COLLEGE OF ENGINEERING & RESEARCH
GREATER NOIDA
EMAIL-CLIENT Page 1
ACKNOWLEDGEMENT
He
has been one of our earliest motivators and from the very beginning
KUMARI SHIKHA
AKANKSHA GUPTA
EMAIL-CLIENT Page 2
PREFACE
EMAIL-CLIENT Page 3
TABLE OF CONTENTS
Chapter 1: Introduction
1.1 About the project
1.2 Goal of the project
1.3 Advantage of FTP-CLIENT
Chapter 2: Development Analysis
2.1 Feasibility Study
2.2 Types of feasibility
2.3 Methodology Used
2.4 Cost and Benefit Analysis
2.5 Software Requirement Specification
2.6 Hardware and Software platform
2.7 Scheduling
Chapter 3: Design.and Coding
3.1 Product Development Planning
3.2 System Design
3.3 Detailed Design
References
Bibliography
EMAIL-CLIENT Page 4
Chapter 1
1. Introduction
FTP –CLIENT
FTP ("File Transfer Program") allows you to "put" and "get" files to and from
remote machines so you can edit your programs on your local machine and
upload them when you are ready to compile. To make FTP work, you need a
client (your machine) and a server (the machine to/from which you are
putting/getting files). Most UNIX and file server machines operate an FTP
server for your file transferring pleasure so all you need to worry about is
operating the client software, and that's easy!
The basic FTP client is a command-line program. Most operating systems with
a command-line environment (e.g. DOS, UNIX, VMS) have a standard FTP
client program. To use the client, type "ftp <FTP Server>" (no quotes) where
<FTP Server> is the name (e.g. ftp.netscape.com) or IP address (e.g. 193.4.5.6)
of the FTP Server. Below is an example in DOS where I have ftp'd to a machine
called gaia.cc.gatech.edu.
EMAIL-CLIENT Page 5
Upon connection, the FTP Server prompts the user for a user id and password.
This is usually the same user id and password needed to log onto the machine.
After entering the user id and password, the FTP client is logged on as indicated
by the FTP prompt
The user can either "put" files from the client to the server or "get" file from the
server to the client. If you have been preparing a program to upload to the
server, you must "put" it onto the server. To put a file, you simply type "put
<filename>" at the FTP prompt where <filename> is the name of the file you
want to upload (e.g. put bob.c uploads the file bob.c). To download a file, you
simply type "get <filename>" at the FTP prompt. If you want to use wildcards
(e.g. to upload all ".c" files), use the mget or mput command ("m" stands for
"multiple"). For example, "mget *.c" downloads all files with the ".c"
extension.
EMAIL-CLIENT Page 6
An obvious question is "From what directory does the file I put come, and to
which directory does it go?" (or vice-versa for get). In FTP, you must keep
track of both the client and server directory. The client directory is the directory
from which you ftp'd. In the example above, I am in directory E:\tmp when I ftp
to the server. Any puts or gets (without an absolute pathname) will be put from
or gotten to this directory. When you FTP to a server, you are initially placed in
a default starting directory, usually your "home" directory on the server. To
determine where you are on the server, try the "pwd" (path of working
directory) command at the FTP prompt as in
EMAIL-CLIENT Page 7
You may traverse the directories on the server with the "cd" (change directory)
command and list the files in the current server directory with the "ls" (list)
command as in
You may change the current working directory of the client with the "lcd"
(local change directory) command. To see a list of commands, type "help" at
the ftp prompt. You may get help with a specific command by typing "help
<command>" (e.g. help lcd).
Graphical programs exist that hide the command-line complexities of FTP for
the Macintosh (e.g. Fetch) and PC (e.g. CuteFTP and WS-FTP) so you may
want to try these.
What is FTP
File Transfer Protocol, better known as FTP, is a procedure used to upload and
download files to and from your web server. FTP is a special way to login to
another Internet site for the purposes of retrieving and/or sending files.
In order to use FTP, you'll need to download and install a software program on
your computer. The most widely used FTP program is Smart FTP. You can find
it here: http://www.smartftp.com. Also check out other FTP Downloads here.
When you first launch the FTP program, a startup screen will appear. This
screen will enable you to add your website information and allow the program
EMAIL-CLIENT Page 8
to connect with your server. You simply fill in the information where indicated
with the following information:
Profile Name - This name will be added to the selection list of profile names.
Select your profile name according to your domain. For example, if your
domain name were smiths.com, your profile name might be Smiths.
Host Type - The type of server in which your website is hosted. The standard is
Unix.But you can probably skip it.
Depending on which FTP client you use, the names may be slightly different.
Once the FTP program has connected with your server,you will see the files on
your computer in the left window and the files on your server will be displayed
in the right window.
Transferring Files
To select more than one file at a time, click on each file you'd like to transfer
while holding down the Ctrl key on your keyboard. Keep in mind, all of the
files you select must be uploaded in the same mode. In other words, you could
upload all of your HTML files at the same time, or all of your images.
EMAIL-CLIENT Page 9
If all of the files you'd like to upload are all together, you can click on the first
file while holding down your Shift key and use the down arrow on your
keyboard to highlight all of your files.
Files such as text, HTML, and most scripts should be uploaded to your server in
ASCII mode. Any file that isn't ASCII text, such as programs (EXE, ZIP),
graphics, ebooks, sounds (WAV, MID) and movies should be uploaded to your
server in Binary mode.
EMAIL-CLIENT Page 10
Chapter 2
2. Development analysis:
EMAIL-CLIENT Page 11
develop the networking project which is an eminent programming technology
from Microsoft that applies a more streamlined, structured approach to build
Network and Media applications.
EMAIL-CLIENT Page 12
Ques: Will the proposed system cause harm?
Ans: We are expecting that our proposed system will not yield poor
results, control will be maintained, access to information would be easier
now, and overall it would result in better performance.
EMAIL-CLIENT Page 13
available buffer and stores the cell number in an array. At the time of
congestion a flag present in each switch structure is raised and the simulator
detects this flag. After detecting the flag simulator causes the new arriving cell
to be directly routed to the next switch in the route. After the end of bur sty
traffic the storage at the switch is used to forward the cells.
Cost and benefit analysis is performed to ascertain whether the cost of the
proposed system matches with the benefits that it will provide after use.
Hardware Cost: -
Personnel Cost: -
Facility Cost:-
Operating Cost:-
EMAIL-CLIENT Page 14
Include all cost associated with day-to-day operating of the system, such
as electric bill, room rent, salary of the operator etc.
Supply Cost: -
Variable cost associated with increased use of paper, ribbon, disks etc.
After calculating all the cost mentioned above and comparing it with
manual operation cost, we obtained that proposed project will provide
great benefits.
The origin of the most software is in need of a client , who either wants to
automate existing manual systems ordering a new software system. The
software system itself is created by the developer . Finally the users will use
the completed system. Thus , there are three major parties interested in a new
system : the client , the user and the developer. Somehow the requirements for
the system that will satisfy the needs of the clients and the concerns of the users
EMAIL-CLIENT Page 15
have to be communicated to the developer . This causes the communication gap
between the parties involved
in the developed projects.
One of the main purpose of SRS is to bridge the communication gap .
Another important purpose of developing the SRS is helping the client’s
understand their own needs. The advantages are:
An SRS establishes the basis for agreement between the client and the
supplier and what the software product will do.
An SRS provides a reference for validation of the final product.
• PROCESSOR REQUIREMENT:
A 500 megahertz (MHz) processor, such as the Intel Pentium / Celeron
family, AMD K6/Athlon/Duron family, or compatible processor.
Recommendation: A 750 MHz or faster processor.
EMAIL-CLIENT Page 16
2.5 SCHEDULING:
F.S
R.A.
S
T Design
A
G
E Coding
S
Testin
g
R.& M.
0 4 8 18 24 28 32
Time in weeks
EMAIL-CLIENT Page 17
Chapter 3
Design
3.1 Introduction:
The purpose of the design phase is to plan a solution for the problem specified by the
requirement document. This phase is the first step in moving from the problem domain to the
solution domain.
In other words, starting with what is needed; design takes us towards how to satisfy the need.
The output of this phase is the design document. This document is similar to a blueprint or
plan for the solution and is used later during implementation, testing, and maintenance.
EMAIL-CLIENT Page 18
The design activity is often divided into two separate System design and Detail design.
It is some times called top level design, aims to identify the modules that should
be in the system, the specification of these modules, and how they interact with
each other to produce the desired result.
The internal logic of each of the modules specified in system design is decided.
During this phase further Details of the data structure and algorithmic design of
each of the module is specified. The Logic of the module is usually specified in
high level design description language, which is independent of the target
language in which the software will eventually be implemented.
EMAIL-CLIENT Page 19
CHAPTER 4
Although mail user agents aim at enabling users to deal with their
mail with minimal technical knowledge, some understanding of the
operations involved is useful for making configuration decisions
appropriate to the user's requirements.
Retrieving messages from a mailbox
Submitting messages to a server
Formatting messages
Encryption of mail sessions
Retrieving messages from a mailbox
EMAIL-CLIENT Page 20
When accessing your mail with an mail client, there are usually several methods
to choose from. Ability Mail Server supports both POP3 and IMAP4, which are
the standard methods of access and which all good mail clients support. The
best method for you depends on your needs and how you intend to access your
account.
Access to remote mailboxes comes in two flavors. On the one hand,
the Post Office Protocol (POP) allows the client to download messages one at a
time and only delete them from the server after they have been successfully
saved on local storage. It is possible to leave messages on the server in order to
let another client download them. However, there is no provision for flagging a
specific message as seen, answered, or forwarded, thus POP is not convenient
for users who access the same mail from different machines or clients. On the
other hand, the Internet Message Access Protocol (IMAP) allows users to keep
messages on the server, flagging them as appropriate. IMAP provides sub-
folders. Typically, the Sent, Drafts, and Trash folders are created by default.
Formatting messages
Mail user agents usually have built-in the ability to display and edit text.
Invoking an external editor may be an alternative.
EMAIL-CLIENT Page 22
CHAPTER 5
TESTING
The design of tests for software and other engineered products can be
challenged as the initial design of the product itself. Yet, for reasons that we
have already discussed, software engineers often treat testing as an afterthought,
developing test cases that may “feel right” but have little assurance of being
complete. Recalling the objectives of testing, we must design tests that have the
highest likelihood of finding the most errors with a minimum amount of time
and effort.
A rich variety of test case design methods have evolved for software. These
methods provide the developer with a systematic approach to testing. More
important, methods provide a mechanism that can help to ensure the
EMAIL-CLIENT Page 23
completeness of tests and provide the highest likelihood for uncovering errors
in software.
At first glance it would seem that very thorough white box testing would
lead to “100 percent correct programs”. All we need do is define all logical
paths, develop test cases to exercise them, and evaluate results, that is, generate
test cases to exercise program logic exhaustively. Unfortunately, exhaustive
EMAIL-CLIENT Page 24
testing presents certain logical problems. For even small programs, the number
of possible logical paths can be very large. For example consider the 100 line
program in the language C. After some basic data declaration, the program
contains two nested loops that execute from 1to 2 times each, depending on
conditions specified at input. Inside the interior loop, four if-then-else
Constructs are required.
White box testing, sometimes called glass-box testing is a test case design
method that uses the control structure of the procedural design to derive test
cases. Using white-box testing methods, the software engineer can derive test
cases that
(1) Guarantee that all independent paths within a module have been exercised at
least once, (2) exercise all logical decisions on their true and false sides,
(3)execute all loops at their boundaries and within their operational bounds,
and(4) exercise internal data structures to ensures their validity.
A reasonable question might be posed at this juncture:” why spend time and
energy worrying about (and testing) logical minutiae when we might better
expend effort ensuring that program requirements have been met?” stated
another way, why don’t we spend all of our energy on black –box tests? The
answer lies in the nature of software defects:
EMAIL-CLIENT Page 25
work when we design and implement function, conditions, or control that
is out of the mainstream. Everyday processing tends to be well
understood, while “special case” processing tends to fall into the cracks.
2) We often believe that a logical path is not likely to be executed when, in
fact, it may be executed on regular intervals. The logical flow of a
program is sometimes counterintuitive, meaning that our unconscious
assumptions about flow of control and data may lead us to make design
errors that are uncovered only once path testing commences.
3) Typographical errors are random. When a program is translated into
programming language source code, it is likely that some typing errors
will occur. Many will be uncovered by syntax and type checking
mechanisms, but others may go undetected until testing begins. It is as
likely that a typo will exist on an obscure logical path as on a mainstream
path.
EMAIL-CLIENT Page 26
Initialization and termination errors.
Unlike white box testing, which is performed early in the testing process, black
box testing is to be applied during later stages of testing.
Black box testing was performed with the application code of the software
being developed to verify that it is functionally correct and gives appropriate
output at different situations of inputs. It was also verified that the software
takes a good care of exceptional conditions and errors are handled well and that
the software does not crash.
A strategy for software testing integrates software test case design methods into
a well-planned series of steps that result in the successful construction of
software. In many ways, testing is an individualistic process, and the number of
different types of tests varies as much as the different development approaches.
Unit testing focuses verification effort on the smallest unit software design- the
module. Using the procedural design description as a guide, important control
paths are tested to uncover errors within the boundary of the module. The
module interface is tested to ensure that information properly flows into and out
of the program unit under test. The local data structure is examined to ensure
that data stored temporarily maintains its integrity during all steps in
algorithmic execution. Boundary conditions are tested to ensure that the module
operates properly at boundaries established to limit or restrict processing. All
independent paths (bases paths) through the control structure are exercised to
EMAIL-CLIENT Page 27
ensure that all elements in a module have been executed at least once. And
finally all error-handling paths are tested.
Application interface of our system was unit tested at all levels of
implementation, right from start of code writing, to integrating the code with
other modules. Every module was tested fully to check its syntax and logical
correctness. Error handling was implemented into relevant modules so that the
code doesn't crash on errors.
User interface of i-Admit was developed in modules. All of them were joined
together to make the complete running application. While integrating these
modules, integration testing was performed on them to verify that they meet all
interfacing requirements and that they pass relevant information among
themselves. In the end the complete program structure was tested to ensure
interoperability of all the modules.
EMAIL-CLIENT Page 28
5.2.5 VALIDATION TESTING:
EMAIL-CLIENT Page 29
5.2.7 BETA TESTING:
The Beta test is conducted at one or more customer sites by the end user of the
software. Unlike alpha testing the developer is generally not present. Therefore
the beta test is a live application of the software in an environment that cannot
be controlled by the developer. The customer records all problems that are
encountered during beta testing and reports these to the developer at regular
intervals. As a result of problems reported during beta test the software
developer makes modification and then prepares for the release of software
product to the entire customer base.
Beta testing of our system is not performed as the product is not yet fully
developed and has not been installed at the user site as it still is in the
development phase. Beta testing will be performed when the software is
deployed at the user's site.
Many computer-based systems must recover from faults and resume processing
within a pre-specified time. In some cases a system must be fault tolerant that is
processing faults must not cause overall system function to cease. Recovery
EMAIL-CLIENT Page 30
testing is a system test that forces the software to fail in a variety of ways and
verifies that recovery is properly performed. If recovery is automatic, re-
initialization, check pointing mechanisms, data recovery, and restart are each
evaluated for correctness. If recovery requires human intervention the meantime
to repair is evaluated to determine whether it is within acceptable limits.
EMAIL-CLIENT Page 31
Chapter 6
MAINTENANCE
EMAIL-CLIENT Page 32
Chapter 7
IMPLEMENTATION
EMAIL-CLIENT Page 33
using the minimum possible software and hardware requirements. In the
implementation phase we make sure that the software is user friendly so that
any new user can easily operate on it. Any changes in the software and
hardware requirements must be specified in this phase. Hence, the
implementation of this project can be achieved even by the users whose have
limited knowledge about the computer and the java. The implementation is over
only when the software or in this case the project fulfills the required function
for which it has been developed.
Objectives of Implementation:
In this phase, the system or system modifications are installed and made
operational in a production environment. The phase is initiated after the system
has been tested and accepted by user and Project Manager. Activities in this
phase include notification of implementation to end users, execution of the
previously defined training plan, data entry or conversion, and post
implementation review. This phase continues until the system is operating in
production in accordance with the defined user requirement.
EMAIL-CLIENT Page 34
Chapter 8
If we further modify this project then it can also used as a big project for any
project is not able to cover all the needs required for an FTP-CLIENT system.
EMAIL-CLIENT Page 35
REFERENCES:
BIBLIOGRAPHY:
PRESSMAN
9.WEB LINKS
10.http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/
JDBC20.html#JDBC202_5
EMAIL-CLIENT Page 36
11.http://www.jdbc-tutorial.com/jdbc-tutorials/jdbc-select-statement-
example
EMAIL-CLIENT Page 37