Final Report Email System
Final Report Email System
Final Report Email System
A Project Synopsis
on
EMAIL SYSTEM
Of
BACHELOR’S OF COMPUTER APPLICATION
Submitted by:
SOURABH JHA
EnRoll No: 2000102290
Guided by:
________________________________
Submitted To
• 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
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.
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.
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:
Database : Oracle
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.
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.
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.
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.
.
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.
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.
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
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:
• A use case diagram is a diagram that shows a set of use cases and actors and relationships.
Contents
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
• 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
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.
• Create mirror classes: For every business class identified and created. For
example, if there are three business classes, create three access layer classes.
*Redundant classes: Do not keep two classes that perform similar translate results
*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.
• 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.
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:
Register Login Inbox Compose Mail AddressBook Update Profile
: User
Fill Form
valid
response
LoginRequest
valid
response
select
response
compose
response
Add contacts
response
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.
Contents
▪ Objects
▪ Links
▪ Messages
Like all other diagrams, sequence diagrams may contain notes and constrains.
Collaboration
2: valid
5: valid
Register
1: Fill Form
: 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 - -
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.
1. Security
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
https://www.java.com/en/download/
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