Suspicious Email Detection
1. INTRODUCTION
In this project, suspicious users are identified by determining the keywords
used by him/her. The keywords such as bomb, RDX, are found in the mails
which are sent by the user. All these blocked mails are checked by the
administrator and identify the users who sent such mails.This is very useful in
real-time scenario in which you can resume the anti-social activities.
Suspicious email detection is a kind of mailing system where suspicious users
are identified by determining the keywords used by him/her. The keywords
such as bomb,RDX., are found in the mails which are sent by the user. All
these blocked mails are checked by the administrator and identify the users
who sent such mails.
This is very useful in real-time scenario in which you can resume the anti-social
activites.It consists of 5 modules.The users of this system are compose mails to
the other users who are authenticated already. If the composed mails consist of
the keywords such as bomb,RDX,Terroist etc.These suspected mails are
blocked (or) discarded by the administrator so that they connot be forwarded.
This system is designed in such a way that the users can easily interact with the
system with minimum knowledge to browse the internet.
MEC 1 Computer Science &Engineering
Suspicious Email Detection
2. SOFTWARE REQUIREMENTS SPECIFICATIONS
The software requirements specification is produced at the culmination of the analysis
task. The function and performance allocated to the software as a part of system
engineering are refined by establishing a complete information description, a detailed
functional and behavioral description, and indication of performance requirements
and design constraints, appropriate validation criteria and other data pertinent to
requirements
The requirement phase basically consists of three activities:
Requirement Analysis
Requirement Specification
2.1 Requirement Analysis:
Requirement Analysis is a software engineering task that bridges the gap
between system level software allocation and software design. It provides the system
engineer to specify software function and performance, indicate software’s interface
with the other system elements and establish constraints that software must meet.
The basic aim of this stage is to obtain a clear picture of the needs and
requirements of the end-user and also the organization. Analysis involves interaction
between the clients and the analysis. Usually analysts research a problem by asking
questions and reading existing documents. The analysts have to uncover the real
needs of the user even if they don’t know them clearly. During analysis it is essential
that a complete and consistent set of specifications emerge for the system. Here it is
essential to resolve the contradictions that could emerge from information got from
various parties. This is essential to ensure that the final specifications are consistent.
It may be divided into 5 areas of effort.
Problem recognition
Evaluation and synthesis
Modeling
Specification
MEC 2 Computer Science &Engineering
Suspicious Email Detection
Review
Each Requirement analysis method has a unique point of view. However all analysis
methods are related by a set of operational principles.They are
The information domain of the problem must be represented and
understood.
The functions that the software is to perform must be defined.
The behavior of the software as a consequence of external events must
be defined.
The models that depict information, function and behavior must be
partitioned in a hierarchical or layered fashion.
The analysis process must move from essential information to
Implementation detail
2.2 Requirments Specification
Specification Principles:
Software Requirements Specification plays an important role in creating quality
software solutions. Specification is basically a representation process. Requirements
are represented in a manner that ultimately leads to successful software
implementation.
Requirements may be specified in a variety of ways. However there are some
guidelines worth following: -
Representation format and content should be relevant to the problem
Information contained within the specification should be nested
Diagrams and other notational forms should be restricted in number and consistent in
use.
Representations should be revisable.
MEC 3 Computer Science &Engineering
Suspicious Email Detection
2.3 HARDWARE AND SOFTWARE
REQUIREMENTS
Software Requirements:
● Technologies : Java and J2EE
Web Technologies : HTML, CSS, JavaScript
Database : Oracle10g
JDK Version : JDK1.5
Server : Tomcat5.5
Hardware Requirements:
Processor:: Pentium-III (or) Higher
Ram:: 64MB (or) Higher
Cache:: 512MB
Hard disk:: 10GB
Additional Tools:
HTML Designing : Dream weaver Tool
Development Tool kit : My Eclipse
MEC 4 Computer Science &Engineering
Suspicious Email Detection
3. SYSTEM ANALYSIS
3.1 System Architecture
Architecture flow:
Below architecture diagram represents mainly flow of requests from users to database
through servers. In this scenario overall system is designed in three tires separately
using three layers called presentation layer, business logic layer and data link layer.
This project was developed using 3-tire architecture.
MEC 5 Computer Science &Engineering
SERVER
User
Data Base
Request Response
Suspicious Email Detection
URL Pattern:
URL pattern represents how the requests are flowing through one layer to
another layer and how the responses are getting by other layers to presentation layer
through server in architecture diagram.
MEC 6 Computer Science &Engineering
Presentation Layer
SERVLETS AT THE SERVER
SIDE
URL Request sent through the browser
Response sent from the servlet
DATABASE
Verifying or updating the
database through a statement
Reply from the database according to
the statement
Suspicious Email Detection
Purpose Of The Project:
The purpose of the project is to suspect the E-mails which consist of
offensive, anti-social elements and block them which help in identifying the
suspicious user.
Existing System & Disadvantages:
In the existing sytem the mail are sent to the authenticated users who are
ntended to be received.some defects in existing system are
Suspicious mails cannot be detected.
Offensive users cannot be identified.
Proposed System & Its Disadvantages:
In the proposed system the suspicious users are detected and the offensive
mails are blocked.
Features of proposed system:
This helps in finding out anti social elements.
This provides the security to system which adapts it.
This also helps the intelligence bureau, crime branch etc.,
Insurance premium calculations, for quarterly, half yearly and annually is
completely automated gives us a reliable environment.
The system provides claim reporting and status enquiry.
MEC 7 Computer Science &Engineering
Suspicious Email Detection
Process Model Used With Justification:
SDLC(UmbrellaModel):
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software.
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding
Testing
MEC 8 Computer Science &Engineering
Umbrella Activity
Umbrella Activity
Feasibility StudyTEAM FORMATIONProject Specification
PREPARATION
Business Requirement Documentation
ANALYSIS & DESIGN
CODE UNIT TEST
DOCUMENT CONTROL
ASSESSMENT
TRAINING
INTEGRATION & SYSTEM
TESTING
DELIVERY/INSTALLATIO
N
ACCEPTANCE TEST
Requirements Gathering
Umbrella Activity
Suspicious Email Detection
Maintenance
Requirements Gathering stage:
The requirements gathering process takes as its input the goals identified in the
high-level requirements section of the project plan. Each goal will be refined into a
set of one or more requirements. These requirements define the major functions of the
intended application, define operational data areas and reference data areas, and
define the initial data entities. Major functions include critical processes to be
managed, as well as mission critical inputs, outputs and reports. A user class
hierarchy is developed and associated with these major functions, data areas, and data
entities. Each of these definitions is termed a Requirement. Requirements are
identified by unique requirement identifiers and, at minimum, contain a requirement
title and Textual description.
These requirements are fully described in the primary deliverables for this stage:
the Requirements Document and the Requirements Traceability Matrix (RTM). The
requirements document contains complete descriptions of each requirement,
including diagrams and references to external documents as necessary. Note that
detailed listings of database tables and fields are not included in the requirements
document.
The title of each requirement is also placed into the first version of the RTM,
along with the title of each goal from the project plan. The purpose of the RTM is to
show that the product components developed during each stage of the software
MEC 9 Computer Science &Engineering
Suspicious Email Detection
development lifecycle are formally connected to the components developed in prior
stages.
In the requirements stage, the RTM consists of a list of high-level requirements,
or goals, by title, with a listing of associated requirements for each goal, listed by
requirement title. In this hierarchical listing, the RTM shows that each requirement
developed during this stage is formally linked to a specific product goal. In this
format, each requirement can be traced to a specific product goal; hence the term is
requirements traceability.
The outputs of the requirements definition stage include the requirements
document, the RTM, and an updated project plan.
Feasibility study is all about identification of problems in a project.
No. of staff required to handle a project is represented as Team Formation, in this
case only modules are individual tasks will be assigned to employees who are
working for that project.
Project Specifications are all about representing of various possible inputs
submitting to the server and corresponding outputs along with reports maintained
by administrator.
Analysis Stage:
The planning stage establishes a bird's eye view of the intended software
product, and uses this to establish the basic project structure, evaluate feasibility and
risks associated with the project, and describe appropriate management and technical
approaches.
MEC 10 Computer Science &Engineering
Suspicious Email Detection
The most critical section of the project plan is a listing of high-level product
requirements, also referred to as goals. All of the software product requirements to be
developed during the requirements definition stage flow from one or more of these
goals. The minimum information for each goal consists of a title and textual
description, although additional information and references to external documents
may be included. The outputs of the project planning stage are the configuration
management plan, the quality assurance plan, and the project plan and schedule, with
a detailed listing of scheduled activities for the upcoming Requirements stage, and
high level estimates of effort for the out stages.
Designing Stage:
The design stage takes as its initial input the requirements identified in the
approved requirements document. For each requirement, a set of one or more design
elements will be produced as a result of interviews, workshops, and/or prototype
efforts. Design elements describe the desired software features in detail, and generally
include functional hierarchy diagrams, screen layout diagrams, tables of business
rules, business process diagrams, pseudo code, and a complete entity-relationship
diagram with a full data dictionary. These design elements are intended to describe
the software in sufficient detail that skilled programmers may develop the software
with minimal additional input.
MEC 11 Computer Science &Engineering
Suspicious Email Detection
When the design document is finalized and accepted, the RTM is updated to show
that each design element is formally associated with a specific requirement. The
outputs of the design stage are the design document, an updated RTM, and an
updated project plan.
Development (Coding) Stage:
The development stage takes as its primary input the design elements described
in the approved design document. For each design element, a set of one or more
software artifacts will be produced. Software artifacts include but are not limited to
menus, dialogs, data management forms, data reporting formats, and specialized
procedures and functions. Appropriate test cases will be developed for each set of
functionally related software artifacts, and an online help system will be developed to
guide users in their interactions with the software.
MEC 12 Computer Science &Engineering
Suspicious Email Detection
The RTM will be updated to show that each developed artifact is linked to a
specific design element, and that each developed artifact has one or more
corresponding test case items. At this point, the RTM is in its final configuration. The
outputs of the development stage include a fully functional set of software that
satisfies the requirements and design elements previously documented, an online help
system that describes the operation of the software, an implementation map that
identifies the primary code entry points for all major system functions, a test plan that
describes the test cases to be used to validate the correctness and completeness of the
software, an updated RTM, and an updated project plan.
Integration & Test Stage:
During the integration and test stage, the software artifacts, online help, and test
data are migrated from the development environment to a separate test environment.
At this point, all test cases are run to verify the correctness and completeness of the
software. Successful execution of the test suite confirms a robust and complete
migration capability. During this stage, reference data is finalized for production use
and production users are identified and linked to their appropriate roles. The final
reference data (or links to reference data source files) and production user list are
compiled into the Production Initiation Plan.
MEC 13 Computer Science &Engineering
Suspicious Email Detection
Installation & Acceptance Test:
During the installation and acceptance stage, the software artifacts, online help,
and initial production data are loaded onto the production server. At this point, all test
cases are run to verify the correctness and completeness of the software. Successful
execution of the test suite is a prerequisite to acceptance of the software by the
customer.
After customer personnel have verified that the initial production data load is
correct and the test suite has been executed with satisfactory results, the customer
formally accepts the delivery of the software.
MEC 14 Computer Science &Engineering
Suspicious Email Detection
The primary outputs of the installation and acceptance stage include a
production application, a completed acceptance test suite, and a memorandum of
customer acceptance of the software. Finally, the PDR enters the last of the actual
labor data into the project schedule and locks the project as a permanent project
record. At this point the PDR "locks" the project by archiving all software items, the
implementation map, the source code, and the documentation for future reference.
Maintenance:
Outer rectangle represents maintenance of a project, Maintenance team will start
with requirement study, understanding of documentation later employees will be
assigned work and they will under go training on that particular assigned category.
For this life cycle there is no end, it will be continued so on like an umbrella (no
ending point to umbrella sticks).
Study Of The System: MEC 15 Computer Science &Engineering
Suspicious Email Detection
To provide flexibility to the users, the interfaces have been developed that are
accessible through a browser. The GUI’S at the top level have been categorized as
1. Administrative user interface
2. The operational or generic user interface
The ‘administrative user interface’ concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication
for the data collection. These interfaces help the administrators with all the
transactional states like Data insertion, Data deletion and Date updation along with
the extensive data search capabilities.
The ‘operational or generic user interface’ helps the end users of the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information in a
customized manner as per the included flexibilities.
3.2 SOFTWARE PROFILE
Java Architecture:
Java architecture provides a portable , robust , high performing environment
for development. Java provides portability by compiling the byte codes for the java
virtual machine which are then interpreted on each platform by the runtime
environment . java also provides stringent compile and runtime checking and
automatic memory management in order to ensure solid code .
Compiling and interpreting java source code:
MEC 16 Computer Science &Engineering
Suspicious Email Detection
Java Virtual Machine:
When we compile the code, java compiler creates machine code (byte code)
for a hypothetical machine called java virtual machine (jvm). The jvm will execute
the byte code and overcomes the issue of portability . the code is written and compile
for one machine and interpreted all other machines . this machine is called java
virtual machine .
Paradigm Of Java:
Dynamic down loading applets(small application programs);
Elimination of flatware phenomenon that is providing those features
of a product that user needs at a time. The remaining features of a
product can remain in the server.
Changing economic model of the software
MEC 17 Computer Science &Engineering
Source code
Pc compiler
Macintosh compiler
SPARC Compiler
Java Byte code
Platform indepen
dent
Java interpreter
Java interpretermacintosh
)))
Java interpreter(
SPARC)
Suspicious Email Detection
Up-to-date software availability
Supports network entire computing
Supports CORBA & DCOM
About Html:
HTML (hyper text markup language) is a language used to create hyper text
documents that have hyper links embedded in them . it consists of tags embedded in
the text of a document with HTML. We can build web pages or web document s. it is
basically a formatting language and not a programming language. The browser
reading the document interprets mark up tags to help format the document for
subsequent display to a reader. HTML is a language for describing structured
documents. HTML is a platform independent. WWW(world wide web) pages are
written using HTML. HTML tags control in part the representation of the WWW
page when view with web browser. The browser interpretes HTML tags in the web
document and displays it. Different browsers show data differently. Examples of
browsers used to be web pages include:
Netscape
Internet Explorer
3.3 Introduction Java Script:
Java script is a general purpose , prototype based , object oriented scripting
language developed jointly by sun and netscape and is meant for the WWW . it is
designed to be embedded in diverse applications and systems , with out consuming
much memory . java script borrows most of its syntax from java but also inherits
from awk and perl , with some indirect influence from self in its object prototype
system.
Java scripts dynamically typed that is programs donot declare variable types,
and the type of variable is unrestricted and can change at runtime . source can be
generated at run time and evaluated against an arbitrary scope. Typical
implementations compile by translating source into a specified byte code format, to
check syntax and source consistency. Note that the availability to generate and
interprate programs at runtime implies the presence of a compiler at runtime.
MEC 18 Computer Science &Engineering
Suspicious Email Detection
Java script is a high level scripting language that does not depend on or
expose particular machine representations or operating system services. It provides
automatic storage management, typically using a garbage collector.
Features:
Java script is embedded into HTML documents and is executed with
in them.
Java script is browser dependent
Javascript is an interpreted languaged that can be interpreted by the
browser at run time .
Java script is loosely typed language
Java script is an object based language.
Java script is an Eent-Driven language and supports event handlers to
specify the functionality of a button.
Advantages:
1. java script can be used for client side application
2. java script provides means to contain multiframe windows for
presentation of the web.
3. java script provides basic data validation before it is sent to the
server. Eg : login and password checking or whether the values
entered are correct or whether all fields in a from are filled and
reduced network traffic
4. it creates interactive forms and client side lookup tables .
3.4 Oracle:
MEC 19 Computer Science &Engineering
Suspicious Email Detection
Oracle is a relational database management system, which organizes data in the
form of tables. Oracle is one of many database servers based on RDBMS model,
which manages a seer of data that attends three specific things-data structures, data
integrity and data manipulation. With oracle cooperative server technology we can
realize the benefits of open, relational systems for all the applications. Oracle makes
efficient use of all systems resources, on all hardware architecture; to deliver
unmatched performance, price performance and scalability. Any DBMS to be called
as RDBMS has to satisfy Dr.E.F.Codd’s rules.
Distinct Features Of Oracle:
Oracle Is Portable:
The Oracle RDBMS is available on wide range of platforms ranging from PCs to
super computers and as a multi user loadable module for Novel NetWare, if you
develop application on system you can run the same application on other systems
without any modifications.
Oracle Is Compatible:
Oracle commands can be used for communicating with IBM DB2 mainframe
RDBMS that is different from Oracle, that is Oracle compatible with DB2. Oracle
RDBMS is a high performance fault tolerant DBMS, which is specially designed
for online transaction processing and for handling large database applications.
3.5 JDBC Drivers:
The JDBC API only defines interfaces for objects used for
performing various database-related tasks like opening and closing connections,
executing SQL commands, and retrieving the results. We all write our programs to
interfaces and not implementations. Either the resource manager vendor or a third
party provides the implementation classes for the standard JDBC interfaces. These
software implementations are called JDBC drivers. JDBC drivers transform the
standard JDBC calls to the external resource manager-specific API calls. The diagram
MEC 20 Computer Science &Engineering
Suspicious Email Detection
below depicts how a database client written in java accesses an external resource
manager using the JDBC API and JDBC driver:
Depending on the mechanism of implementation, JDBC drivers are broadly classified
into four types.
TYPE1:
Type1 JDBC drivers implement the JDBC API on top of a lower level API like
ODBC. These drivers are not generally portable because of the independency on
native libraries. These drivers translate the JDBC calls to ODBC calls and ODBC
sends the request to external data source using native library calls. The JDBC-
ODBC driver that comes with the software distribution for J2SE is an example of a
type1 driver.
MEC 21 Computer Science &Engineering
Suspicious Email Detection
TYPE2:
Type2 drivers are written in mixture of java and native code. Type2 drivers use
vendors specific native APIs for accessing the data source. These drivers transform
the JDBC calls to vendor specific calls using the vendor’s native library.
These drivers are also not portable like type1 drivers because of the dependency on
native code.
TYPE3:
Type3 drivers use an intermediate middleware server for accessing the external data
sources. The calls to the middleware server are database independent. However, the
middleware server makes vendor specific native calls for accessing the data source. In
this case, the driver is purely written in java.
TYPE4:
Type4 drivers are written in pure java and implement the JDBC interfaces and
translate the JDBC specific calls to vendor specific access calls. They implement the
data transfer and network protocol for the target resource manager. Most of the
leading database vendors provide type4 drivers for accessing their database servers.
3.6 Servlets:
Servlets provides a Java-Based solution used to address the problems
currently associated with doing server side programming, including inextensible
scripting solutions, platform specific APIs, and incomplete interfaces. Servlets are
objects conform to a specific interface that can be plugged into a Java-based server.
Servlets are to the server-side what applets are to the client-side-object byte codes
that can be dynamically loaded off the net. They differ from applets in that they are
faceless objects (without graphics or a GUI component). They serve as platform
MEC 22 Computer Science &Engineering
Suspicious Email Detection
independent, dynamically loadable, plug gable helper byte code objects on the server
side that can be used to dynamically extend server-side functionality.
For example, an HTTP servlet can be used to generate dynamic HTML
content. When you use servlets to do dynamic content you get the following
advantages:
1.They’re faster and cleaner than CGI scripts.
2.They use a standard API (the Servlet API)
3.They provide all the advantages of Java (run on a variety of servers without
needing to be rewritten)
Invoking the servlet:
To invoke a servlet you call it by creating a URL with “/servlet/” pretended to the
servlet name. Then enter this URL in your favorite browser to see the output of the
Servlet.
4. FEASIBILTY STUDY
Preliminary investigation examines project feasibility, the likelihood the system will
be useful to the organization. The main objective of the feasibility study is to test the
Technical, Operational and Economical feasibility for adding new modules and
debugging old running system. All systems are feasible if they are given unlimited
resources and infinite time. There are aspects in the feasibility study portion of the
preliminary investigation:
Technical Feasibility
MEC 23 Computer Science &Engineering
Suspicious Email Detection
Operation Feasibility
Economical Feasibility
4.1 Technical Feasibility:
The technical issue usually raised during the feasibility stage of the investigation
includes the following:
Does the necessary technology exist to do what is suggested?
Do the proposed equipments have the technical capacity to hold the data
required to use the new system?
Will the proposed system provide adequate response to inquiries, regardless of
the number or location of users?
Can the system be upgraded if developed?
Are there technical guarantees of accuracy, reliability, ease of access and data
security?
4.2 Operational Feasibility:
User-friendly:
Customer will use the forms for their various transactions i.e. for adding new
routes, viewing the routes details. Also the Customer wants the reports to view the
various transactions based on the constraints. Theses forms and reports are
generated as user-friendly to the Client.
Reliability:
The package wills pick-up current transactions on line. Regarding the old
transactions, User will enter them in to the system.
Security:
The web server and database server should be protected from hacking, virus etc
Portability:
The application will be developed using standard open source software (Except
Oracle) like Java, tomcat web server, Internet Explorer Browser etc these
MEC 24 Computer Science &Engineering
Suspicious Email Detection
software will work both on Windows and Linux o/s. Hence portability problems
will not arise.
Availability:
This software will be available always.
Maintainability:
The system called the ewheelz uses the 2-tier architecture. The 1st tier is the GUI,
which is said to be front-end and the 2nd tier is the database, which uses My-
SQL, which is the back-end.The front-end can be run on different systems
(clients). The database will be running at the server. Users access these forms by
using the user-ids and the passwords.
4.3 Economic Feasibility:
The computerized system takes care of the present existing system’s data flow
and procedures completely and should generate all the reports of the manual
system besides a host of other management reports.
It should be built as a web based application with separate web server and
database server. This is required as the activities are spread through out the
organization customer wants a centralized database. Further some of the linked
transactions take place in different locations.Open source software like
TOMCAT, JAVA, My-SQL and Linux is used to minimize the cost for the
Customer.
5. SYSTEM DESIGN
Input design is a part of overall system design. The main objective during the input
design is as given below:
To produce a cost-effective method of input.
To achieve the highest possible level of accuracy.
To ensure that the input is acceptable and understood by the user.
Input Stages:
MEC 25 Computer Science &Engineering
Suspicious Email Detection
The main input stages can be listed as below:
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
Input Types:
It is necessary to determine the various types of inputs. Inputs can be categorized as
follows:
External inputs, which are prime inputs for the system.
Internal inputs, which are user communications with the system.
Operational, which are computer department’s communications to the
system?
Interactive, which are inputs entered during a dialogue.
Input Media:
At this stage choice has to be made about the input media. To conclude about
the input media consideration has to be given to;
Type of input
Flexibility of format
Speed
Accuracy
Verification methods
Rejection rates
Ease of correction
Storage and handling requirements
Security
Easy to use
Portability
Keeping in view the above description of the input types and input media, it can be
said that most of the inputs are of the form of internal and interactive. As
MEC 26 Computer Science &Engineering
Suspicious Email Detection
Input data is to be the directly keyed in by the user, the keyboard can be considered to
be the most suitable input device.
Output Design:
In general are:
External Outputs whose destination is outside the organization.
Internal Outputs whose destination is with in organization and they are the
User’s main interface with the computer. Outputs from computer systems are
required primarily to communicate the results of processing to users. They are
also used to provide a permanent copy of the results for later consultation. The
various types of outputs
Operational outputs whose use is purely with in the computer department.
Interface outputs, which involve the user in communicating directly with the
system.
Output Definition:
The outputs should be defined in terms of the following points:
Type of the output
Content of the output
Format of the output
Location of the output
Frequency of the output
Volume of the output
Sequence of the output
It is not always desirable to print or display data as it is held on a computer. It should
be decided as which form of the output is the most suitable.
For Example
Will decimal points need to be inserted
Should leading zeros be suppressed.
MEC 27 Computer Science &Engineering
Suspicious Email Detection
Output Media:
In the next stage it is to be decided that which medium is the most appropriate for the
output. The main considerations when deciding about the output media are:
The suitability for the device to the particular application.
The need for a hard copy.
The response time required.
The location of the users
The software and hardware available.
Keeping in view the above description the project is to have outputs mainly
coming under the category of internal outputs. The main outputs desired according to
the requirement specification are:
The outputs were needed to be generated as a hard copy and as well as queries to be
viewed on the screen. Keeping in view these outputs, the format for the output is
taken from the outputs, which are currently being obtained after manual processing.
The standard printer is to be used as output media for hard copies.
5.1 Modules:
It consists of six modules. They are
1) Login Module
2) Registration Module
3) Administration Module
4) Encryption Module
5) User Module
MEC 28 Computer Science &Engineering
Suspicious Email Detection
6) Mailing Module
Login Module:
This module is used by administrator and users (who are authenticated) to
login into the Colours mail. The login details of the specified person will be entered
and hence can enter into the Colours mail.
Registration Module:
This module is used by the unauthenticated users who are unregistered. The users
must register themselves such that they can login into the Colours mail.
Administration Module:
This module is used by the administrator to perform the functions like managing
the keywords, entering new keywords and to check out the block list of the
discarded mails.
Encryption Module:
This module is used by the administrator to perform the functions like encryption of
the words. The encrypted words are sent to the database and hence managed by the
administrator.
User Module:
This module is used by the users to do operations like composing mail, checking
out the mails in inbox and finally sending the mails to the authenticated users by
attaching a message.
Mailing Module:
MEC 29 Computer Science &Engineering
Suspicious Email Detection
This module is used by the users perform mailing system. The mailing system
consists of composing the mails, sending the mails and checking out the mails in
inbox.
This module allows employees to register and manage patient details. When a request
is made, an employee immediately dispatches an ambulance with available doctor and
other attendants. Employee keeps track of patient status and in case of emergency
consults a hospital for admitting the patient.
5.2 DATA DICTIONARY:
High level design
Data design
Table Name: Users
Description: This table is used to maintain the registered users information.
SL.NO FIELD NAME DATA TYPEDESCRIPTION
1 USERNAME Varchar2(10) This is unique identifier given to an
user to identify him uniquely. This is
the Primary Key of the table.
2 PASSWORD Varchar2(20) This the password of the user
Table Name: block list
Description: This table is used for client’s mailing information.
MEC 30 Computer Science &Engineering
Suspicious Email Detection
SL.NO FIELD
NAME
DATA TYPEDESCRIPTION
1 MAIL TO Varchar2(10) To whom the user wants to send the mails
2 MAIL FROM Varchar2(20) From whom the users got the mails.
3 SUBJECT Varchar2(40) The subject present in the mail.
4 MESSAGE Varchar2(40) The message or the data present in the mail.
Table Name: keywords
Description: This table consists of the keywords of the mailing system.
SL.NO FIELD
NAME
DESCRIPTION
1 keyword The suspected keywords of the mails.
5.3 UML-Diagrams:
Unified Modeling Language:
MEC 31 Computer Science &Engineering
Suspicious Email Detection
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
i. This view represents the system from the users perspective.
ii. The analysis representation describes a usage scenario from the
end-users perspective.
Structural model view
i. In this model the data and functionality are arrived from inside
the system.
ii. This model view models the static structures.
Behavioral Model View
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.
Implementation Model View
In this the structural and behavioral as parts of the system are
represented as they are to be built.
Environmental Model View
In this the structural and behavioral aspects of the environment in
which the system is to be implemented are represented.
MEC 32 Computer Science &Engineering
Suspicious Email Detection
UML is specifically constructed through two different domains they are:
UML Analysis modeling, this focuses on the user model and structural model
views of the system.
UML design modeling, which focuses on the behavioral modeling,
implementation modeling and environmental model views.
Use case Diagrams represent the functionality of the system from a user’s point of
view. Use cases are used during requirements elicitation and analysis to represent the
functionality of the system. Use cases focus on the behavior of the system from
external point of view.
Actors are external entities that interact with the system. Examples of actors include
users like administrator, bank customer …etc., or another system like central
database.
MEC 33 Computer Science &Engineering
Suspicious Email Detection
Keywords
Manage Keywords
Add Keywords()Display Keywords()
Admin
KeywordsAlert MailsInformative
Enter keywords()check mails()
Block List
Alert MailsInformative Mails
check mails()
Compose Mails
composing the mail
send the mail()
Sent Mails
Sent items
check the sent items()
User
Mails
Compose()send()
Inbox
Received mails
check the received mails()
MEC 34 Computer Science &Engineering
Suspicious Email Detection
Admin Keywords Alert List Informative
Manage Keywords
Check Alert Mails
Check Informative Mails
User Compose Mails Inbox Sent Items
Compose the mails to be sent
Check the mails
Check the sent mails
MEC 35 Computer Science &Engineering
Suspicious Email Detection
Keywords
Alert MailsAdmin
Informative Mails
User
Compose Mail
Inbox
Sent Items
MEC 36 Computer Science &Engineering
Suspicious Email Detection
6. SYSTEM TESTING
Introduction to Testing:
Testing is a process, which reveals errors in the program. It is the major quality
measure employed during software development, during software
development,during testing, the program is executed with a set of test cases and the
output of the program for the test cases is evaluated to determine if the program is
performing as it is expected to perform.
6.1 Testing Strategies:
In order to make sure that the system does not have errors, the different levels
of testing strategies that are applied at differing phases of software development are:
Unit Testing:
Unit Testing is done on individual modules as they are completed and become
executable. It is confined only to the designer's requirements.
Each module can be tested using the following two Strategies:
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.
MEC 37 Computer Science &Engineering
Suspicious Email Detection
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 bounds
Execute internal data structures to ensure their validity.
Integrating Testing:
Integration testing ensures that software and subsystems work together a
whole. It tests the interface of all the modules to make sure that the modules
behave properly when integrated together.
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.
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.
MEC 38 Computer Science &Engineering
Suspicious Email Detection
6.2 Test Approach :
Testing can be done in two ways:
● Bottom up approach
● Top down approach
Bottom up Approach:
Testing can be performed starting from smallest and lowest level modules
and proceeding one at a time. For each module in bottom up testing a short
program executes the module and provides the needed data so that the module is
asked to perform the way it will when embedded with in the larger system. When
bottom level modules are tested attention turns to those on the next level that use
the lower level ones they are tested individually and then linked with the
previously examined lower level modules.
Top down approach:
This type of testing starts from upper level modules. Since the detailed
activities usually performed in the lower level routines are not provided stubs are
written. A stub is a module shell called by upper level module and that when
reached properly will return a message to the calling module indicating that
proper interaction occurred. No attempt is made to verify the correctness of the
lower level module.
Validation:
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
MEC 39 Computer Science &Engineering
Suspicious Email Detection
7. SAMPLE CODE
ADMIN.JSP:
<%@page %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-us">
<title>Admin</title>
<!--<link rel="stylesheet" type="text/css" href="images/sddm.css" >
<link rel="stylesheet" type="text/css" href="images/cour.css" >-->
</head>
<body topmargin="0">
<table border="0" height="19">
<tr bgcolor="">
<td width="9%" height="13" valign="middle"
align="center"background="images/tp_bg.gif"><font face="Arial" size="2"
color="Black"><a
HREF="login.html"><b><%=request.getParameter("user")%></b></font></td>
<td width="18%" height="13" valign="middle"
align="center"background="images/tp_bg.gif" >
<font face="verdana" size="6" color="Black"><b>
SECURE MAIL
</b></font>
</td>
<td width="9%" height="13" valign="middle"
align="center"background="images/tp_bg.gif"><font face="Arial" size="2"
color="Black"><a HREF="login.html"><b>Logout</b></font></td>
</tr>
<tr>
<table>
<tr>
<td width="15%" height="355" valign="top">
MEC 40 Computer Science &Engineering
Suspicious Email Detection
<div class="mainDiv" >
<div class="dropMenu" >
<!-- -->
<div class="subMenu" style="display:inline;">
<div class="subItem" ><b><font size="4"><a HREF="enter1.jsp?user=<
%=request.getParameter("user")%>">Manage Keywords</a></font></b></div>
<div class="subItem"> <b><a HREF="display.jsp?user=<
%=request.getParameter("user")%>">Display Keywords</a></b></div>
<div class="subItem"><b><a HREF="blocklist.jsp?user=<
%=request.getParameter("user")%>">Block List</a></b></div>
</div>
</div>
</div>
</td>
</tr></table>
</body>
</html>
USER.JSP:
html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-us">
<title>User Login</title>
<!--<link rel="stylesheet" type="text/css" href="images/sddm.css" >
<link rel="stylesheet" type="text/css" href="images/cour.css" >-->
</head>
<body topmargin="0">
<table border="0" height="19">
<tr bgcolor="">
MEC 41 Computer Science &Engineering
Suspicious Email Detection
<td width="9%" height="13" valign="middle"
align="center"background="images/tp_bg.gif"><font face="Arial" size="2"
color="Black"><b> <%=request.getParameter("user")%></b></font></td>
<td width="18%" height="13" valign="middle"
align="center"background="images/tp_bg.gif" >
<font face="verdana" size="6" color="Black"><b>
SECURE MAIL
</b></font>
</td>
<td width="9%" height="13" valign="middle"
align="center"background="images/tp_bg.gif"><font face="Arial" size="2"
color="Black"><a HREF="./login.html"><b>Logout</b></font></td>
</tr>
<tr>
<table>
<tr><td width="20%" align="right">
<img src="images/email_laptop.jpg" width="30%" />
</td>
</tr>
</table>
<table>
<tr>
<td width="15%" height="355" valign="top">
<div class="mainDiv" >
<div class="dropMenu" >
<!-- -->
<div class="subMenu" style="display:inline;">
<div class="subItem" ><b><font size="4"><a HREF="composemail.jsp?user=<
%=request.getParameter("user")%>">Compose Mail</a></font></b></div>
<div class="subItem"> <b><a HREF="inbox.jsp?user=<
%=request.getParameter("user")%>">Inbox</a></b></div>
MEC 42 Computer Science &Engineering
Suspicious Email Detection
<div class="subItem"><b><a HREF="sentmail.jsp?user=<
%=request.getParameter("user")%>">SentMail</a></b></div>
</div>
</div>
</div>
</td>
</tr></table>
<table border="0" width="100%" height="20">
<tr>
<td width="5%" height="5" valign="middle">
<p align="center" valign="center" style="margin-top: -5; margin-bottom: 1"><b>
<font face="Arial" color="#800000" size="2">Welcome to Secure Mail select your
appropriate menu</font></b>
</form>
</td>
</tr>
</table>
<table width="100%">
<tr height="5"><td bgcolor="brown"></td></tr>
<tr>
<td height="1" ><div align="center"><marquee>© Secure Mail. All Rights
Reserved</marquee></div></td>
</tr>
</table>
</body>
</html>
8. SCREEN SHOTS
MEC 43 Computer Science &Engineering
Suspicious Email Detection
Home page:
MEC 44 Computer Science &Engineering
Suspicious Email Detection
Admin’s Login Page:
MEC 45 Computer Science &Engineering
Suspicious Email Detection
Admin’s login page:
Adding Encrypted keyword:
MEC 46 Computer Science &Engineering
Suspicious Email Detection
Display encrypted keyword:
MEC 47 Computer Science &Engineering
Suspicious Email Detection
MEC 48 Computer Science &Engineering
Suspicious Email Detection
User’s Registration:
MEC 49 Computer Science &Engineering
Suspicious Email Detection
User’s login:
MEC 50 Computer Science &Engineering
Suspicious Email Detection
User’s login page:
MEC 51 Computer Science &Engineering
Suspicious Email Detection
Composing a mail by user:
Mail has got blocked:
MEC 52 Computer Science &Engineering
Suspicious Email Detection
Message in sent mail: MEC 53 Computer Science &Engineering
Suspicious Email Detection
MEC 54 Computer Science &Engineering
Suspicious Email Detection
Alert list of blocked mails in admin page:
MEC 55 Computer Science &Engineering
Suspicious Email Detection
9. CONCLUSION
Conclusion:
This system has been developed successfully incorporate all the requirements.
Appropriate care has taken during database design maintain database integrity and to
avoid redundancy of data. This site was developed in such a way that any further
modifications needed can be easily done. User feels freely while using this site. In
this all technical complexities are hidden. This site is a more user friendly.
The quality features like correctness, efficiency, usability, maintainability,
portability, accuracy, errors free, tolerance, expandability and communicatively all
are successfully done.
Foreseeable enhancements:
There is always a room for improvement in any software package, however good
and efficient it may be. The important thing is that the website should be flexible
enough for further modifications. Considering this important factor, the web site is
designed in such a way that the provisions are given for further enhancements. At
present this website provides all the information using static pages and reservation
forms.In future we can enhance our project by providing options like. Include many
sites information.
10. REFERENCES
MEC 56 Computer Science &Engineering
Suspicious Email Detection
JAVA Technologies:
JAVA Complete Reference
Java Script Programming by Yehuda Shiran
Mastering JAVA Security
JAVA2 Networking by Pistoria
JAVA Security by Scotl oaks
Head First EJB Sierra Bates
J2EE Professional by Shadab siddiqui
JAVA server pages by Larne Pekowsley
JAVA Server pages by Nick Todd
HTML:
HTML Black Book by Holzner
JDBC:
Java Database Programming with JDBC by Patel moss.
Software Engineering by Roger Pressman
MEC 57 Computer Science &Engineering
Suspicious Email Detection
11. BIBLIOGRAPHY
Advanced Java Programming - Dietel and Dietel
Mastering JAVA 2 - John Zukowski
Java Server Programming - Apress
Software Engineering - Roger S Pressman
Análysis & Design of InformationSystems – Senn
Websites
www.eci.gov.in
www.google.com
www.apeci.com
www.askjeeves.com
MEC 58 Computer Science &Engineering