Final Report Email System

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

INDIRA GANDHI NATIONAL OPEN UNIVERSITY

A Project Synopsis
on
EMAIL SYSTEM

Of
BACHELOR’S OF COMPUTER APPLICATION

Submitted by:
SOURABH JHA
EnRoll No: 2000102290

Guided by:
________________________________

Submitted To

Indira Gandhi National Open University


Table of contents

• Abstract
• Software Development Methodology
• Introduction
1. Purpose
2. Advantages
3. Scope
4. Existing System with Limitations
5. Proposed System Features

• Specification Requirements
1. Sofware Requirement Specification
2. Hardware requirement Specification
3. Functional Requirements

• Technologies Used
1. Servlet
2. Oracle 10g Express Edition
3. Apache Tomcat 7.02

• Behavioural Description
1. DFD
2. Use Case Diagram
3. Activity Diagrams
4. Oracle Database Tables

• System Design
1. Sequence and Colaboration Diagram
2. Class Diagrams
• Testing and Implementation
• Bibilography
ABSTRACT

ABOUT THE PROJECT


Businesses usually adopt a common sense approach when it comes to spending the IT
budget with cost being a major influence in purchasing decisions. However, when it comes
to choosing a mail server, many businesses seem to pay less attention to the costs and, as
a result, end up spending far more money than is necessary.

Today, email is absolutely mission-critical. Communication and collaboration keep your


business running. Email and electronically enabled collaboration have become so
embedded in normal day-to-day operations that many businesses simply could not function
without them. Many businesses, however, have found that the cost of providing employees
with the latest in messaging and collaboration technology is rapidly escalating. To meet
modern business needs, mail servers have had to become more complex – and with that
additional complexity come additional management burdens and costs. Furthermore, some
mail servers have an upgrade process that is both extremely complex and extremely costly
and which may necessitate the purchase of replacement server hardware. Combined, these
factors place a considerable drain on corporate resources. The problem is especially severe
for small and medium sized businesses (SMBs) which usually do not have access to the
same financial or technical resources as large enterprises.

Email-System Is An Application Program That Sends Electronic Message From One


Computer To Another. We will be developing our Project To keep in Mind the Problem
of Organization and also We Will Try To Minimize Cost for Organization.
INTRODUCTION
This project deals with the Mailing System. This project is having different modules like
new User creation form named it as a Sign-Up form and already existing user can logged into the
Mailing System named it as a Sign In form.

Email System(or Internet Mailing System) which has been privatized and is existing in
different forms like Hotmail. Free mail. Cyber mail, Mainly The project will give the easy way to
create a new account and sending mails with free of cost.

Advantages:

The user of Email System is given a unique login id and must give the correct password. It
gives total security for us. So unauthorized user can't allow to see our messages. Even if the user
forgets his/her password reminding facility by which the user can recollect the password and log
into the system.

The advantage of the this system is it's security feature allowing only registered users to
access the system and preventing any hackers, unauthorized users.

Existing System with Limitations:

Presenting Intranet Mailing is manually providing services to employees of departments of


an Organization. Employees have to go departments to know some particular information. Some
times information is passed by manually between departments. This manual system will take time
to pass the information and sometimes it causes lost of information also. This causes lost of
employee time also.
Proposed System Features:

Now a day the organizations are growing fastly and are increasing in size also. So there
organizations are divided into departments. In the fast growing world the information is need as
fast as possible. This can be accomplished by passing the information quickly. Quick passing of
mails is not possible in load manual systems. Because in manual system the mails are passed
through persons from one department to another. But it takes mush time and risk also. This leads
the inconsistency of information. So we need a system, which is both quick and accurate. This can
be achieved by mailing system.

In present organization structure most of the work is done using software applications. In
order to improve service for customers we need effective applications. Similarly considering need
of work flow we need intranet mailing application.
SPECIFICATION REQUIREMENT
Requirement analysis for web applications encompasses three major tasks: formulation,
requirements gathering and analysis modeling. During formulation, the basic motivation and goals
for the web application are identified, and the categories of users are defined. In the requirements
gathering phase, the content and functional requirements are listed and interaction scenarios
written from end-user’s point-of-view are developed. This intent is to establish a basic
understanding of why the web application is built, who will use it, and what problems it will solve
for its users.

Software requirement Specification:

A set of programs associated with the operation of a computer is called software. Software is the
part of the computer system, which enables the user to interact with several physical hardware devices.

The minimum software requirement specifications for developing this project are as follows:

Operating System : Window 2000, XP,Win 7,Win 8.

Presentation layer : Java, Servlets.

Database : Oracle

Documentation Tool : Ms Office

Hardware Requirement Specification:


The collection of internal electronic circuits and external physical devices used in building a
computer is called the Hardware. The minimum hardware requirement specifications for developing this
project are as follows:

Processor : Standard processor with a speed of 1.6 GHz or more

RAM : 256 MB RAM or more

Hard Disk : 20 GB or more

Monitor : Standard color monitor


TECHNOLOGIES USED

Servlets:-
A servlet is a java programming language class that is used to extend the capabilities of servers
that host applications access via a request-response programming mode. Servlets are Java
technology’s answer to Common Gateway Interface (CGI) Programming. They are programs that
run on a Web server, acting as middle layer between request coming from a Web browser or other
HTTP client and databases of applications on the HTTP server.

Read any data sent by the user: This data usually entered in a form on a Web page, but could
also come from a java applet or a custom HTTP client program.

Look up any other information about the request that is embedded in the HTTP request:
This information includes details about browser capabilities, cookies, the host name of the
requesting client, and so froth.

Generate the results: This process may require talking to a database, executing an RMI or
CORBA call, invoking a legacy application, or computing the response directly.

Format the results inside a document: In most cases, this involves embedding the information
inside an HTML page.

Set the appropriate HTTP response parameters: This means telling the browser what type of
document is being returned (e.g.HTML), setting cookies and caching parameters, and other such
tasks.

Send the document back to the client: This document may be sent in text format (HTML), binary
format (GIF images), or even in a compressed format like gzip that is layered on top of some other
underlying format.

The Javax.servlet and javax.servlet.http packages provide interfaces and classes for writing
servlets. All servlets must implement the Servlet interface, which defines life-cycle methods.
When implementing a generic service, you can use or extend the GenericServlet class provided
with the java Servlet API. The HttpServlet classes provide methods, such as doGet and do Post,
for handling HTTP-specific services.
To be a servlet, a class should extend HTTPServlet and override doGet or do Post (or both),
depending on whether the data is being sent by GET or by POST. These methods take two
arguments: An HttpServletRequest and an HttpServletResponse.The HttpServletRequest have
methods that let you find out about incoming information such as FORM data, HTTP request
headers, and the like. Finally, note that doGet and do Post are called by the service method, and
sometimes you may want to override service directly.

Servlet Life Cycle:

The life cycle of a servlet is controlled by the container in which the servlet has been deployed.
When a request is mapped to a servlet, the container performs the following steps.

1. If an instance of the servlet does not exist, the Web container:

Loads the servlet class.

Creates an instance of the Servlet class.

Initializes the servlet instance by calling the init method.

2. Invokes the service method, passing request and response objects.

If the container needs to remove the servlet, it finalizes the servlet by calling the servlet’s destroy
method.

Cookies
Cookies are small bits of textual information that a Web server sends to a browser and that the
browser returns unchanged when visiting the same Web site or domain later

Browsers generally only accept 20 cookies per site and 300 cookies total, and each cookie is limited to
4KB, cookies cannot be used to fill up someone's disk or launch other denial of service attacks.

The Servlet Cookie API

To send cookies to the client, a servlet would create one or more cookies with the appropriate
names and values via new Cookie (name, value), set any desired optional attributes via
cookie.setXxx,and add the cookies to the response headers via response.addCookie(cookie).To
read incoming cookies, call request.getCookies(), which returns an array of Cookie objects.
Session Management

Many applications require that a series of requests from a client be associated with one another.
Sessions are represented by an Http Session object. A session cab be accessed by calling the get
Session () method of a request object. This method returns the current session associated with this
request, or, if the request does not have a session, it creates one. The timeout period can be accessed
by using a session’s [get\set] Max Inactive Interval methods.

Session Tracking

A Web container can use several methods to associate a session with a user, all of which involve
passing an identifier between the client and the server. The identifier can be maintained on the
client as a cookie, or the Web component can include the identifier in every URL that is returned
to the client.

In fact, on many servers, they use cookies if the browser supports them, but automatically revert
to URL-rewriting when cookies are unsupported or explicitly disabled.

The Session Tracking API


Using sessions in servlets is quite straightforward, and involves looking up the session object
associated with the current request, creating a new session object when necessary, looking up
information associated with a session, storing information in a session, and discarding completed
or abandoned sessions.

.
Tomcat:-
Apache Tomcat is the servlet container that is used in the official Reference Implementation for
the Java Servlet and Java Server Pages technologies. The Java Servlet and Java Server Pages
specifications are developed by Sun under the Java Community Process.

Tomcat 5 implements the Servlet 2.4 and Java Server Pages 2.0 specifications and includes
many additional features that make it a useful platform for developing and deploying web
applications and web services.

Directories and files: Directories and Files

$CATALINA_HOME represents the root of your Tomcat installation. When we say,


"This information can be found in your $CATALINA_HOME/README.txt file" we mean to look
at the README.txt file at the root of your Tomcat install.

These are some of the key tomcat directories, all relative to $CATALINA_HOME:

• /bin - Startup, shutdown, and other scripts. The *.sh files (for Unix systems) are
functional duplicates of the *.bat files (for Windows systems). Since the Win32
command-line lacks certain functionality, there are some additional files in here.

• /conf - Configuration files and related DTDs. The most important file in here is
server.xml. It is the main configuration file for the container.

• /logs - Log files are here by default.

• /webapps - This is where your webapps go.

INSTALLING TOMCAT

Installing Tomcat on Windows can be done easily using the Windows installer. Installation as a
service: Tomcat will be installed as a Windows NT/2k/XP service no matter what setting is
selected. Using the checkbox on the component page sets the service as "auto" startup, so that
Tomcat is automatically startup when Windows starts.
BEHAVIORAL DESCRIPTION

Data Flow:
There are 2 types of Dfd’s they are

1. Context Level DFD


2. Top Level DFD
Context Level DFD:

In the Context Level the whole system is shown as a single process.

• No data stores are shown.


• Inputs to the overall system are shown together with data sources (as External entities).
• Outputs from the overall system are shown together with their destinations (as External
entities).

4.1.1 DFD:
Top Level DFD:

The Top Level DFD gives the overview of the whole system identifying the major system
processes and data flow. This level focuses on the single process that is drawn in the context
diagram by ‘Zooming in’ on its contents and illustrates what it does in more detail.
4.1.2. Use Case Documentation:

Use Case Diagram

• A use case diagram is a diagram that shows a set of use cases and actors and relationships.
Contents

• Use case commonly contain


➢ Use cases
➢ Actors
➢ Dependency, generalization and association relationships
Overall Use Case

Register

Login

Inbox

User

Compose

Send

Download

Update Profile
Process Flow

Activity Diagrams:

Activity Diagram:

• An activity diagram shows the flow from activity to activity. An activity is an ongoing non-
atomic execution within a state machine.
• Activities ultimately result in some action, which is made up of executable atomic
computations that result in a change in state of the system or the return of a value.
Activity diagrams commonly contain

➢ Activity states and action states


➢ Transitions
➢ Objects

• Like all other diagrams, activity diagrams may contain notes and constrains.

Login Process
Providing
Services
Retry

Validation
<<No>>

<<YES>>

Services

Registration Process :
Providing
Services

Provide
Credentials
admin validation

<<YES>>

<<NO>>

Invalidate
details
User Activity:

Login

validation

Inbox Compose Send Mail Download Address options


attachement book

Logout

SYSTEM DESIGN

The main focus of the analysis phase of Software development is on “What needs to be done”. The
objects discovered during the analysis can serve as the framework or Design. The class’s attributes,
methods and association identified during analysis must be designed for implementation language.
New classes must be introduced to store intermediate results during the program execution.
Emphasis shifts from the application domain o implementation and computer such as user
interfaces or view layer and access layer. During analysis, we look at the physical entities or
business objects in the system, that is, which players and how they cooperate to do the work of the
application. These objects represent tangible elements of the business.

During the Design phase, we elevate the model into logical entities, some of which might
relate more to the computer domain as people or employees. Here his goal is to design the classes
that we need to implement the system the difference is that, at this level we focus on the view and
access classes, such as how to maintain information or the best way o interact with a user or present
information.

Design process:

During the design phase the classes identified in object-oriented analysis Must be revisited with a
shift focus to their implementation. New classes or attribute and Methods must be an added for
implementation purposes and user interfaces. The object-oriented design process consists of the
following activities:

1. Apply design axioms to design classes, their attributes, methods, associations, structure

And protocols Refine and complete the static UML class diagram by adding details to the UML
diagram. This step consists of following activities. *Refine attributes *Design methods and
protocols by utilizing a UML activity diagram to represent the method’s algorithms.

*Refine associations between classes

*Refine class hierarchy and design with inheritance

*Iterate and refine again


2. Design the access layer

• Create mirror classes: For every business class identified and created. For
example, if there are three business classes, create three access layer classes.

• Identify access layer class relationships.


• Simplify classes and their relationships: The main goal here is to eliminate
redundant classes and structures.

*Redundant classes: Do not keep two classes that perform similar translate results

activities. Simply select one and eliminate the other.

*Method classes: Revisit the classes that consist of only one or two methods to see if
they can be eliminated or combined with existing classes.

• Iterate and refine again.


Define the view layer classes

• Design the macro level user interface, identifying view layer objects.
• Design the micro level user interface, which includes these activities:
* Design the view layer objects by applying the design axioms
and corollaries.

* Built a prototype of the view layer interface.

• Test usability and user satisfaction


• Iterate and refine.
3. Iterate refine the whole design process. From the class diagram, you can begin to extrapolate
which classes you will have to built and which existing classes you can reuse. As you do this,
also begin this, also begin thinking about the inheritance structure. If you have several classes
that seem relates but have specific differences.

Design also must be traceable across requirements, analysis, design from the Requirements
model.
5.1 Sequence and collaboration diagrams
Sequence Diagram

• An interaction diagram shows an interaction, consisting of a set of objects and their relationships,
including the messages that may be dispatched among them.
• A sequence diagram is an interaction diagram that emphasizes the time ordering of messages.
• Graphically, a sequence diagram is a table that shows objects arranged along x-axis and messages,
ordered in increasing time, along the y-axis.
Contents

• Sequence diagrams commonly contain the following:


➢ Objects
➢ Links
➢ Messages
Like all other diagrams, sequence diagrams may contain notes and constrains

Sequence:
Register Login Inbox Compose Mail AddressBook Update Profile

: User

Fill Form
valid

response

LoginRequest
valid

response

select

response
compose

response

Add contacts

response

update personal details

response
Collaboration Diagram

- Collaboration is a society of classes, interfaces, and other elements that work together to
provide some cooperative behavior that’s bigger than the sum of all its parts.

- Collaboration is also the specification of how an element, such as a classifier or an operation,


is realized by a set of classifiers and associations playing specific roles used in a specific way

Contents

Collaboration diagrams commonly contain the following:

▪ Objects
▪ Links
▪ Messages
Like all other diagrams, sequence diagrams may contain notes and constrains.

Collaboration
2: valid

5: valid
Register

1: Fill Form

4: LoginRequest 11: Add contacts


Login
3: response AddressBo
ok
6: response 12: response

: User 9: compose
8: response
14: response
7: select
10: response
13: update personal details
Inbox
Update Compose
Profile Mail

Co
Inbox Compose Check

User Mail

Database-
JDBC
ORACLE DATA BASE TABLES
Table Name:- sssitmail_users
Column Name Data Type Nullable Default Primary Key
ID NUMBER No - 1
FIRSTNAME VARCHAR2(4000) Yes - -
LASTNAME VARCHAR2(4000) Yes - -
EMAIL VARCHAR2(4000) Yes - -
GENDER VARCHAR2(4000) Yes - -
CITY VARCHAR2(4000) Yes - -
STATE VARCHAR2(4000) Yes - -
COUNTRY VARCHAR2(4000) Yes - -
REGISTEREDDATE DATE Yes - -
DOB DATE Yes - -

Table Name:- sssitmail_message


Column Name Data Type Nullable Default Primary Key
ID VARCHAR2(4000) No - 1
SENDER VARCHAR2(4000) Yes - -
RECEPIENT VARCHAR2(4000) Yes - -
SUBJECT VARCHAR2(4000) Yes - -
MESSAGE VARCHAR2(4000) Yes - -
MESSAGEDATE VARCHAR2(4000) Yes - -
TRASH VARCHAR2(4000) Yes - -

1-7
TESTING AND IMPLEMENTATION
• Testing Methodologies
o Black box Testing:
o White box Testing.
o Gray Box Testing.

• Levels of Testing
o Unit Testing.
o Module Testing.
o Integration Testing.
o System Testing.
o User Acceptance Testing.

• Types Of Testing
o Smoke Testing.
o Sanitary Testing.
o Regression Testing.
o Re-Testing.
o Static Testing.
o Dynamic Testing.
o Alpha-Testing.
o Beta-Testing.
o Compatibility Testing.
o Installation Testing.
o Adhoc Testing.
• TCD (Test Case Documentation)
• STLC
o Test Planning.
o Test Development.
o Test Execution.
o Result Analysis.
o Bug-Tracing.
o Reporting.

• Microsoft Windows – Standards


• Manual Testing
• Automation Testing (Tools)
o Win Runner.
o Test Director
Testing:

• The process of executing a system with the intent of finding an error.


• Testing is defined as the process in which defects are identified, isolated, subjected for
rectification and ensured that product is defect free in order to produce the quality product
and hence customer satisfaction.
• Quality is defined as justification of the requirements
• Defect is nothing but deviation from the requirements
• Defect is nothing but bug.
CONCLUSION
The project titled as “Email System" has been designed with much care, with the intention easier and the
more complexity involved is presented in a simple and lucid style.

The advantages of the mailing System are

1. Security

2. Cost effective (may be Free of cost)

3. Less Mailing Time

4. Gift Incentives and many more...

The Intranet Mailing System works in a similar fashion as that of an Intranet Mailing System, there
is no need to get an internet connection for this mailing system. The various branches of the organization
can be connected to a single host server and then an employee of one branch can send a message to an
employee of another branch through server.

The users of Intranet Mailing are given a unique user-id and password is hided .So it gives security
also.
BIBLIOGRAPHY

For Java installation

https://www.java.com/en/download/

For Oracle DataBase installation

http://www.oracle.com/index.html

Reference websites

www.javatpoint.com

www.w3schools.com

http://www.tutorialspoint.com/java/index.htm

Reference Books

Thinking in java

OCJP Certified Programmer for Java

Learn Java in Eassy Steps

Complete reference Java

You might also like