0% found this document useful (0 votes)
582 views37 pages

Project On FTP-CLIENT

This document provides an overview and introduction to an FTP client project report. It discusses what FTP is used for, transferring files between a client and server. The goal of the FTP client project is to create a user-friendly Java application that allows users to manage emails from a specified address on the web. Advantages of the FTP client over webmail include better offline capability, control over mailbox checking frequency, and increased security through session encryption.

Uploaded by

Akanksha Gupta
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
582 views37 pages

Project On FTP-CLIENT

This document provides an overview and introduction to an FTP client project report. It discusses what FTP is used for, transferring files between a client and server. The goal of the FTP client project is to create a user-friendly Java application that allows users to manage emails from a specified address on the web. Advantages of the FTP client over webmail include better offline capability, control over mailbox checking frequency, and increased security through session encryption.

Uploaded by

Akanksha Gupta
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 37

PROJECT REPORT

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

Many have contributed to the successful preparation of this text. We

would like to place on record our grateful thanks to each of them.

First and foremost we will forever be indebted To our guide

He

has been one of our earliest motivators and from the very beginning

he has been the source of all kinds of assistance.


.

KUMARI SHIKHA
AKANKSHA GUPTA

EMAIL-CLIENT Page 2
PREFACE

The main aim of science technology is to understand natural


events . Computer is a gift of science , which works like a brain.
Modern age is a age of computers. Computer has just become a part
of our lives.

Computer can store much information and solve our problems


within very short duration. So keeping these things in view , I have
computerized my project work on FTP-CLIENT.

That is why we have maintained this project work on the java


language paradigm.

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

Chapter 4:Functionality and configuration


Chapter 5: Testing
5.1 Testing Objectives
5.2 Types of Testing
5.2.1 White Box Testing
5.2.2 Black Box Testing
5.2.3 Unit Testing
5.2.4 IntegrationTesting
5.2.5 Validation Testing
5.2.6 Alpha Testing
5.2.7 BetaTesting
5.2.8 System Testing
5.2.9 RecoveryTesting
5.2.10 Security Testing
5.2.11 PerformanceTesting
Chapter 6: Maintaineance
Chapter 7: Implementation
Chapter 8: Limitation and Future scope

References

Bibliography

EMAIL-CLIENT Page 4
Chapter 1

1. Introduction

1.1 About the project

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.

How to use FTP

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 Name/Address - Your domain name address.


Example - www.candidinfo.com

Host Type - The type of server in which your website is hosted. The standard is
Unix.But you can probably skip it.

User ID - Your hosting User ID. Example - candidinfo.

Password - Your hosting password.

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 maneuver through your folders, simply double click on them. To transfer


your files, either double click on the file or highlight it and then click on the
transfer files arrow.

Sometimes, you will have to upload your files to a special directory,


like WWW or Public_HTML, but most providers let`s you upload the files to
the current directory.

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.

1.2 Goal of project;


The main objective of our FTP-CLIENT is to create a FTP Client which can
manage mails from a specified email address on the web. It should have the
afore mentioned functionality and it’s usability should be suitable for novice
users.

1.4 Advantage of FTP-CLIENT:


 The main drawbacks of webmail are that user interactions are subject to
network response and that there is no offline capability. For instance,
while webmail generally provides the best experience over broadband, an
email client can provide a satisfactory experience over dialup, and
messages can be searched and viewed without an internet connection.
 Both POP and IMAP clients can be configured to access more mailboxes
at the same time, as well as to check each mailbox every given number of
minutes.
 It is more secure than the web based emails because it makes use of
session encryption which is a robust technique.

EMAIL-CLIENT Page 10
Chapter 2

2. Development analysis:

2.1 Feasibility Study:


Putman and Myers address this issue “…..not everything imaginable is
feasible, not even in software, evanescent as it may appear to outsiders. On the
contrary, software feasibility has four solid dimensions:
Technology- Is a project technically feasible? Is it with in the
state of the art?Can defects be reduced to a level matching the
application’s needs?
Finance- Is it financially feasible? Can development be completed at a
cost of the software organization, its client, or the market can afford?
Time- Will the project’s time to market beat the competition?
Resources-Does the organizations have the resources needed to
succeed?”
2.2 Types of feasibility:

Technical feasibility: - It involves determining whether or not a system can


actually be constructed to solve the problem at hand. The technical issues raised
during the feasibility stage of investigation are:

Ques: Dose the necessary technology exist (can it be acquired) to do what


is suggested?
Ans: Yes, as this project will be build to run on autonomous computer
system, and as the C is the one and only one middle level language used to

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.

Ques: Can the system be expanded, if developed?


Ans: Of course, the system can be expanded to very large extent. As Our
scope of the project is to develop a software based on the user’s requirement,
using C programming So we can add many new modules according to the
user’s need in future very easily.
It can be also embedded in a switch to increase it’s efficiency and visualize the
cell transmission.

Operational feasibility: - Here we check whether we are getting the desired


output or not. In this we minimize the difference between the actual output and
the desired output.
Proposed project of course is beneficial to the present computer scenario in
network applications and its Graphical User interfaces and will meet the
programmer’s operating requirements.
Here are some questions that will help test operational feasibility of the project:
Ques: Is there sufficient support of the project from the management?
From users?
Ans: We have covered all the details to develop a system satisfying the
needs of all the network users, also providing some user friendly features
which are highly helpful for users such as Log files management.

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.

Organizational feasibility: - It includes how well the proposed project supports


the objective of an organization & its strategic plans. The main objective of our
project is developing the software that will provide assistance to users in the
monitoring of cells transmission.

Financial feasibility: It involves estimating cost and benefits. The benefits or


cost may be tangible or intangible. Tangible costs include preventing costly but
frequent errors, increasing control over the system. These benefits may be
directly calculated in rupees. Intangible benefits include increasing the quality,
upgrading and creating new customer services, reducing repetitive or
monotonous work.

2.3 Methodology Used

The approach used to simulate the network components is the structure.


For source, destination, switch, cell there are structures with appropriate fields.
The events such as source send, destination receive etc are simulated by logging
the source number, destination number, cell number in the log files. Cells
header information is filled at the time of configuration and this information is
used through out the simulation process. Congestion is detected with the help of
available buffer in the switch. Buffer is assigned in the form of number of cells.
Until when the buffer is available at the switch it decreases the value of

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.

2.4 Cost and Benefit Analysis

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.

The various kinds of costs incurred in the development and implementation of


the system, includes

Hardware Cost: -

Incurred in purchase of the hardware in the development i.e. computers


and its peripherals.

Personnel Cost: -

Include salaries of the staff as well as the perks of personnel involved in


the development of the system.

Facility Cost:-

Expenses incurred in the preparation of the physical site and facility


provided to the developer.

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.

2.5 Software Requirement Specifications;

The software requirement specification(SRS) is a document that completely


describes what the proposed software should do without describing how
the software will do it. Since , the system specifications are prepared as a plan
, it becomes sometimes necessary to modify it after taking into consideration
the practical difficulties or errors found during later stages of
development. However , producing the SRS is easier said than done .
System specifications should include all the working of the system.
A basic limitation for this is that the user needs keep changing as the
environment in which the system way to change with time.

NEED FOR SRS:

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.

2.6 Hardware and Software platform:


Hardware Requirement:

• 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.

• RAM REQUIREMENT: 128 megabytes (MB) of RAM.

• DISPLAY: 256 colors, 640X480 resolution


SOFTWARE REQUIREMENT:

• Operating System Requirement:


Microsoft Windows 98/XP and above.
• Language: ‘java’ language.

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.

3.1 System 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.

3.2 Detail design:

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

FUNTIONALITY AND CONFIGURATION

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.

Submitting messages to a server


 As a basic function, an email client is able to introduce new messages in

the transport system. Typically, it does so by connecting to either an


MSA(Mail Submission Agent) or an MTA(mail transfer Agent), two
variations of the SMTP protocol. Since the SMTP protocol has an
authentication extension, is to authenticate. Client settings require the
name or IP address of the preferred outgoing mail server, the port
number (25 for MTA, 587 for MSA), and the user name and password
for the authentication, if any. There is a non-standard port 465 for SSL
encrypted SMTP sessions, that many clients and servers support for
backward compatibility. Transport Layer Security encryption can be
EMAIL-CLIENT Page 21
configured for the standard ports, if both the client and the server support
it.

Formatting messages
Mail user agents usually have built-in the ability to display and edit text.
Invoking an external editor may be an alternative.

ENCRYPTION OF MAIL SESSIONS


All relevant e-mail protocols have an option to encrypt the whole session.
Remarkably, those options prevent a user's name and password from being
sniffed, therefore they are recommended for nomadic users and whenever the
internet access provider is not trusted. On sending mail, users can only control
encryption at the hop from a client to its configured outgoing mail server. At
any further hop, messages may be transmitted with or without encryption,
depending solely on the general configuration of the transmitting server and the
capabilities of the receiving one.

EMAIL-CLIENT Page 22
CHAPTER 5
TESTING

5.1 Testing objective:

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.

Any engineered product can be tested in one of two ways:

1) knowing the specified function that a product has been designed to


perform, tests same time searching for errors in each functions
2) Knowing the internal workings of a product, tests can be conducted to
ensure that “all gears mesh” that is, internal operations are performed
according to specifications and all internal components have been
adequately exercised. The first test approach is called black-box testing
and the second, white box testing.
When computer software is considered, black box testing alludes to tests that
are conducted at the software interface. Although they are designed to uncover
errors, black-box tests are used to demonstrate that software functions are
operational, that input is properly accepted and output is correctly produced,
and that the integrity of external information is maintained. A black box testing
examines some fundamental aspect of a system with little regard for the internal
logical structure of the software.

White box testing of software is predicated on close examination of procedural


detail. Providing test cases that exercise specific sets of conditions and/or loops
tests logical paths through the software. The status of the program may be
examined at various points to determine if the expected or asserted status
corresponds to the actual status.

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.

5.2 TYPES OF TESTING:

5.2.1 WHITE BOX TESTING:

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:

1) Logic errors and incorrect assumptions are inversely proportional to the


probability that a program will be executed. Errors tend to creep into our

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.

5.2.2 BLACK BOX TESTING:

It focuses on the functional requirements of the software. That is black box


testing enables the software engineer to derive sets of input conditions that will
fully exercise all functional requirements for a program. Black box testing is not
an alternative to white box techniques. Rather it is a complementary approach
that is likely to uncover a different class of errors than white box methods.
Black box testing attempts to find errors in their following categories

 Incorrect or missing functions Interface errors


 Errors in data structures or external data base access
 Performance errors

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.

5.2.3 UNIT TESTING:

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.

5.2.4 INTEGRATION TESTING:

Integration testing is a systematic technique for constructing the program


structures, while conducting test to uncover errors associated with interfacing,
the objective is to take unit tested modules and build a program structure that
has been dictated by design.

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:

At the culmination of integration testing software is completely assembled as a


package: interfacing errors have been uncovered and corrected and a final series
of software tests - Validation Testing may begin. Validation can be defined in
many ways, but a simple definition is that validation succeeds when software
functions in a manner that can be reasonably expected by the customer
Software validation is achieved through a series of Black Box tests that
demonstrate conformity with requirements.

5.2.6 ALPHA TESTING:

It is virtually impossible for a software developer to foresee how the customer


will really use a program. When custom software is built for one customer a
series of acceptance tests are conducted to enable the customer to validate all
requirements.
A customer conducts the alpha test at the developer site. The software is used in
a natural setting with the developer "looking over the shoulder" of the user and
recording errors and usage problem. Alpha tests are conducted in a controlled
environment.
Alpha tests were performed at our development site with the help of our friends,
who were called and asked to run the program in the manner they like, without
our guidance and errors and usage problems were noted and code was updated
to remove all of them.

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.

5.2.8 SYSTEM TESTING:

Ultimately software is incorporated with other system elements (new hardware,


information) and a series of system, integration and validation tests are
conducted. It is actually a series of different tests whose primary purpose is to
fully exercise the computer-based system. Although each test has a different
purpose all work to verify that all system elements have been properly
integrated and perform allocated functions.

5.2.9 RECOVERY TESTING:

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.

5.2.10 SECURITY TESTING:

Security Testing attempts to verify protection mechanism built into a system


will in fact protect it from improper penetration. Security is provided for each
user by giving them login name and password. Security testing was done, as
any other anonymous user can't log in with a user password if the user is
already logged in.

5.2.11 PERFORMANCE TESTING:

Performance Testing is designed to test run time performance of software


within the context of an integrated system. Performance Testing occurs
throughout all steps in the testing process. Performance tests are often coupled
with stress testing and often require both hardware and software
instrumentation. That is it is often necessary to measure resource utilization in
an exacting fashion.

EMAIL-CLIENT Page 31
Chapter 6

MAINTENANCE

Maintenance is the enigma of system development . Analyst and Programmers


spend for more time maintaining program than writing them. Maintenance
accounts for 50 to 80 percent of total system development.

Maintenance is handled by the same planning and control used in format


system projrct. Documentation is as much a part of maintenance as that of
system development . Program changes are then tested and submitted to the
user for approval.. Once approved a project completion notice send to the
user , signaling the termination of the project.

EMAIL-CLIENT Page 32
Chapter 7

IMPLEMENTATION

After the successful testing of the software we implement our system in a


particular lab. It is very important part of software development as we complete
our software than we go for the installation of the software to the user end.
Where we keep in mind the hardware & software requirements and plus we also
train the employee who do not have knowledge of computers. Though we have
made the software user friendly but than also we prepare user manual to operate
the software easily & safely. Implementation is the most important part of
software development. In this phase after the completion of the software we go
for its installation on the system. In this phase we keep in mind that it takes the
minimum amount of software and hardware requirements in order to perform its
various tasks correctly and accurately. The software should be such that even a
naïve user can easily operate all its functions properly. In the implementation
phase we make sure that the software is performing all its desired tasks properly

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

Limitations and Future Scope:

If we further modify this project then it can also used as a big project for any

company. Limitation of this project is Due to unavailability of time. This

project is not able to cover all the needs required for an FTP-CLIENT system.

EMAIL-CLIENT Page 35
REFERENCES:

[1] “ Reference Model” at


http://citeseer.nj.nec.com/altman99congestion.html

BIBLIOGRAPHY:

1.Software Engineering A Practitioner’s Approach: ROGER S.

PRESSMAN

2.An Integrated Approach to Software Engineering: PANKAJ JALOTE

3.Structured Analysis and Design (CS-05) of IGNOU

4.Complete reference java

5.E. balaguruswamy for core java.

6.Learning SQL by Ramesh Bangia

7.Black Book Java by Holzner

8.Complete Reference Java

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

You might also like