Download - 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
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
7. Conclusion 53
8. Scope for Expansion 54
9. Bibliography 55
2DEPARTMENT OF CSE TKRCET
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
Use Case Diagram For User And System
31DEPARTMENT OF CSE TKRCET
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
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
Class diagram for user
ER-Diagrams
33DEPARTMENT OF CSE TKRCET
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
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
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
Level 1
36DEPARTMENT OF CSE TKRCET
Inbox
Mails display Information storage
Particular mail
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
5. OUTPUT SCREENS
37DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
38DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
39DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
40DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
41DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
42DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
43DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
44DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
45DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
46DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
47DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
48DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
49DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
50DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
51DEPARTMENT OF CSE TKRCET
11K91A0581, 11K91A0584, 11K91A05A3 EMAIL TRACKER
52DEPARTMENT OF CSE TKRCET
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
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
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
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
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
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