mail tracker documentation.doc

67
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER INDEX CONTENTS PGNO 1. Introduction 1.1 Introduction to Project 2 1.2 Introduction to Modules 3 2. Analysis 2.1 Identification of Need 5 2.2 Feasibility Study 6 2.3 Problem Specification 8 2.4 Requirement Specification 9 2.4.1 Functional requirements 9 2.4.2Hardware requirements 2.4.3software requirements 3. Software 10 4. Design 23 4.1 Software Paradigm 23 4.2 Normalization 24 4.3 Data Dictionary 25 4.4 E-R Diagrams 27 4.5 Data Flow Diagrams. 32 1 DEPARTMENT OF CSE TKRCET

Transcript of mail tracker documentation.doc

Page 1: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

INDEX

CONTENTS PGNO

1. Introduction

1.1 Introduction to Project 2

1.2 Introduction to Modules 3

2. Analysis

2.1 Identification of Need5

2.2 Feasibility Study6

2.3 Problem Specification 82.4 Requirement Specification

92.4.1Functional requirements 92.4.2Hardware requirements

2.4.3software requirements

3. Software 10

4. Design 23

4.1 Software Paradigm 234.2 Normalization 244.3 Data Dictionary

254.4 E-R Diagrams 274.5 Data Flow Diagrams.

32

5. Output Screens (Forms)34

6. System Testing and Implementation

6.1 Test Data51

6.2 Validations 52

1DEPARTMENT OF CSE TKRCET

Page 2: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

7. Conclusion 53

8. Scope for Expansion 54

9. Bibliography 55

2DEPARTMENT OF CSE TKRCET

Page 3: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

1.INTRODUCTION

1.1 INTRODUCTION TO PROJECT

The Objective of this system is to illustrate the use of Tracking. Email

Tracker is an application, which is used to trace the mails send by the users.

There may be many employees in any organization it is very difficult to

maintain them to restrict in not using the mail servers, so this proposed

TRACKER is going to keep track of all the transactions of any user.

If anyone sends an email, then as well as the message itself, they

include the recipient's email address. The mail transmission system uses the

address to route the message to the recipient's - this is just a computer

system equipped for storing and providing access to email. The mail server

holds the message until the recipient connects to it and checks the mail.

To use email, you need to register on a mail server system. This

provides:

An email address so that your incoming messages stores at the right

place

A private mail storage area that will hold incoming messages until they

get read

Secure access to that area with username and password

It also provides an area for you to store messages once they are read.

KEY GOALS OF THIS PROJECT:

Fully compatible with Internet messaging standards.

Allow message access and management from more than one

computer.

Client needs no knowledge about the server's file store format.

3DEPARTMENT OF CSE TKRCET

Page 4: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

The protocol checking for new messages, permanently removing

messages, setting and clearing flags, selective fetching of message

attributes, texts, and portions thereof for efficiency.

1.2 Introduction to Modules

Admin

User

o Inbox.

o Outbox.

o Checking mails.

o Composing

o Deleting the unnecessary mails.

Admin

Admin is the one who is going to monitor all the users and grant or

deny permissions to any user. Admin can have the information related to

the user like what the entire transactions user is doing. User may do many

transactions like sending and receiving mails as the information accessed is

related to the company. As the information related to the company should

be kept confidential and should be accessed only to the prescribed persons

so the admin has to monitor all the user transactions.

User

He can get into system with the authentication and can access all the

information related to his id that is nothing but mailing services. He can do

all the functionalities of the system and at the same time he can utilize all

the services of the mailing server. He can send the mail or receive the mail

and read whatever features mailing server provides the user can utilize all

those services.

4DEPARTMENT OF CSE TKRCET

Page 5: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Inbox

User can have all the received mails stored in this module. It gives the

complete information of all the mails received.

Out Box

User can store the information related to all the mails sent by him will be

stored in the outbox

Checking Mails

User can access all the mails received by him will be stored in the inbox and

user can check those mails whenever user feels it is required.

Composing

User can sent mails. User can utilize the option called composing to send

the mails. To send the mails the mail has to be composed.

Deleting The Unnecessary Mails

User receives much number of mails. User requires few mails to be stored

and rest to be deleted. This module provides the option for user to delete

unnecessary mails.

5DEPARTMENT OF CSE TKRCET

Page 6: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

2.ANALYSIS

Definition and reason for Condition Analysis

System analysis will be performed to determine if it is feasible to

design an information based on policies and plans of the organization and on

user requirements and to eliminate the weaknesses of the present system.

General requirements

1. The new system should be cost effective.

2. To augment management, improve productivity and services.

3. To enhance User/System interface.

4. To improve information qualify and usability.

5. To upgrade system’s reliability, availability, flexibility and growth potential.

2.1 Identification of Need

Existing System:

Now days there are many mail servers which are providing the mailing

the systems to the users. By using these servers we can send, receive or do

all the mailing services. But the problem with that we can’t view the

information of the user’s transactions because it is very much important for

an organizations like Call Centre. Unfortunately no mail server is providing

such option.

6DEPARTMENT OF CSE TKRCET

Page 7: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Proposing System:

As the TRACKER project is developed using JAVA Html, Servlets and Jsp

it provides a user friendly graphical user interface which navigates user

throughout the program by providing various task related to internet mail

messaging facilities when connected to a mail server.

It provides the user to perform various emails messaging operation like

checking, composing, deleting and forward email. It provides all the facilities,

which are provided to the user by Outlook to access his account.

The various protocols available in JAVA API package are implemented

to access the users’ account using this project.

Key Goals of This Project

Fully compatible with Internet messaging standards.

Admin can keep track of all the user transactions irrespective of their usage and designation.

This tracker is going keep track of all the users’ transactions from the time of login to the time of logout.

Allow message access and management from more than one computer.

Client needs no knowledge about the server's file store format.

The protocol checking for new messages, permanently removing

messages, setting and clearing flags, selective fetching of message

attributes, texts, and portions thereof for efficiency.

2.2 Feasibility Study

2.2.1 Technical Feasibility

7DEPARTMENT OF CSE TKRCET

Page 8: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Evaluating the technical feasibility is the trickiest part of a feasibility

study. This is because, at this point in time, not too many detailed design of

the system, making it difficult to access issues like performance, costs on (on

account of the kind of technology to be deployed) etc. A number of issues

have to be considered while doing a technical analysis.

1. Understand the different technologies involved in the proposed system

Before commencing the project, we have to be very clear about what

are the

Technologies those are required for the development of new system.

2. Find out whether the organization currently possesses the required technologies

Is the required technology available with the organization?

If so is the capacity sufficient?

For instance – “Will the current printer be able to handle the new

reports and forms required for the new system?”

2.2.2 Operational Feasibility

Proposed projects are beneficial only if they can be turned into

information systems that will meet the organizations operating

requirements. Simply stated, this test of feasibility asks if the system will

work when it is developed and installed. Are there major barriers to

Implementation? Here are questions that will help test the operational

feasibility of a project:

Are the current business methods acceptable to the user? If they are

not,

Users may welcome a change that will bring about a more operational and

useful systems.

8DEPARTMENT OF CSE TKRCET

Page 9: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Have the user been involved in the planning and development of

project?

Early involvement reduces the chances of resistance to the system and

in

General and increases the likelihood of successful project. Since the

proposed system was to help reduce the hardships encountered. In the

existing manual system, the new system was considered to be operational

feasible.

2.3 Problem Specifications

Further Drawbacks of the Existing System

The following are the drawbacks of the existing manual System.

Time Delay

In the existing system, information related to all transactions done by

user cannot be accessed by the admin. Because the transactions done by

many users in different systems, so the admin has to login with each and

every user id and take the information. It’s a time taking process.

Redundancy

As the transactions done by different users and admin has to track all

the information. So the same information is being tabulated at each user,

which involves lot of complication and duplication in work, thus it causes

redundancy.

Accuracy

Since the same transactions are compiled at different user sections,

the possibility of tabulating data wrongly increases. Also if the data is more,

validations become difficult. This may result in loss of accuracy of data.

9DEPARTMENT OF CSE TKRCET

Page 10: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

2.4. Requirement Specifications

2.4.1. Functional Requirements

Inputs

The major inputs for this application can be categorized module -wise.

Basically all the information is managed by the software and in order to

access the information one has to produce their identity by entering the

user-id and password. Every user has their own domain of access beyond

which the access is dynamically refrained rather denied.

Output

The major outputs of this system are user details and services of

different departments. Links are created dynamically to meet the

requirements on demand. Reports, as it is obvious, carry the gist of the

whole information that flows across all the services.

2.4.2. Hardware Requirements

Processor : Intel Pentium III or more

Ram : 256 MB or more

Cache : 512 KB

Hard disk : 16 GB

2.4.3. Software Requirements

10DEPARTMENT OF CSE TKRCET

Page 11: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Operating system : Windows 2000 /XP or later

Front End Software : ASP.NET & C#

Back End Software : SQL - SERVER

Servers : IIS Server

11DEPARTMENT OF CSE TKRCET

Page 12: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

3. Software

JAVA:

The initial release of Java was nothing of revolutionary, but it did not

mark the end of java’s era of rapid innovation. Unlike most other software

systems that usually settle into a pattern of small, increment improvements,

java had already created java1.1 were more significant and substantial than

the increase 1 the minor revision number would have you think. Java1.1 added

many new library elements, redefined the way events are handled by applets,

and reconfigured many features of the 1.0 library .It also deprecated several

features originally defined by java1.0. Thus java1.1 both added and

subtracted attributes from its original specification. Continuing in this

evolution, java2 also and subtracts features.

Features added by 1.1

Version1.1 added some important elements to Java. Most of the

addition occurred in the Java library. However, a few new language features

were also included. Here is a list of the important features added by 1.1:

Serialization, which allows you to save and restore the state of an object.

Remote Method Invocation, which allows a Java, objects to invoke the

methods of another Java object that located on a different machine. This

is an important facility for building distributed applications.

Java Database Connectivity (JDBC), which allows programs to access SQL,

databases from many different vendors.

The Java Native Interface (JNI), which provides a new way for your

programs to interface with code libraries written in other languages.

Reflection, which is a process of determining the fields, constructors and

methods of a java object at run time.

12DEPARTMENT OF CSE TKRCET

Page 13: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Various security features, such as digital signatures, messages digests,

and access control lists and key generation.

Significant changes to event handling that improve the way in which

events generated by graphical user interface (GUI) components are

handled.

Deprecated by Features 1.1

As just mentioned java 1.1 depreciated many earlier library elements.

For example, most of the original Date class was deprecated. However, the

deprecated features did not go away. Instead, they were replaced with

updated alternatives. In general, deprecated 1.0 feature is still available in

java to support legacy code, but they should not be used by new

applications.

Features added by java 2.0

Building upon 1.1, java 2.0 adds many important new features. Here

is a partial list.

Collections are group of objects. Java 2.0 provides several types of

collection, such as linked lists, dynamic arrays and hash tables for use.

Collections offer a new way to solve several common-programming

problems.

Digital certificates provide mechanism to establish the identity of a

user. You may think of them as electronic passports. Java programs

can parse and use certificates to enforce security policies.

Text components can now receive Japanese, Chinese and Korean

characters from keyboard. Using a sequence of keystrokes to

represent one character does this.

The Common Object request Broker Architecture (CORBA) defines an

Object request Broker (ORB) and an Interface Definition Language

(IDL).

13DEPARTMENT OF CSE TKRCET

Page 14: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Performance improvements have been made in several areas. A Just-

In-Time (JIT) compiler is included in JDK.

Many browsers include a Java Virtual Machine that is used to execute

applets. Unfortunately, browsers JVM’s typically do not include the

latest java features. The java Plug-in solves this problem.

Features Deprecated by java 2.0

Although not as extensive as the deprecations experienced between

1.0 and 1.1 some features of java 1.1 are deprecated by java 2.0. For

example, the suspend (), resume () and stop () methods of the Thread class

should not be used in new code.

The Java Buzz Words

No discussion of the genesis of java is complete without a look at the

java buzzwords. Although the fundamentals that necessitated the invention

of java are portability and security, there are other factors that played an

important role on molding the final form of the language. The java in the

following list of buzzwords summed up the key considerations.

Simple

Portable

Object-oriented

Robust

Multithreaded

Architectural-neutral

High performance

Distributed

Dynamic

Object Oriented Programming and Java

14DEPARTMENT OF CSE TKRCET

Page 15: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Object-oriented Programming was developed because of limitations

found in earlier approaches of programming. To appreciate what OOP does,

we need to understand what these limitations are and how they arose from

traditional programming.

Procedural Language

Pascal, C, Basic, FORTRAN, and similar languages are procedural

languages. That is, each statement in the language tells the computer to do

something: Get some input, add these numbers,, divide by 6, display the

output. A program in a procedural language is a list of instructions.

For very small programs no other organizing principle (often called a

paradigm) is needed. The programmer creates the list of instructions, and

the computer carries them out.

Problems with Structured Programming

As programs grow ever larger and more complex, even the structured

programming approach begins to show signs of strain. You may have heard

about, or been involved in, horror stories of program development. The

project is too complex, the schedule slips, more programmers are added,

complexity increases, costs skyrocket, the schedule slips further, and

disaster ensues. Analyzing the reasons for these failures reveals that there

are weaknesses in the procedural paradigm itself. No matter how well the

structured programming approach is implemented, large programs become

excessively complex. What are the reasons for this failure of procedural

languages? One of the most crucial is the role played by data.

Relationship to the Real World

Procedural programs are often difficult to design. The problem is that

their chief components--functions and data structures--don't model the real

15DEPARTMENT OF CSE TKRCET

Page 16: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

world very well. For example, suppose you are writing a program to create

the elements of a graphics user interface: menus, windows, and so on. Quick

now, what functions will you need? What data structures? The answers are

not obvious, to say the least. It would be better if windows and menus

corresponded more closely to actual program elements.

OOP: An approach to organization

Keep in mind that object-oriented programming is not primarily

concerned with the details of program operation. Instead, it deals with the

overall organization of the program.

Characteristics of object-oriented languages

Let’s briefly examine a few of the major elements of object-oriented

languages in general and Java in particular.

Objects

When you approach a programming problem in an object oriented

language, you no longer ask how the problem will be divided into functions,

but how it will be divided into objects. Thinking in terms of objects, rather

than functions, has a surprisingly helpful effect on how easily programs can

be designed and objects in the real world.

What kinds of things become objects-oriented programs? The answer to this

is limited only by your imagination, but there are some typical categories to

start you thinking:

Physical objects

Automobile in a traffic-flow simulation

Electrical components in a circuit design to a program

Countries in an economics model

16DEPARTMENT OF CSE TKRCET

Page 17: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Aircraft in an air-traffic control system

Elements of the computer-user environment

Windows

Menus

Graphics objects (lines, rectangles, circles)

The mouse and the keyboard

Programming constructs

Customized arrays

Stacks

Linked lists

Collection of data

An inventory

A personnel file

A dictionary

A table of the latitudes and longitudes of world cities

User defined data types

Time

Angles

Complex numbers

Points on the plane

Components in a computer games

Ghosts in maze game

Positions in a board game (chess, checkers)

Animals in an ecological simulation

17DEPARTMENT OF CSE TKRCET

Page 18: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Opponents and friends in adventure games

The match between programming objects and real-world objects us the

happy result of combining data and functions: the resulting objects offer a

revolution in program designing, no such close match between programming

constructs and the items being modeled exists in a procedural language.

Classes

In OOP we say that objects are members of classes. What does this

mean? Let’s look at an analogy. Almost all computer languages have built-

in data types. For instance, a data type int, meaning integer is pre-defined

in Java. You can declare as many variables of type int as you need in your

program:

int day;

int count;

A class serves as a plan, or template. It specifies what data, and what

functions will be included in objects of that class. Defining the class doesn’t

create any objects, just as the mere existence of a type int doesn’t create

any variables.

Abstraction

An essential element of object-oriented programming is abstraction.

Humans manage complexity through abstraction. For example, people do

not think of a car as a set of tens of thousands of individual parts. They think

of it as a well-defined object with its own unique behavior. This abstraction

allows people to use a car to drive to the grocery store without being

overwhelmed by the complexity of the parts that form the car. They can

ignore the details of how the engine, transmission, and braking systems

work. Instead they are free to utilize the object as a whole.

Encapsulation

18DEPARTMENT OF CSE TKRCET

Page 19: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Encapsulation is the mechanism that binds together code and the data

it manipulates, and keeps both safe from outside interference and misuse.

One way to think about encapsulation is as a protective wrapper that

prevents the code and data from being arbitrarily accessed by other code

defined outside the wrapper. Access to the code and data inside the

wrapper is tightly controlled through a well-defined interface. To relate this

to the real world, consider the automatic transmission on an automobile. It

encapsulates hundreds of bits of information about your engine, such as how

much you are accelerating, the pitch of the surface you are on, and the

position of the shift lever. You , as the user, have only one method of

affecting this complex encapsulation: by moving the gear-shift lever. You

can’t affect the transmission by using the turn signal or windshield wipers,

for example. Thus, the gear-shift lever is a well-defined (indeed, unique)

interface to the transmission.

Inheritance

Inheritance is the process by which one object acquires the properties

of another object. This is important because it supports the concept of

hierarchical classification. As mentioned earlier, most knowledge is made

manageable by hierarchical (that is, top-down) classifications. For example,

a Golden Retriever is part of the classification dog, which in turn is part of

the mammal class, which is under the larger class animal. Without the use

of hierarchies, each object would need to define all of its characteristics

explicitly. However, by use of inheritance, an object need only define those

qualities that make it unique within its class. It can inherit its general

attributes from its parent. Thus, it is the inheritance mechanism that makes

it possible for one object to be a specific instance of a more general case.

Polymorphism

19DEPARTMENT OF CSE TKRCET

Page 20: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Polymorphism (from the Greek, meaning “many forms”) is a feature

that allows one interface to be used for a general class of actions. The

specific action is determined by the exact nature of the situation. Consider a

stack (which is a last-in, first-out list). You might have a program that

requires three types of stack. One stack is used for integer values, one for

floating-point values, and one for characters. The algorithm that implements

each stack is the same, even though the data being stored differs. In a non-

object-oriented language, you would be required to create three difference

sets of stack routines, with each set using different names. However,

because of polymorphism, in Java you can specify a general set of stack

routines that all share the same names.

Java Data Base Connectivity (JDBC)

JDBC is a set of specification that defines how a program written in

java can communicate and interact with a database. It provides a vehicle for

the exchange of SQL between java application and databases. Programs

developed with java and the JDBC are platform independent and vendor

independent.

At the heart of the JDBC is the JDBC driver. JDBC driver is responsible for

ensuring that any requests made by the application are presented to the

database in away that is meaningful to the databases. JDBC was designed to

support the most common form of SQL known as ANSI SQL92 entry

Typical uses of the JDBC

Just as one can use java for both applications and applets, one can

use the JDBC enhanced version of java in both applications and applets.

When that version is used in an applet, all the normal security restrictions

applied. JDBC continues to assume all applets are trusted.

In particular, applets that use JDBC would only be able to open a

database connection from the server from which they are downloaded. They

20DEPARTMENT OF CSE TKRCET

Page 21: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

can make neither explicit nor implicit use of information. Although the JDBC

extensions of the java security model allow on to download a JDBC driver and

register it with JDBC device manager on the server, that driver can be used

only for connections from the same server the applet came from.

Components of JDBC

There are three components to the JDBC

The JDBC driver manager

The JDBC driver test suite and

The JDBC-ODBC bridge

The JDBC driver manager is the backbone of the JDBC architecture. It

actually quite small and simple its primary function is to connect java

application s to the connect JDBC driver and then get out of the way.

The JDBC driver test suite provides some confidence that JDBC drivers will

run your program. Only drivers that pass the JDBC driver test suite can be

designated JDBC COMPLIANT.

The JDBC-ODBC Bridge allows ODBC drivers to be used as JDBC

drivers. It was implemented; as a way to get JDBC off the ground quickly, a

long term will provide a way to access some of the less popular DBMS’s if

JDBC drivers are not implemented for them.

JDBC DRIVER TYPES

JDBC-ODBC Bridge

ODBC driver is the only driver that can be used with the multiple

databases and is vendor independent. The ODBC interface remains constant

no matter which database is used. This means that this type of JDBC driver

only needs to speak only one language ODBC.

Native-API -Party-Java Driver

21DEPARTMENT OF CSE TKRCET

Page 22: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

This makes use of local native libraries to communicate with the

database. The driver does this by making call to the locally installed native

call level interface (CLI). The CLI libraries are responsible for the actual

communication with the database server.

JDBC-Net-All-Java-Driver

The main difference when using this driver is that the native CLI

libraries are placed on a remote server and the driver uses a network

protocol to facilitate communication between the application and the

driver .All communication between the application and the database server

are 100% java to java. Communication between the database itself and the

server processes is still done with a native database CLI.

JAVA SCRIPT

Introduction to Java Script

JAVA script enables you to embed commands in an HTML page. When

a compatible web browser, such as Netscape Navigator 2 or higher or

Internet explorer 3 or higher, downloads the page, your JAVA script

commands are loaded by the web browser as part of the HTML document.

These commands can be triggered when the user clicks page items,

manipulates gadgets and fields in an HTML form, or moves through the page

history list.

JAVA script is an interpreted language - the computer must evaluate the

program every time it is run. You embed your JavaScript commands within

an HTML page, and any browser that supports JavaScript can interprets the

commands and act on them. JavaScript is powerful and simple.

Scripting Language

22DEPARTMENT OF CSE TKRCET

Page 23: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

JavaScript enables Web authors to write small scripts that execute on the

users’ browsers rather than on the server. An application that collects data

from a form and then posts it to the server can validate the data for

completeness and correctness, for example, before sending it to the server.

This can greatly improve the performance of the browsing session because

users don’t have to send data to the server until it has been verified as

correct.

ORACLE

Database management system (DBMS)

A DBMS consists of a collection of interrelated date and a set of

programs to access that data and to modify the data. The collection of data

is usually referred as the “database”. The database contains information

about any particular enterprise. The primary goal of a DBMS is to provide an

environment that is both convenient and efficient to use in retrieving and

storing information into the database.

Characteristics Of Database Management Systems

Have different it represents complex relationships between data.

Keeps a tight control on data redundancy.

Enforces user-defined rules to ensure that integrity of table data.

Enforces threat data can be shared by different applications.

Enforces data access authorization.

Have automatic, intelligent backup and recovery procedures for data.

Data Abstraction The major purpose of a database system is to provide users with an

abstract view of data. That is the system hides certain details of how the

data is stored and maintained while the data is sufficiently retrieved. Levels

are

23DEPARTMENT OF CSE TKRCET

Page 24: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Physical Level: The lowest level of abstraction describes how the data

is actually stored.

Conceptual Level: The next level of abstraction describes what data is

actually stored in the database, and the relationships that exist among the

data.

Data Model

Underlying the structure of a database is the concept of the data

model, a collection of conceptual tools for describing data relationships, data

semantics and consistency constraints.

The various data models fall into three groups. They are

Object Based logical model:

These are used in describing data at the conceptual and view levels. Some of

the object based logical models are

Entity-relationship model

Object-oriented model

Binary model

Semantic model

Info logical model

Functional data model

Data Definition Language (DDL)

A database schema is especially by a set of definitions, which are

expressed by a special language called data definition language. The result

is a set of tables, which are stored in a special file as data dictionary.

Data Manipulation Language (DML)

By data manipulate we mean that

The retrieval of information stored in the database.

The insertion of information into the database.

The deletion of information from the database.

24DEPARTMENT OF CSE TKRCET

Page 25: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Data Dictionary

A data dictionary is a file that contains Meta data that is data about

data. This file is consulted before actual data is read or modified in the

database system. The data storage and definition language specifies the

storage and access methods of the database system.

4. DESIGN

4.1 SOFTWARE ENGINEERING PARADIGM APPLIED (RAD-MODEL)

The two design objectives continuously sought by developers are

reliability and maintenance.

Reliable System

There are two levels of reliability. The first is meeting the right

requirements. A careful and through systems study is needed to satisfy this

aspect of reliability. The second level of systems reliability involves the

actual working delivered to the user. At this level, the systems reliability is

interwoven with software engineering and development. There are three

approaches to reliability.

1. Error avoidance: Prevents errors from occurring in software.

2. Error detection and correction: In this approach errors are recognized

whenever they are encountered and correcting the error by effect of

error, of the system does not fail.

3. Error tolerance: In this approach errors are recognized whenever they

occur, but enable the system to keep running through degraded perform

or by applying values that instruct the system to continue process.

25DEPARTMENT OF CSE TKRCET

Page 26: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Maintenance

While working it is the Key to reduce the need for maintenance, if possible to

do essential tasks.

1. More accurately defining user requirement during system development.

2. Assembling better systems documentation.

3. Using more effective methods for designing, processing, login and

communicating information with project team members.

4. Making better use of existing tools and techniques.

5. Managing system engineering process effectively.

Types of output

Whether the output is formatted report or a simple listing of the

contents of a file, a computer process will produce the output.

A Report

A Document

A Message

Retrieval from a data store

Transmission from a process or system activity

Directly from an output sources

Layout Design

It is an arrangement of items on the output medium. The layouts are

building a mock up of the actual reports or document, as it will appear after

the system is in operation. The output layout has been designated to cover

information. The outputs are presented in the appendix.

Input design and control

26DEPARTMENT OF CSE TKRCET

Page 27: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Input specifications describe the manner in which data enter the

system for processing. Input design features will ensure the reliability of the

systems and produce results from accurate data, or thus can be

result in the production of erroneous information. The input design also

determines whenever the user can interact efficiently with this system.

Objectives of input design

Input design consists of developing specifications and procedures for

data preparation, the steps necessary to put transaction data into a usable

from for processing and data entry, the activity of data into the computer

processing. The five objectives of input design are:

Controlling the amount of input

Avoiding delay

Avoiding error in data

Avoiding extra steps

Keeping the process simple

Controlling the amount of input

Data preparation and data entry operation depend on people, because

labour costs are high, the cost of preparing and entering data is also high.

Reducing data requirement, input requirement the speed of entire process

from data capturing to processing will increase to provide results for users.

4.2 Normalization

It is a process of converting a relation to a standard form. The process

is used to handle the problems that can arise due to data redundancy i.e.

repetition of data in the database, maintain data integrity as well as handling

problems that can arise due to insertion, updation, deletion anomalies.

Decomposing is the process of splitting relations into multiple relations to

27DEPARTMENT OF CSE TKRCET

Page 28: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

eliminate anomalies and maintain anomalies and maintain data integrity. To

do this we use normal forms or rules for structuring relation.

4.3 Data Dictionary

1. create table addresses

(actname varchar2(20),

nickname varchar2(20),

emailid varchar2(30),

address varchar2(40),

phone number(10),

uname varchar2(20)

);

2.

create table signupdetails

(uname varchar2(30),

pwd varchar2(30),

age number(30),

sex varchar2(50),

city varchar2(30),

state varchar2(30),

pin number(10),

nation varchar2(20),

status varchar2(1)

);

3.

create table newcompose

(mailid varchar2(25),

mailfrom varchar2(25),

28DEPARTMENT OF CSE TKRCET

Page 29: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

mailto varchar2(25),

subject varchar2(20),

Date1 varchar2(50),

cc varchar2(20),

bcc varchar2(20),

maildata varchar2(4000),

status varchar2(10),

folder varchar2(20)

);

4.

create table folders(fname varchar2(100),uname varchar2(20));

5.

create table logininfo

(id varchar2(30),

Lin varchar2(50),

port varchar2(20),

status varchar2(1),

lout varchar2(50)

);

4.4 ER-Diagrams

The entity Relationship Diagram (ERD) depicts the relationship

between the data objects. The ERD is the notation that is used to conduct

the date modeling activity the attributes of each data object noted is the

ERD can be described resign a data object descriptions.

The set of primary components that are identified by the ERD are

Data object Relationships

29DEPARTMENT OF CSE TKRCET

Page 30: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Attributes Various types of indicators.

Primary purpose of the ERD is to represent data objects and their

relationships.

Unified Modeling Language Diagrams

The unified modeling language allows the software engineer to express

an analysis model using the modeling notation that is governed by a set of

syntactic semantic and pragmatic rules.

A UML system is represented using five different views that describe

the system from distinctly different perspective. Each view is defined by a

set of diagram, which is as follows.

User Model View

This view represents the system from the users perspective.The

analysis representation describes a usage scenario from the end-users

perspective.

Structural Model View

In this model the data and functionality are arrived from inside the

system. This model view models the static structures. It represents the

dynamic of behavioral as parts of the system, depicting the interactions of

collection between various structural elements described in the user model

and structural model view.

Use case Diagrams

A use case is a set of scenarios that describing an interaction between

a user and a system.  A use case diagram displays the relationship among

actors and use cases.  The two main components of a use case diagram are

use cases and actors.

30DEPARTMENT OF CSE TKRCET

Page 31: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Use Case Diagram For User And System

31DEPARTMENT OF CSE TKRCET

Page 32: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Usecase Diagram For User And System

Class Diagrams

Class diagrams are widely used to describe the types of objects in a

system and their relationships.  Class diagrams model class structure and

contents using design elements such as classes, packages and objects. Class

diagrams describe three different perspectives when designing a system,

conceptual, specification, and implementation. These perspectives become

evident as the diagram is created and help solidify the design

32DEPARTMENT OF CSE TKRCET

Page 33: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Class diagram for user

ER-Diagrams

33DEPARTMENT OF CSE TKRCET

Page 34: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

34DEPARTMENT OF CSE TKRCET

Server

User

Name

Addre

emaild

pwd

Admin

PwdLoginid

Compose

Sender

Receiver

subject

msg

Inbox

subi

name

date

msg

Page 35: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

4.5 DFD’S (Data Flow Diagrams)

Context Level Diagram

Level 0

35DEPARTMENT OF CSE TKRCET

Information storage (server) InboxAdmin

Compose

Compose

User

User

Change passwordInbox

Information storage (server)

Checking mails

Page 36: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Level 1

36DEPARTMENT OF CSE TKRCET

Inbox

Mails display Information storage

Particular mail

Page 37: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

5. OUTPUT SCREENS

37DEPARTMENT OF CSE TKRCET

Page 38: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

38DEPARTMENT OF CSE TKRCET

Page 39: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

39DEPARTMENT OF CSE TKRCET

Page 40: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

40DEPARTMENT OF CSE TKRCET

Page 41: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

41DEPARTMENT OF CSE TKRCET

Page 42: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

42DEPARTMENT OF CSE TKRCET

Page 43: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

43DEPARTMENT OF CSE TKRCET

Page 44: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

44DEPARTMENT OF CSE TKRCET

Page 45: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

45DEPARTMENT OF CSE TKRCET

Page 46: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

46DEPARTMENT OF CSE TKRCET

Page 47: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

47DEPARTMENT OF CSE TKRCET

Page 48: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

48DEPARTMENT OF CSE TKRCET

Page 49: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

49DEPARTMENT OF CSE TKRCET

Page 50: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

50DEPARTMENT OF CSE TKRCET

Page 51: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

51DEPARTMENT OF CSE TKRCET

Page 52: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

52DEPARTMENT OF CSE TKRCET

Page 53: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

6. System Testing and Implementation

The purpose is to exercise the different parts of the module code to

detect coding errors. After this the modules are gradually integrated into

subsystems, which are then integrated themselves too eventually forming

the entire system. During integration of module integration testing is

performed. The goal of this is to detect designing errors, while focusing the

interconnection between modules. After the system was put together,

system testing is performed. Here the system is tested against the system

requirements to see if all requirements were met and the system performs

as specified by the requirements.

Error Messages

The term error is used in two different ways. Errors refer to the

discrepancy between computed and observed values. That is error refers to

the difference between the actual output of the software and the correct

output. In this interpretation, error essentially is a measure of the difference

between the actual and the ideal. Error is also used to refer to human action

that results in the software containing a defect or a fault. This detection is

quite general and encompasses all phases. The consequence of thinking is

the belief that the errors largely occur during

Testing Techniques

Testing is a process, which reveals errors in the program. It is the

major quality measure employed during software development. During

testing, the program is executed with a set of conditions known as test cases

and the output is evaluated to determine whether the program is performing

as expected. In order to make sure that the system does not have errors, the

53DEPARTMENT OF CSE TKRCET

Page 54: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

different levels of testing strategies that are applied at differing phases of

software development are:

Each Module Can Be Tested Using The Following Strategies:

1. Black Box Testing

In this strategy some test cases are generated as input conditions that

fully execute all functional requirements for the program. This testing has

been uses to find errors in the following categories:

Incorrect or missing functions

Interface errors

Errors in data structure or external database access

Performance errors

Initialization and termination errors.

In this testing only the output is checked for correctness. The logical flow of

the data is not checked.

2. White Box Testing

In this the test cases are generated on the logic of each module by

drawing flow graphs of that module and logical decisions are tested on all

the cases. It has been uses to generate the test cases in the following cases:

Guarantee that all independent paths have been executed.

Execute all logical decisions on their true and false sides.

Execute all loops at their boundaries and within their operational

Execute internal data structures to ensure their validity.

3. Unit Testing

Unit Testing is done on individual modules as they are completed and become executable.

4. Integration Testing

54DEPARTMENT OF CSE TKRCET

Page 55: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

Integration testing ensures that software and subsystems work

together as a whole. It tests the interface of all the modules to make sure

that the modules behave properly when integrated together.

5. System Testing

Involves in-house testing of the entire system before delivery to the

user. Its aim is to satisfy the user the system meets all requirements of the

client's specifications.

6. Acceptance Testing

It is a pre-delivery testing in which entire system is tested at client's

site on real world data to find errors.

7. Validation Testing

The system has been tested and implemented successfully and thus

ensured that all the requirements as listed in the software requirements

specification are completely fulfilled. In case of erroneous input

corresponding error messages are displayed.

Compiling Test

It was a good idea to do our stress testing early on, because it gave us

time to fix some of the unexpected deadlocks and stability problems that

only occurred when components were exposed to very high transaction

volumes.

Execution Test

This program was successfully loaded and executed. Because of good

programming there was no execution error.

55DEPARTMENT OF CSE TKRCET

Page 56: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

OUTPUT TEST

The successful output screens are placed in the output screens section.

7. Conclusion

The System automatically Track all the user transactions.

It gives the complete online mailing standards to the user and

organization

The system includes various modules, which will help us to maintain

the Information about the Client’s Transaction.

Hence, the Client need not maintain any other system for maintaining

their records.

56DEPARTMENT OF CSE TKRCET

Page 57: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

8. Scope for Expansion

The project Tracker can be expanded to full pledged Mail Server which

can be implemented at any organization or on any server.

We can also implement the Messaging services with use of Mobile

Technology & Web Technology in this application.

Tracker can maintain all the transactions of the user so we can also

take the complete transactions done by the user from log in to log out.

It can be a globalized application.

57DEPARTMENT OF CSE TKRCET

Page 58: mail tracker documentation.doc

11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER

9. Bibliography

The following books were referred during the analysis and execution phase

of the project

Sql The Complete Reference

By Sql Press

Software Engineering

By Roger.S.Pressman

Mastering Visual Basic.Net

By Microsoft Press

MSDN

By Microsoft

58DEPARTMENT OF CSE TKRCET