Você está na página 1de 58

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

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 softwares 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 dont 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. MEC Problem recognition Evaluation and synthesis Modeling Specification Review 2 Computer Science &Engineering

Suspicious Email Detection


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

Computer Science &Engineering

Suspicious Email Detection

2.3 HARDWARE AND SOFTWARE REQUIREMENTS


Software Requirements:

Technologies Web Technologies Database JDK Version Server

: Java and J2EE : HTML, CSS, JavaScript : Oracle10g : JDK1.5 : Tomcat5.5

Hardware Requirements:
Processor:: Pentium-III (or) Higher Ram:: 64MB (or) Higher Cache:: 512MB Hard disk:: 10GB

Additional Tools:

HTML Designing Development Tool kit

: Dream weaver Tool : My Eclipse

MEC

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.

User

SERVER
Request Response

Dat a Bas e

MEC

Computer Science &Engineering

Suspicious Email Detection

URL Pattern:

Presentatio n Layer

Response sent from the servlet


SERVLETS AT THE SERVER SIDE Reply from the database according to the statement

URL Request sent through the browser

Verifying or updating the database through a statement

DATABASE

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

Computer Science &Engineering

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

Computer Science &Engineering

Suspicious Email Detection Process Model Used With Justification:


SDLC(UmbrellaModel):

DOCUMENT CONTROL Umbrella Activity

Business Requirement Documentation

Requirements Gathering

Feasibility Study TEAM FORMATION Project Specification PREPARATION

ANALYSIS & DESIGN

CODE

UNIT TEST

ASSESSM ENT

INTEGRATION & SYSTEM TESTING

DELIVERY/INS TALLATION

ACCEPTANCE TEST

TRAINING

Umbrella Activity

Umbrella Activity

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:
MEC Requirement Gathering Analysis Designing Coding Testing Maintenance 8

Computer Science &Engineering

Suspicious Email Detection 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.

MEC

Computer Science &Engineering

Suspicious Email Detection


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 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).

MEC

15

Computer Science &Engineering

Suspicious Email Detection Study Of The System:


To provide flexibility to the users, the interfaces have been developed that are accessible through a browser. The GUIS 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 .

MEC

16

Computer Science &Engineering

Suspicious Email Detection Compiling and interpreting java source code:


Java interpreter macintosh

Pc compiler Macintosh compiler SPARC Compiler

Java interpreter Java Byte code Platform independ ent

Source code

Java interpreter( SPARC)

)))

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.

MEC

17

Computer Science &Engineering

Suspicious Email Detection


Changing economic model of the software 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

MEC

18

Computer Science &Engineering

Suspicious Email Detection


check syntax and source consistency. Note that the availability to generate and interprate programs at runtime implies the presence of a compiler at runtime. 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 .

MEC

19

Computer Science &Engineering

Suspicious Email Detection 3.4 Oracle:


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.Codds 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

MEC

20

Computer Science &Engineering

Suspicious Email Detection


standard JDBC calls to the external resource manager-specific API calls. The diagram 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 type1 driver. JDBCODBC driver that comes with the software distribution for J2SE is an example of a

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 vendors 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.Theyre 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: MEC Technical Feasibility 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 MySQL, 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 systems 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 Customer. the

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: system? Interactive, which are inputs entered during a dialogue. External inputs, which are prime inputs for the system. Internal inputs, which are user communications with the system. Operational, which are computer departments communications to the

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

MEC

26

Computer Science &Engineering

Suspicious Email Detection


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 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 Users 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 MEC Will decimal points need to be inserted Should leading zeros be suppressed. 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 MEC 28 Computer Science &Engineering

Suspicious Email Detection


4) Encryption Module 5) User Module 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. MEC 29 Computer Science &Engineering

Suspicious Email Detection Mailing Module:


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 1 USERNAME

DATA TYPE
Varchar2(10)

DESCRIPTION
This is unique identifier given to an user to identify him uniquely. This is the Primary Key of the table. This the password of the user

PASSWORD

Varchar2(20)

Table Name: block list Description: This table is used for clients mailing information.

MEC

30

Computer Science &Engineering

Suspicious Email Detection SL.NO


1 2 3 4

FIELD NAME
MAIL TO MAIL FROM SUBJECT MESSAGE

DATA TYPE
Varchar2(10) Varchar2(20) Varchar2(40) Varchar2(40)

DESCRIPTION
To whom the user wants to send the mails From whom the users got the mails. The subject present in the mail. 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 1

FIELD NAME
keyword

DESCRIPTION
The suspected keywords of the mails.

5.3 UML-Diagrams: Unified Modeling Language:


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.

MEC

31

Computer Science &Engineering

Suspicious Email Detection

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.

UML is specifically constructed through two different domains they are: UML Analysis modeling, this focuses on the user model and structural model MEC 32 Computer Science &Engineering

Suspicious Email Detection


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 users 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 Keywords Alert Mails Informative Enter keywords() check mails() Block List Alert Mails Informative Mails check mails()

Compose Mails composing the mail send the mail()

User Mails Compose() send()

Sent Mails Sent items check the sent items()

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

Admin

Alert Mails

Informative Mails

Compose Mail

User

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 measure employed during software program. It is the major quality during software development,

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>&copy; 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 Admins Login Page:

MEC

45

Computer Science &Engineering

Suspicious Email Detection

Admins 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 Users Registration:

Users login:

MEC

49

Computer Science &Engineering

Suspicious Email Detection

Users login page:


MEC 50 Computer Science &Engineering

Suspicious Email Detection

Composing a mail by user:

MEC

51

Computer Science &Engineering

Suspicious Email Detection

Mail has got blocked:

MEC

52

Computer Science &Engineering

Suspicious Email Detection

Message in sent mail:

MEC

53

Computer Science &Engineering

Suspicious Email Detection

Alert list of blocked mails in admin page:

MEC

54

Computer Science &Engineering

Suspicious Email Detection

9. CONCLUSION

MEC

55

Computer Science &Engineering

Suspicious Email Detection 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

JAVA Technologies:
MEC 56 Computer Science &Engineering

Suspicious Email Detection


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

11. BIBLIOGRAPHY

MEC

57

Computer Science &Engineering

Suspicious Email Detection


Advanced Java Programming Mastering JAVA 2 Java Server Programming Software Engineering - Dietel and Dietel - John Zukowski - Apress - Roger S Pressman

Anlysis & Design of InformationSystems Senn

Websites www.eci.gov.in www.google.com www.apeci.com www.askjeeves.com

MEC

58

Computer Science &Engineering

Você também pode gostar