Fiance Fraud Detection

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 75

FRAUD DETECTION AND ANALYSIS FOR INSURANCE CLAIM USING

MACHINE LEARNING

ABSTRACT:

Financial fraud, such as money laundering, is known to be a serious process of crime that
makes illegitimately obtained funds go to terrorism or other criminal activity. This kind of
illegal activities involve complex networks of trade and financial transactions, which makes it
difficult to detect the fraud entities and discover the features of fraud. Fortunately,
trading/transaction network and features of entities in the network can be constructed from
the complex networks of the trade and financial transactions. The trading/transaction network
reveals the interaction between entities, and thus anomaly detection on trading networks can
reveal the entities involved in the fraud activity; while features of entities are the description
of entities, and anomaly detection on features can reect details of the fraud activities. Thus,
network and features provide complementary information for fraud detection, which has
potential to improve fraud detection performance. However, the majority of existing methods
focus on networks or features information separately, which does not utilize both
information. In this paper, we propose a novel fraud detection framework, CoDetect, which
can leverage both network information and feature information for financial fraud detection.
In addition, the CoDetect can simultaneously detecting financial fraud activities and the
feature patterns associated with the fraud activities. Extensive experiments on both synthetic
data and real-world data demonstrate the efficiency and the effectiveness of the proposed
framework in combating financial fraud, especially for money laundering.
CHAPTER 1

INTRODUCTION

It`s very difficult for the people to differentiate the real and the fake currencies. In
Bangladesh, fake notes are available. In fact, the bank workers cannot distinguish the
difference between the real and the fake currencies because they check the notes in bare eyes
and so their perception can be wrong sometimes. For this ordinary people can be cheated
anytime. And also this causes an increment of doing many criminal offences. To solve this
major problem, a system is developed that will detect the currency whether it is fake or real.
For example, Bangladeshi currency is used for analysis. The system presents the image
processing system containing all the necessary processes such as image scanning and reading,
image pre-processing, segmentation, feature extraction etc. along with a code that is done in
MATLAB software. So this system is represented as an identifier of the fake and real
currencies. MATLAB is the computational tool of choice for research development and
analysis. The image formats supported by BMP, HDF, JPEG, PCX, TIFF, XWV, PNG and so
on.

Back Ground

The relevance of a project shows how efficient the output of the project which is to be
specified by the evaluation or by using the project which were being submitted. That means
the relevance of a project is always to be related to some goal and, for general research
projects, such goal is mostly increase of our scientific knowledge, although it is sometimes
also related to more direct social environmental benefits for our society. In this proposed
system, our relevance is to focus on detection of fake currencies which is spreader in Indian
market also our main goal is to use image processing technique and recognize original
currency. Relevance of our project is similar to currency recognition system using neural
networks. That identifies, and extracts robust features from banknotes. Now a days many
ways are found for currency recognition also most of the people manually recognizes
currency which is sometimes mistakenly not recognize by some people to build a system so
the system can recognize all kind of currencies which is useful to common man
Problem Statement

Existing systems uses optoelectronic device to produce the signal from the light
refracted by the banknote. There are many currency recognition machines are available in
current market through which currency can be recognize whether by using image processing
technique or neural networks. Existing currency recognition systems are mainly based on
processing of image using image processing techniques and neural networks. Some system
uses Gaussian function in hidden layer and output layer of NN in the place of sigmoid
function. System shown that the Gaussian function is more effective than sigmoid function
for the recognition of known features and rejection of unknown patterns

OBJECTIVES OF APPLICATION

 To identify original currency note using Image processing techniques.


 System compare images of currency note to the stored images of original currency
note images.
 To provide Cheaper and Accurate system to the user which can easily accessible and
gives accurate recognition of currency notes?
 To develop user friendly web application of currency recognition system.
 To make available to common people quickly and easily so they can utilize anywhere
and at any time

Problem Description

The proposed web portal will help common people for currency recognition anywhere
anytime. Automatic method for detection of fake currency note is very important in every
country. In this approach system extract the general attributes of the paper currency like
various dominant parts of image of currency note (like identification marks, latent image,
etc). The identification marks helps to know the denomination of currency. These marks of
currency helps to detect fake or genuine. The system will be developed to check different
currency notes of 100, 500 and 1000 rupees. The Web Application will display currency
denomination and either currency is genuine or fake. The system simply extracts feature of
currency which were match with original currency features and immediately displays result
with Modules Description

 Latent image
 Currency Value Area (100,500 & old 1000)
 Intaglio printing
 Identification mark
 See through register
 Reserve Bank of India at top of currency note
 Reserve Bank of India logo at right corner
SYSTEM ANALYSIS

Existing System

In recent years, financial fraud activities such as credit card fraud, money laundering,
increase gradually. These activities cause the loss of personal and/or enterprises’ properties.
Even worse, the endanger the security of nation because the profit from fraud may go to
terrorism Thus, accurately detecting financial fraud and tracing fraud are necessary and
urgent. However, financial fraud detection is not an easy task due to the complex trading
networks and transactions involved. Taking money laundering as an example, money
laundering is defined as the process of using trades to move money/goods with the intent of
obscuring the true origin of funds. Usually, the prices, quantity or quality of goods on an
invoice of money laundering are fake purposely. The misrepresentation of prices, quantity or
quality of goods on an invoice merely exposes light difference from regular basis if we use
the renumbers as features to generate detection policy

DRAWBACK IN EXISTING SYSTEM

 If you lose the offline wallet, the coins are lost forever
 It is still not yet accepted by a lot of businesses as a means of making payment.
 Online coins can be hacked. Once hacked coins are lost for life.

EXISTING ALGORITHM

 Basiyean classification algorithm


 Recurrent neural network (RNN)
Proposed System

a new framework, CoDetect, which can perform fraud detection on graph-based


similarity matrix and feature matrix simultaneously. It introduces a new way to reveal the
nature of financial activities from fraud patterns to suspicious property. Furthermore, the
framework provides a more interpretable way to identify the fraud on sparse matrix.
Experimental results on synthetic and real world data sets show that the proposed framework
(CoDetect) can effectively detect the fraud patterns as well as suspicious features. With this
co detection framework, executives in financial supervision can not only detect the fraud
patterns but also trace the original of fraud with suspicious feature. Financial activities are
involving with time. We can represent these activities into similarity tensor and feature
tensor. So we would like to study how to integrate tensor into co detect framework for fraud
detection

Advantages

 Total Bit coin passing through


 Net Bit coin flow (received minus sent)
 number of transactions
 closeness centrality
 The transactions are decentralized. Unlike the centralized transactions associated with
cash and card transactions, bitcoin transactions are carried out via decentralized
private

Proposed Algorithm

 ARIMA (Auto Regressive Integrated Moving Average)


 Root Mean Square Error
BITCOIN CRYPTOCURRENCY

The first decentralized crypto currency was created in 2009 called Bitcoin2. In 2010 price for
one bit coin never reached above one dollar3, but in May 2018 it was the one with the highest
market cap of around 149 billion dollars with a little more than 17 million bit coins in
circulation4. This makes one bit coin worth around 8700 dollars (Market cap / circulation).
Bitcoin is a digital currency, which can be used to buy or trade things electronically, however
what makes it different from normal currency is the decentralization of the system by using
blockchain technology5. By being decentralized, it has no single entity controlling the
network but instead maintained by a group of volunteers running on different computers
around the world. Physical currency such as USD can have unlimited supply of currency, if
the government decides to print more, which can change the value of the currency related to
others. However, the increase of Bitcoin circulation is heavily guarded by an algorithm,
which allows only a few Bitcoin to be created every hour by miners until it reaches a total cap
of 21 million bitcoins6.

The decentralization of the system in theory allows for anonymity, since there are no bank or
centralized entity to confirm and validate transactions that are happening. In practice
however, when a transaction is made, each user uses their identifier, known as addresses
during the transaction. These addresses are not associated with a name, but because the
transaction must be transparent because of the way decentralization of the system works, it is
possible for everyone to see it. A disadvantage of the system is that, in case of losing the
address, forgetting it or wanting to reverse a transaction, because there is no authority
involved, it is not possible to do anything about it.

Web sites – To a degree any websites that has information related to bit coin can be written
here, but most important type of sites would be major media outlets and different government
sites of different countries for any change on regulations.
Internet forums – Bitcointalk.org is created by one of the founder of bit coin, and is one of
the biggest forums on bit coin, however many smaller ones exist as well, whom dedicates
themselves to news and information on bit coin. These sites are mostly guaranteed to have
users who are interested and understand bit coin, which mean most posts will be made by
educated users on the topic and be related to bit coin.

Price collection – To obtain prices on bit coin, sites like Bitcoin exchange exists where it is
possible to buy or sell bit coins. Since every sites have different prices on the bit coin, it is
not possible to guarantee that the biggest site is the one with the cheapest price. According to
article27 the top 3 most recommended is Coin base, for being the biggest, Gemini Exchange
for low fees and Chantelle since they have lesser known crypto currencies.

These social platforms and other data sources will be looked upon and analyzed to see which
would fit best to gather data to use for predicting bit coin prices. Although each platform has
their own demographic, many of them are overlapping, this could be a problem if multiple
platforms were used, giving duplicate data rather than more data. Facebook has the potential
of giving the most data, however since the main demographic probably do not know or use
Bitcoin, it might be mostly data which does not influence Bitcoin price. Twitter and Reddit
on the other hand might have less data to obtain, however more specialized knowledge of the
users might lead to some changes in the Bitcoin price. Telegram being the extreme of them
all, with the least users, but with the highest expertise.
CHAPTER 2

LITERATURE SURVEY

Business Understanding

Bitcoin, the first ever decentralized cryptocurrency, was originally conceived to create a
global currency and payment system that is able to reliably work without requiring a trusted
third party. The main underlying technology that powers Bitcoin, and almost all other
cryptocurrencies today, is known as block -chain (Lewis, 2015). The block-chain requires a
peer-to-peer network. The ADEPT is one of peer-to-peer network which has been developed
by IBM partnership with Samsung (Panikkar, Nair, Brody, & Pureswaran, 2015).

The emerging payment by using crypto currencies accelerating the technology pervades the
positive impact to human life (Bakar & Rosbi, 2017). The individual and business has
adopted this new system in term of transact a money quickly and efficiently over the internet
without to supply the credit cards or banking information and use a traditional payment
system (Ahamad, Nair, & Varghese, 2013). In 2018, the cryptocurrency has a total market
cap of around $800 billion USD in Jan 2018 as reported in the Global chart of total market
capitalization.

The cryptocurrency has been seen as investment tool is not only focusing on investor but the
private investors and brokers also interested to these digital currencies. In this regards, it is
necessary to predict the future value (i.e. forecasting or estimating) of cryptocurrency prices
to make decision in trading or investment. The objective of Level-I was to construct the
forecasting model to predict the future values of cryptocurrencies. The case is financial time-
series prediction. The case integrates knowledge from various sources – Crypto Currencies,
Quantitative Finance and Machine learning. The objective of Level-II was to implement the
model which involves applying “live” model to make a decision making for trading or
investment. To predict the forecasting values of 20 major cryptocurrencies, the methodology
shown in Figure 1 was employed.
Title: Stock Trend Prediction Using Simple Moving Average Supported by News
Classification

Author: Stefan Lauren, Dra. Harlili S.,

Description:

The ability to predict stock trend is crucial for stock investors. Using daily time series data,
one is able to predict the trend with the help of simple moving average technique.
Unfortunately, stock trend is also affected by many factors, one of which is daily news. Daily
news, particularly financial news have a great role in deciding stock trend. Each news has a
sentiment value classified into positive, negative, and neutral sentiment that directly affects
whether the trend goes up or down. It will be useful to combine simple moving average and
news classification to predict stock trend more responsively. It uses machine learning using
artificial neural network to combine the two aspects. The experiment uses approximately one
year’s worth of stock data and financial news. Artificial neural network is able to combine
simple moving average technique and news classification, and the result indicates that
financial news can improve the prediction responsiveness. Stock investment has been
gradually growing popular lately. The increase on the number of stock investors is propelled
by the numerous stock prediction techniques formulated today. Most of these techniques use
time series data. The utilization of these techniques has mainly one objective, which is to
maximize profit and minimize loss.

Drawback:

 Lack of regulation to protect consumers.


 Not good for established banking practices.

Advantages:

 It combines the machine learning using artificial neural network to combine the two
aspects.
 Artificial neural network is able to combine simple moving average technique and
news classification.
 It can improve the prediction responsiveness.

Title: A critical review of Bitcoins usage by cybercriminals.

Author: Jithin Jose, Krishnan Kannoorpatti,

Description:

Bitcoin is the latest technological form of digital virtual currency which is based on
cryptography and is a decentralized currency that is used in the recent generation of global
money system. The pseudo-anonymous exchanging of cash over the web became common
and possible by the invention of these cryptocurrencies. Anonymity is an important factor
that keeps the bitcoin more live and interesting even after years. The Bitcoins can be used
without linking any kind of real world identity to it, which makes it different from the normal
online currency. It’s tough to tell who owns it unless linked with owner’s name to the Bitcoin
address. Bitcoin does not monitor clients; it monitors addresses where the cash is and keeps a
public ledger for all the processed transactions . Advanced coinage, for example, the dollar
and the euro are controlled by governments and monetary variables which decide their
quality and their operation. This virtual cryptocurrency was introduced back in the year 2008
and released the software in 2009 by Satoshi Nakamoto . The basic idea of the system is peer-
to-peer, where the transaction is done directly without a middle person. The transactions are
confirmed by network nodes which is stored in a public ledger. This public distributed ledger
is called the block chain and uses bitcoin as the unit. The mining of Bitcoins is an activity in
which the coins are made as a reward for transaction handling process . Here the users offer
their computing energy to confirm and record the payments.

Drawbacks:

 Fluctuating valuation without backing—speculative ride can be wild, as only a limited


number of bitcoins are in circulation.
 Not widely endorsed. Regulators in some countries have warned against or have taken
concrete measures to discourage bitcoins use.

Advantages:

 Promotes a global economy—works everywhere, anytime, with minimal processing


fees.
 Trusted exchange.

Title: A First Estimation of the Proportion of Cybercriminal Entities in the Bitcoin Eco
system using Supervised Machine Learning.

Author: Haohua Sun Yin, Ravi Vatrapu.

Description:

Bitcoin is a peer-to-peer payment system and digital currency, conceived in 2008 . In 2015,
Bitcoin was estimated to be accepted as a payment method by over 100,000 merchants
around the world . As a recent study showed, Bitcoins popularity, together with other digital
currencies, continues to raise: there are 2.9 to 5.8 million unique users, majority of which are
Bitcoin users . Nonetheless, a significant slice of the Bitcoin ecosystem is, and has been,
associated with illicit activities such as money laundering, cyber-extortion, thievery,
scamming, terror financing or illegal goods trading in the clear through the darknet.Due to
Bitcoins characteristics, especially its pseudo anonymity, the fact that it became the preferred
payment system for illicit activities comes as no surprise. In contrast to other digital payment
methods such as debit or credit card payments, Bitcoin transactions are not linked to real
world identities, but only to public keys or addresses, and the generation of the latter does not
require any verified personal information. Whereas some entities voluntarily reveal their
addresses when it is necessary to provide their services (e.g. donation addresses), others carry
out privacy-enhancing payment schemes or leverage mixing services to obscure their
spending habits. This behaviour is commonly seen in entities that are related to tor markets,
ransom payments, scams, and thievery.

Drawback:

 Encourages illicit activity—money laundering, tax evasion, and illicit .

Advantages:

 Good for democracy.


 The main motivation of the current research is to increase the transparency of the
ecosystem, encouraging businesses and consumers to adopt Bitcoin as a payment
system, growing its economy without the need of illicit activities.

Title: Design of Privacy-preserving Mobile Bitcoin Client Based on γ-Deniability


Enabled Bloom Filter.

Author: Kota Kanemura, Kentaroh Toyoda, Tomoaki Ohtsuki.

Description:

A revolution of crypto currencies is very trending in the world . In particular, Bitcoin is the
most successful one and can be exchanged with a real currency . Bitcoin is a digital currency
system maintained by users in the P2P (Peer-to-Peer) network and does not need any central
authorities, e.g., bank . Bitcoin is transferred in between Bitcoin addresses via a formatted
message called transaction. The legitimacy of transactions is verified by participating users
and if verified, such transactions are recorded in the everlasting ledger called blockchain
Recently, more and more services accept Bitcoin as a payment method . For instance, a user
can buy some items with Bitcoin through an advanced vending machine. Since it is quite
common to pay with mobile phones in daily life, more mobile Bitcoin client apps will be
available in the near future. However, at the end of January 2017, the size of Bitcoin’s block
chain is more than 100 GB and thus it is not wise for storage constrained devices to keep the
entire block chain. To solve this problem, an SPV (Simplified Payment Verification) client
that does not download the entire block chain has been developed .
Title: A Survey on Security and Privacy Issues of Bitcoin

Author: Mauro Conti, Chhagan Lal

Description:

Bitcoin is a popular cryptocurrency that records all transactions in a distributed append-only


public ledger called block chain. The security of Bitcoin heavily relies on the incentive
compatible proof-of-work (PoW) based distributed consensus protocol, which is run by the
network nodes called miners. In exchange for the incentive, the miners are expected to
maintain theblockchainhonestly.Sinceitslaunchin2009,Bitcoineconomy has grown at an
enormous rate, and it is now worth about 150 billions of dollars. This exponential growth in
the market value of bitcoins motivate adversaries to exploit weaknesses for profit, and
researchers to discover new vulnerabilities in the system, propose countermeasures, and
predict upcoming trends. It present a systematic survey that covers the security and privacy
aspects of Bitcoin. We start by giving an overview of the Bitcoin system and its major
components along with their functionality and interactions within the system. We review the
existing vulnerabilities in Bitcoin and its major underlying technologies such as block chain
and PoW-based consensus protocol. These vulnerabilities lead to the execution of various
security threats to the standard functionality of Bitcoin. We then investigate the feasibility
and robustness of the state-of the-art security solutions. Additionally, we discuss the current
anonymity considerations in Bitcoin and the privacy-related threats to Bitcoin users along
with the analysis of the existing privacy-preserving solutions. Finally, we summarize the
critical open challenges, and we suggest directions for future research towards provisioning
stringent security and privacy solutions for Bitcoin.The Bitcoin nodes communicate using a
peer-to-peer (P2P) network. To achieve consensus among nodes, Bitcoin uses a probabilistic
distributed consensus protocol. In Bitcoin, electronic payments are done by generating
transactions that transfer bitcoins among users.
CHAPTER – IV

SYSTEM SPECIFICATION

Hardware Requirements
 Processor : Intel Core processor
 Hard disk : 160 GB
 RAM : 2 GB

Software Requirements
 Operating System : Windows 7 / 8 / 10
 Coding Language : JDK 1.8
 Framework : Eclipse Mars
 Web server : Apache Tomcat 8.0
 Data base : MYSQL 5.0

SYSTEM STUDY
PRELIMINARY INVESTIGATION

The first and foremost strategy for development of a project starts from the thought of
designing a mail enabled platform for a small firm in which it is easy and convenient of
sending and receiving messages, there is a search engine ,address book and also including
some entertaining games. When it is approved by the organization and our project guide the
first activity, ie. Preliminary investigation begins. The activity has three parts:

 Request Clarification

 Feasibility Study

 Request Approval

REQUEST CLARIFICATION

After the approval of the request to the organization and project guide, with an
investigation being considered, the project request must be examined to determine precisely
what the system requires. Here our project is basically meant for users within the company
whose systems can be interconnected by the Local Area Network (LAN). In today’s busy
schedule man need everything should be provided in a readymade manner. So taking into
consideration of the vastly use of the net in day to day life, the corresponding development of
the portal came into existence.

FEASIBILITY ANALYSIS

An important outcome of preliminary investigation is the determination that the system


request is feasible. This is possible only if it is feasible within limited resource and time. The
different feasibilities that have to be analyzed are

 Operational Feasibility
 Economic Feasibility
 Technical Feasibility
Operational Feasibility
Operational Feasibility deals with the study of prospects of the system to be
developed. This system operationally eliminates all the tensions of the Admin and helps him
in effectively tracking the project progress. This kind of automation will surely reduce the
time and energy, which previously consumed in manual work. Based on the study, the system
is proved to be operationally feasible.

Economic Feasibility

Economic Feasibility or Cost-benefit is an assessment of the economic justification


for a computer based project. As hardware was installed from the beginning & for lots of
purposes thus the cost on project of hardware is low. Since the system is a network based,
any number of employees connected to the LAN within that organization can use this tool
from at anytime. The Virtual Private Network is to be developed using the existing resources
of the organization. So the project is economically feasible.

Technical Feasibility
According to Roger S. Pressman, Technical Feasibility is the assessment of the
technical resources of the organization. The organization needs IBM compatible machines
with a graphical web browser connected to the Internet and Intranet. The system is developed
for platform Independent environment. Java Server Pages, JavaScript, HTML, SQL server
and WebLogic Server are used to develop the system. The technical feasibility has been
carried out. The system is technically feasible for development and can be developed with the
existing facility.

REQUEST APPROVAL

Not all request projects are desirable or feasible. Some organization receives so many
project requests from client users that only few of them are pursued. However, those projects
that are both feasible and desirable should be put into schedule. After a project request is
approved, it cost, priority, completion time and personnel requirement is estimated and used
to determine where to add it to any project list. Truly speaking, the approval of those above
factors, development works can be launched.

SYSTEM DESIGN AND DEVELOPMENT

INPUT DESIGN

Input Design plays a vital role in the life cycle of software development, it requires
very careful attention of developers. The input design is to feed data to the application as
accurate as possible. So inputs are supposed to be designed effectively so that the errors
occurring while feeding are minimized. According to Software Engineering Concepts, the
input forms or screens are designed to provide to have a validation control over the input
limit, range and other related validations.

This system has input screens in almost all the modules. Error messages are
developed to alert the user whenever he commits some mistakes and guides him in the right
way so that invalid entries are not made. Let us see deeply about this under module design.

Input design is the process of converting the user created input into a computer-based
format. The goal of the input design is to make the data entry logical and free from errors.
The error is in the input are controlled by the input design. The application has been
developed in user-friendly manner. The forms have been designed in such a way during the
processing the cursor is placed in the position where must be entered. The user is also
provided with in an option to select an appropriate input from various alternatives related to
the field in certain cases.

Validations are required for each data entered. Whenever a user enters an erroneous
data, error message is displayed and the user can move on to the subsequent pages after
completing all the entries in the current page.

Output Design
The Output from the computer is required to mainly create an efficient method of
communication within the company primarily among the project leader and his team
members, in other words, the administrator and the clients. The output of VPN is the system
which allows the project leader to manage his clients in terms of creating new clients and
assigning new projects to them, maintaining a record of the project validity and providing
folder level access to each client on the user side depending on the projects allotted to him.
After completion of a project, a new project may be assigned to the client. User
authentication procedures are maintained at the initial stages itself. A new user may be
created by the administrator himself or a user can himself register as a new user but the task
of assigning projects and validating a new user rests with the administrator only.

The application starts running when it is executed for the first time. The server has to be
started and then the internet explorer in used as the browser. The project will run on the local
area network so the server machine will serve as the administrator while the other connected
systems can act as the clients. The developed system is highly user friendly and can be easily
understood by anyone using it even for the first time.

SOFTWARE REQUIREMENT SPECIFICATIONS

JAVA OVERVIEW

Java is a high-level language that can be characterized by all of the following exhortations.

 Simple
 Object Oriented
 Distributed
 Multithreaded
 Dynamic
 Architecture Neutral
 Portable
 High performance
 Robust
 Secure

In the Java programming language, all the source code is first written in plain text
files ending with the .java extension. Those source files are then compiled into .class files by
the Java compiler (javac). A class file does not contain code that is native to your processor;
it instead contains byte codes - the machine language of the Java Virtual Machine. The Java
launcher tool (java) then runs your application with an instance of the Java Virtual Machine.

JAVA PLATFORM:

A platform is the hardware or software environment in which a program runs. The


most popular platforms are Microsoft Windows, Linux, Solaris OS and MacOS. Most
platforms can be described as a combination of the operating system and underlying
hardware. The java platform differs from most other platforms in that it’s a software-only
platform that runs on the top of other hardware-based platforms.

The java platform has two components:

 The Java Virtual Machine.

 The Java Application Programming Interface(API)

Java Virtual Machine is the base for the java platform and is pored onto various
hardware-based platforms.

The API is a large collection of ready-made software components that provide many
useful capabilities, such as graphical user interface (GUI) widgets. It is grouped into libraries
of related classes and interfaces, these libraries are known as packages.

As a platform-independent environment, the Java platform can be a bit slower than


native code. However, advances in compiler and virtual machine technologies are bringing
performance close to that of native code without threatening portability.

Development Tools:
The development tools provide everything you’ll need for compiling, running,
monitoring, debugging, and documenting your applications. As a new developer, the main
tools you’ll be using are the Java compiler (javac), the Java launcher (java), and the Java
documentation (javadoc).

Application programming Interface (API):

The API provides the core functionality of the Java programming language. It offers a
wide array of useful classes ready for use in your own applications. It spans everything from
basic objects, to networking and security.

Deployment Technologies:

The JDK provides standard mechanisms such as Java Web Start and Java Plug-In, for
deploying your applications to end users.

User Interface Toolkits:

The Swing and Java 2D toolkits make it possible to create sophisticated Graphical
User Interfaces (GUIs).

Drag-and-drop support:

Drag-and-drop is one of the seemingly most difficult features to implement in user


interface development. It provides a high level of usability and intuitiveness.

Drag-and-drop is, as its name implies, a two step operation. Code must to facilitate
dragging and code to facilitate dropping. Sun provides two classes to help with this namely
DragSource and DropTarget

Look and Feel Support:

Swing defines an abstract Look and Feel class that represents all the information central
to a look-and-feel implementation, such as its name, its description, whether it’s a native
look-and-feel- and in particular, a hash table (known as the “Defaults Table”) for storing
default values for various look-and-feel attributes, such as colors and fonts.

Each look-and-feel implementation defines a subclass of Look And Feel (for example,
swing .plaf.motif.MotifLookAndFeel) to provide Swing with the necessary information to
manage the look-and-feel.

The UIManager is the API through which components and programs access look-and-
feel information (They should rarely, if ever, talk directly to a LookAndFeelinstance).
UIManager is responsible for keeping track of which LookAndFeel classes are available,
which are installed, and which is currently the default. The UIManager also manages access
to the Defaults Table for the current look-and-feel.

Dynamically Changing the Default Look-and-Feel:

When a Swing application programmatically sets the look-and-feel, the ideal place to
do so is before any Swing components are instantiated. This is because the
UIManager.setLookAndFeel() method makes a particular Look And Feel the current default
by loading and initializing that LookAndFeel instance, but it doesnot automatically cause any
existing components to change their look-and-feel.

Remember that components initialize their UI delegate at construct time, therefore, if


the current default changes after they are constructed, they will not automatically update their
UIs accordingly. It is up to the program to implement this dynamic switching by traversing
the containment hierarchy and updating the components individually.

Integrated Development Environment (IDE)


IDE Introduction
An Integrated Development Environment (IDE) or interactive development
environment is a software application that provides comprehensive facilities to computer
programmers for software development. An IDE normally consists of a source code
editor, build automation tools and a debugger. Most modern IDEs have intelligent code
completion. Some IDEs contain a compiler, interpreter, or both, such as Net Beans and
Eclipse. Many modern IDEs also have a class browser, an object browser, and a class
hierarchy diagram, for use in object-oriented software development. The IDE is designed
to limit coding errors and facilitate error correction with tools such as the “NetBeans”
Find Bugs to locate and fix common Java coding problems and Debugger to manage
complex code with field watches, breakpoints and execution monitoring.

An Integrated Development Environment (IDE) is an application that facilitates


application development. In general, an IDE is a graphical user interface (GUI)-based
workbench designed to aid a developer in building software applications with an
integrated environment combined with all the required tools at hand. Most common
features, such as debugging, version control and data structure browsing, help a developer
quickly execute actions without switching to other applications. Thus, it helps maximize
productivity by providing similar user interfaces (UI) for related components and reduces
the time taken to learn the language. An IDE supports single or multiple languages.

One aim of the IDE is to reduce the configuration necessary to piece together
multiple development utilities, instead providing the same set of capabilities as a cohesive
unit. Reducing that setup time can increase developer productivity, in cases where
learning to use the IDE is faster than manually integrating all of the individual tools.
Tighter integration of all development tasks has the potential to improve overall
productivity beyond just helping with setup tasks.

IDE Supporting Languages

Some IDEs support multiple languages, such as Eclipse, ActiveState Komodo,


IntelliJ IDEA, MyEclipse, Oracle JDeveloper, NetBeans, Codenvy and Microsoft Visual
studio GNU Emacs based on C and Emacs Lisp, and IntelliJ IDEA, Eclipse, MyEclipse or
NetBeans, all based on Java, or MonoDevelop, based on C#. Eclipse and Netbeans have
plugins for C/C++, Ada, GNAT (for example AdaGIDE), Perl, Python, Ruby, and PHP.

IDE Tools

There are many IDE tools available for source code editor, built automation tools and
debugger. Some of the tools are,

 Eclipse
 NetBeans
 Code::Blocks
 Code Lite
 Dialog Blocks

NetBeans IDE 8.0 and new features for Java 8

NetBeans IDE 8.0 is released, also providing new features for Java 8 technologies. It has
code analyzers and editors for working with Java SE 8, Java SE Embedded 8, and Java ME
Embedded 8. The IDE also has new enhancements that further improve its support for Maven
and Java EE with PrimeFaces.

Most important highlights are:

The top 5 features of NetBeans IDE 8 are as follows:

1. Tools for Java 8 Technologies. Anyone interested in getting started with lambdas, method
references, streams, and profiles in Java 8 can do so immediately by downloading NetBeans
IDE 8. Java hints and code analyzers help you upgrade anonymous inner classes to lambdas,
right across all your code bases, all in one go. Java hints in the Java editor let you quickly and
intuitively switch from lambdas to method references, and back again.

Moreover, Java SE Embedded support entails that you’re able to deploy, run, debug or profile
Java SE applications on an embedded device, such as Raspberry PI, directly from NetBeans
IDE. No new project type is needed for this, you can simply use the standard Java SE project
type for this purpose.

1. Tools for Java EE Developers. The code generators for which NetBeans IDE is well
known have been beefed up significantly. Where before you could create bits and
pieces of code for various popular Java EE component libraries, you can now generate
complete PrimeFaces applications, from scratch, including CRUD functionality and
database connections.

Additionally, the key specifications of the Java EE 7 Platform now have new and enhanced
tools, such as for working with JPA and CDI, as well as Facelets.

Let’s not forget to mention in this regard that Tomcat 8.0 and TomEE are now supported, too,
with a new plugin for WildFly in the NetBeans Plugin Manager.
3. Tools for Maven. A key strength of NetBeans IDE, and a reason why many developers
have started using it over the past years, is its out of the box support for Maven. No need to
install a Maven plugin, since it’s a standard part of the IDE. No need to deal with IDE-
specific files, since the POM provides the project structure.And now, in NetBeans IDE 8.0,
there are enhancements to the graph layouting, enabling you to visualize your POM in
various ways, while also being able to graphically exclude dependencies from the POM file,
without touching the XML.

4. Tools for JavaScript. Thanks to powerful new JavaScript libraries and frameworks over
the years, JavaScript as a whole has become a lot more attractive for many developers. For
some releases already, NetBeans IDE has been available as a pure frontend environment, that
is, minus all the Java tools for which it is best known. This lightweight IDE, including Git
versioning tools, provides a great environment for frontend devs. In particular, for users of
AngularJS, Knockout, and Backbone, the IDE comes with deep editor tools, such as code
completion and cross-artifact navigation.In NetBeans IDE 8.0, there’s a very specific focus
on AngularJS, since this is such a dominant JavaScript solution at the moment. From these
controllers, you can navigate, via hyperlinks embedded in the JavaScript editor, to the related
HTML views. And, as shown in this screenshot, you can use code completion inside the
HTML editor to access controllers, and even the properties within the controllers, to help you
accurately code the related artifacts in your AngularJS applications.
Also, remember that there’s no need to download the AngularJS Seed template, since it’s
built into the NetBeans New Project wizard.

5. Tools for HTML5. JavaScript is a central component of the HTML5 Platform, a collective
term for a range of tools and technologies used in frontend development. Popular supporting
technologies are Grunt, a build tool, and Karma, a test runner framework. Both of these are
now supported out of the box in NetBeans IDE 8.0

JDBC (JAVA DATABASE CONNECTIVITY)

In an effort to set an independent database standard API for Java, Sun Microsystems
developed Java Database Connectivity, or JDBC. JDBC offers a generic SQL database access
mechanism that provides a consistent interface to a variety of RDBMSs. This consistent
interface is achieved through the use of “plug-in” database connectivity modules, or drivers.
If a database vendor wishes to have JDBC support, he or she must provide the driver for each
platform that the database and Java run on.

To gain a wider acceptance of JDBC, Sun based JDBC’s framework on ODBC. As


you discovered earlier in this chapter, ODBC has widespread support on a variety of
platforms. Basing JDBC on ODBC will allow vendors to bring JDBC drivers to market much
faster than developing a completely new connectivity solution.

JDBC was announced in March of 1996. It was released for a 90 day public review
that ended June 8, 1996. Because of user input, the final JDBC v1.0 specification was
released soon after.

The remainder of this section will cover enough information about JDBC for you to
know what it is about and how to use it effectively. This is by no means a complete overview
of JDBC. That would fill an entire book.
JDBC Goals

Few software packages are designed without goals in mind. JDBC is one that, because
of its many goals, drove the development of the API. These goals, in conjunction with early
reviewer feedback, have finalized the JDBC class library into a solid framework for building
database applications in Java.

The goals that were set for JDBC are important. They will give you some insight as to
why certain classes and functionalities behave the way they do. The eight design goals for
JDBC are as follows:

1. SQL Level API:


The designers felt that their main goal was to define a SQL interface for Java.
Although not the lowest database interface level possible, it is at a low enough level for
higher-level tools and APIs to be created. Conversely, it is at a high enough level for
application programmers to use it confidently. Attaining this goal allows for future tool
vendors to “generate” JDBC code and to hide many of JDBC’s complexities from the end
user.

2. SQL Conformance:

SQL syntax varies as you move from database vendor to database vendor. In an effort
to support a wide variety of vendors, JDBC will allow any query statement to be passed
through it to the underlying database driver. This allows the connectivity module to handle
non-standard functionality in a manner that is suitable for its users.

3. JDBC must be implemental on top of common database interfaces

The JDBC SQL API must “sit” on top of other common SQL level APIs. This goal
allows JDBC to use existing ODBC level drivers by the use of a software interface. This
interface would translate JDBC calls to ODBC and vice versa.

4. Provide a Java interface that is consistent with the rest of the Java system

Because of Java’s acceptance in the user community thus far, the designers feel
that they should not stray from the current design of the core Java system.
SQL Server 2008

Microsoft SQL Server is a relational database management system developed by


Microsoft. As a database server, it is a software product with the primary function of storing
and retrieving data as requested by other software applications-which may run either on the
same computer or on another computer across a network (including the Internet).

SQL is Structured Query Language, which is a computer language for storing,


manipulating and retrieving data stored in relational database. SQL is the standard language
for Relation Database System. All relational database management systems like MySQL, MS
Access, Oracle, Sybase, Informix, postgres and SQL Server use SQL as standard database
language. Also, they are using different dialects, such as:

 MS SQL Server using T-SQL,


 Oracle using PL/SQL,
 MS Access version of SQL is called JET SQL (native format) etc.

History

The history of Microsoft SQL Server begins with the first Microsoft SQL Server
product - SQL Server 1.0, a 16-bit server for the OS/2 operating system in 1989 - and extends
to the current day. As of December 2016 the following versions are supported by Microsoft:

 SQL Server 2008


 SQL Server 2008 R2
 SQL Server 2012
 SQL Server 2014
 SQL Server 2016

The current version is Microsoft SQL Server 2016, released June 1, 2016. The RTM
version is 13.0.1601.5. SQL Server 2016 is supported on x64 processors only.
SQL Process

When you are executing an SQL command for any RDBMS, the system determines
the best way to carry out your request and SQL engine figures out how to interpret the task.
There are various components included in the process. These components are Query
Dispatcher, Optimization Engines, Classic Query Engine and SQL Query Engine, etc. Classic
query engine handles all non-SQL queries but SQL query engine won't handle logical files.

Data storage

Data storage is a database, which is a collection of tables with typed columns. SQL
Server supports different data types, including primary types such as Integer, Float, Decimal,
Char (including character strings), Varchar (variable length character strings), binary (for
unstructured blobs of data), Text (for textual data) among others. The rounding of floats to
integers uses either Symmetric Arithmetic Rounding or Symmetric Round Down (fix)
depending on arguments: SELECT Round(2.5, 0) gives 3.

Microsoft SQL Server also allows user-defined composite types (UDTs) to be defined
and used. It also makes server statistics available as virtual tables and views (called Dynamic
Management Views or DMVs). In addition to tables, a database can also contain other objects
including views, stored procedures, indexes and constraints, along with a transaction log. A
SQL Server database can contain a maximum of 231 objects, and can span multiple OS-level
files with a maximum file size of 260 bytes (1 exabyte). The data in the database are stored in
primary data files with an extension .mdf. Secondary data files, identified with a .ndf
extension, are used to allow the data of a single database to be spread across more than one
file, and optionally across more than one file system. Log files are identified with the .ldf
extension

Storage space allocated to a database is divided into sequentially numbered pages,


each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is
marked with a 96-byte header which stores metadata about the page including the page
number, page type, free space on the page and the ID of the object that owns it. Page type
defines the data contained in the page: data stored in the database, index, allocation map
which holds information about how pages are allocated to tables and indexes, change map
which holds information about the changes made to other pages since last backup or logging,
or contain large data types such as image or text.

Buffer management

SQL Server buffers pages in RAM to minimize disk I/O. Any 8 KB page can be
buffered in-memory, and the set of all pages currently buffered is called the buffer cache. The
amount of memory available to SQL Server decides how many pages will be cached in
memory. The buffer cache is managed by the Buffer Manager. Either reading from or writing
to any page copies it to the buffer cache. Subsequent reads or writes are redirected to the in-
memory copy, rather than the on-disc version. The page is updated on the disc by the Buffer
Manager only if the in-memory cache has not been referenced for some time. While writing
pages back to disc, asynchronous I/O is used whereby the I/O operation is done in a
background thread so that other operations do not have to wait for the I/O operation to
complete. Each page is written along with its checksum when it is written.

Concurrency and locking

SQL Server allows multiple clients to use the same database concurrently. As such, it
needs to control concurrent access to shared data, to ensure data integrity-when multiple
clients update the same data, or clients attempt to read data that is in the process of being
changed by another client. SQL Server provides two modes of concurrency control:
pessimistic concurrency and optimistic concurrency. When pessimistic concurrency control is
being used, SQL Server controls concurrent access by using locks. Locks can be either shared
or exclusive. Exclusive lock grants the user exclusive access to the data-no other user can
access the data as long as the lock is held. Shared locks are used when some data is being
read-multiple users can read from data locked with a shared lock, but not acquire an exclusive
lock. The latter would have to wait for all shared locks to be released.

SQLCMD

SQLCMD is a command line application that comes with Microsoft SQL Server, and
exposes the management features of SQL Server. It allows SQL queries to be written and
executed from the command prompt. It can also act as a scripting language to create and run a
set of SQL statements as a script. Such scripts are stored as a .sql file, and are used either for
management of databases or to create the database schema during the deployment of a
database.

SQLCMD was introduced with SQL Server 2005 and this continues with SQL Server
2012 and 2014. Its predecessor for earlier versions was OSQL and ISQL, which is
functionally equivalent as it pertains to TSQL execution, and many of the command line
parameters are identical, although SQLCMD adds extra versatility.

FEATURES OF MY SQL SERVER

The OLAP Services feature available in SQL Server version 7.0 is now called MY
SQL Server Analysis Services. The term OLAP Services has been replaced with the term
Analysis Services. Analysis Services also includes a new data mining component. The
Repository component available in SQL Server version 7.0 is now called Microsoft MY SQL
Server Meta Data Services. References to the component now use the term Meta Data
Services. The term repository is used only in reference to the repository engine within Meta
Data Services.

SQL-SERVER database consist of five type of objects,

They are,

1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO
1) TABLE:

A database is a collection of data about a specific topic.

We can View a table in two ways,

a) Design View

b) Datasheet View

A)Design View

To build or modify the structure of a table, we work in the table design view. We can
specify what kind of dates will be holed.

B) Datasheet View

To add, edit or analyses the data itself, we work in table’s datasheet view mode.

2) QUERY:

A query is a question that has to be asked to get the required data. Access gathers
data that answers the question from one or more table. The data that make up the answer is
either dynast (if you edit it) or a snapshot (it cannot be edited).Each time we run a query, we
get latest information in the dynast. Access either displays the dynast or snapshot for us to
view or perform an action on it, such as deleting or updating.

3) FORMS:

A form is used to view and edit information in the database record. A form displays only
the information we want to see in the way we want to see it. Forms use the familiar controls
such as textboxes and checkboxes. This makes viewing and entering data easy. We can work
with forms in several views. Primarily there are two views,They are,

a) Design View

b) Form View
To build or modify the structure of a form, we work in form’s design view. We can add
control to the form that are bound to fields in a table or query, includes textboxes, option
buttons, graphs and pictures.

4) REPORT:

A report is used to view and print the information from the database. The report can
ground records into many levels and compute totals and average by checking values from
many records at once. Also the report is attractive and distinctive because we have control
over the size and appearance of it.

5) MACRO:

A macro is a set of actions. Each action in a macro does something, such as opening a form
or printing a report .We write macros to automate the common tasks that work easily and
save the time.

FEATURES OF SQL PROCEDURES

SQL procedures are characterized by many features. SQL procedures:

 Can contain SQL Procedural Language statements and features which support the

implementation of control-flow logic around traditional static and dynamic SQL

statements.

 Are supported in the entire DB2 family brand of database products in which many if

not all of the features supported in DB2 Version 9 are supported.

 Are easy to implement, because they use a simple high-level, strongly typed language.

 SQL procedures are more reliable than equivalent external procedures.

 Adhere to the SQL99 ANSI/ISO/IEC SQL standard.

 Support input, output, and input-output parameter passing modes.

 Support a simple, but powerful condition and error-handling model.

 Allow you to return multiple result sets to the caller or to a client application.
 Allow you to easily access the SQLSTATE and SQLCODE values as special

variables.

 Reside in the database and are automatically backed up and restored.

 Can be invoked wherever the CALL statement is supported.

 Support nested procedure calls to other SQL procedures or procedures implemented

in other languages.

 Support recursion.

Data Design
Schema Design
User table

Shared table
Request table

Message public
Message Name table

Data Integrity and Constraints


-- ----------------------------
-- Table structure for msgattri
-- ----------------------------
DROP TABLE IF EXISTS `msgattri`;
CREATE TABLE `msgattri` (
`id` int(233) NOT NULL auto_increment,
`sid` int(233) default NULL,
`occu` varchar(233) default NULL,
`catag` varchar(233) default NULL,
`encptmsg` varchar(233) default NULL,
`ogmsg` varchar(233) default NULL,
`sentby` varchar(233) default NULL,
`sendto` varchar(233) default NULL,
`pubkey` varchar(233) default NULL,
`prikey` varchar(233) default NULL,
`reqid` int(233) default NULL,
`updt` int(122) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Table structure for msgname
-- ----------------------------
DROP TABLE IF EXISTS `msgname`;
CREATE TABLE `msgname` (
`id` int(233) NOT NULL auto_increment,
`sid` int(233) default NULL,
`encptmsg` varchar(233) default NULL,
`ogmsg` varchar(233) default NULL,
`sentby` varchar(233) default NULL,
`sendto` varchar(233) default NULL,
`pubkey` varchar(233) default NULL,
`prikey` int(233) default NULL,
`reqid` int(233) default NULL,
`updt` int(233) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Table structure for msgpub
-- ----------------------------
DROP TABLE IF EXISTS `msgpub`;
CREATE TABLE `msgpub` (
`id` int(122) NOT NULL auto_increment,
`sid` int(122) default NULL,
`encptmsg` varchar(122) default NULL,
`ogmsg` varchar(122) default NULL,
`sentby` varchar(122) default NULL,
`sendto` varchar(122) default NULL,
`pubkey` varchar(122) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Table structure for request
-- ----------------------------
DROP TABLE IF EXISTS `request`;
CREATE TABLE `request` (
`sno` int(130) NOT NULL auto_increment,
`id` int(130) default NULL,
`sentby` varchar(120) default NULL,
`sendto` varchar(120) default NULL,
`type` varchar(130) default NULL,
`prikey` varchar(130) default NULL,
`reqid` int(130) default NULL,
PRIMARY KEY (`sno`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;

Table structure for shared


DROP TABLE IF EXISTS `shared`;
CREATE TABLE `shared` (
`id` int(233) NOT NULL auto_increment,
`shared` longblob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`sno` int(122) NOT NULL auto_increment,
`name` varchar(122) default NULL,
`gender` varchar(122) default NULL,
`addr` varchar(122) default NULL,
`email` varchar(122) default NULL,
`uname` varchar(122) default NULL,
`pass` varchar(122) default NULL,
`occ` varchar(122) default NULL,
`catag` varchar(122) default NULL,
`secname` varchar(122) default NULL,
PRIMARY KEY (`sno`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;

Procedural Design

Logic Diagrams

SYSTEM ARCHITECTURE:
DATA FLOW DIAGRAM:
1. The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system.
2. The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data
used by the process, an external entity that interacts with the system and the
information flows in the system.
3. DFD shows how the information moves through the system and how it is modified by
a series of transformations. It is a graphical technique that depicts information flow
and the transformations that are applied as data moves from input to output.
4. DFD is also known as bubble chart. A DFD may be used to represent a system at any
level of abstraction. DFD may be partitioned into levels that represent increasing
information flow and functional detail.
Login

Admin Login User Login

Search Product
Add Product Maintain Product
Details Details
Purchase Product
Using Credit Card

Spike Detection

Communal Detection

If authorize purchase
product else report to
admin

UML DIAGRAMS
UML stands for Unified Modeling Language. UML is a standardized general-purpose
modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object
oriented computer software. In its current form UML is comprised of two major components:
a Meta-model and a notation. In the future, some form of method or process may also be
added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying, Visualization,
Constructing and documenting the artifacts of software system, as well as for business
modeling and other non-software systems.
The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.

GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can
develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.
USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors
in the system can be depicted.

ADD PRODUCT DETAILS

MAINTAIN PRODUCT DETAILS


USER ADMIN

SEARCH PRODUCT

PURCHASE PRODUCT USING CREDIT CARD

SYSTEM
COMMUNAL DETECTION

SPIKE DETECTION

TRANSACTION SUCCESSFUL

CLASS DIAGRAM:
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among the classes. It
explains which class contains information.

ADMIN
USER
+PRODUCT NO
+NAME +PRICE
+CREDIT CARD NO +VALIDITY
+DATE OF BIRTH
+ADD()
+PURCHASE() +MODIFY()
+VIEW DETAILS() +DELETE()
+VIEW()
PRODUCT DETAILS

+MOBILE
+COMPUTER
+LAPTOPS
+SHIRTS
+COST

+ADD()
+MODIFY()
+DELETE()

DETECTION SYSTEM

+CARD NO
+DATE OF BIRTH

+SPIKE DETECTION()
+COMMUNAL DETECTION()

SEQUENCE DIAGRAM:
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram
that shows how processes operate with one another and in what order. It is a construct of a
Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.

: ADMIN : USER
: SYSTEM
1 : login()

2 : validate()

3 : login sucessfull()
4 : add product details()

5 : modify product details()

6 : login()

7 : validate()

8 : purchase details()

9 : enter credit card information()

10 : communal detection()

11 : spike detection()

12 : transaction sucess,allow user to purchase()

13 : transaction fails,report to admin()

ACTIVITY DIAGRAM:
Activity diagrams are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the business and operational step-by-step
workflows of components in a system. An activity diagram shows the overall flow of control.

login

admin

user
view product add,modify, delete details

purchase product using credit card


view unauthorized client

enter credit details

communal detection

Spike detection

unauthorize
report to admin

authorize

item purchased successfully


CHAPTER 8

IMPLEMENTATION

MODULE DESCRIPTION:

IMPLEMENTATION

Implementation is the stage of the project when the theoretical design is turned out
into a working system. Thus it can be considered to be the most critical stage in achieving a
successful new system and in giving the user, confidence that the new system will work and
be effective.

The implementation stage involves careful planning, investigation of the existing


system and it’s constraints on implementation, designing of methods to achieve changeover
and evaluation of changeover methods.

MODULES:

1. New business process

2. Login

3. Security information

4. Transaction

5. Verification

MODULE DESCRIPTION

NEW BUSINESS PROCESS


In this module, the customer gives there information to enroll a new business process .
The information is all about there contact details. They can create there own login and
password for there future use of the business process .

LOGIN

In Login Form module presents site visitors with a form with username and password
fields. If the user enters a valid username/password combination they will be granted access
to additional resources on website. Which additional resources they will have access to can
be configured separately.

SECURITY INFORMATION

In Security information module it will get the information detail and its store’s in
database. If the business process lost then the Security information module form arise. It has
a set of question where the user has to answer the correctly to move to the transaction section.
It contain informational privacy and informational self-determination are addressed squarely
by the invention affording persons and entities a trusted means to user, secure, search,
process, and exchange personal and/or confidential information.

TRANSACTION

The method and apparatus for pre-authorizing transactions includes providing a


communications device to a vendor and a credit business process owner. The credit business
process owner initiates a credit business process transaction by communicating to a credit
business process number, and storing therein, a distinguishing piece of information that
characterizes a specific transaction to be made by an authorized user of the credit business
process at a later time. The information is accepted as "network data" in the data base only if
a correct personal identification code (PIC) is used with the communication. The "network
data" will serve to later authorize that specific transaction. The credit business process owner
or other authorized user can then only make that specific transaction with the credit business
process . Because the transaction is pre-authorized, the vendor does not need to see or
transmit a PIC.

VERIFICATION

Verification information is provided with respect to a transaction between an


initiating party and a verification-seeking party, the verification information being given by a
third, verifying party, based on confidential information in the possession of the initiating
party. In verification the process will seeks business process number and if the business
process number is correct the relevant process will be executed. If the number is wrong, mail
will be sent to the user saying the business process no has been block and he can’t do the
further transaction.

MODULES:
 Admin module
 User module
 Identify Crime User
 Online Shopping

Admin module:
In this module, the admin can add product details (product name, price, validity etc..)
based on the category likes mobiles, computers, laptops etc.. And maintain the product
details. The user enter their credit card details, the credit card is valid by Communal
Detection and Spike Detection. If the card details is valid, the user can purchase their items
else it report to the admin as “fraud transaction”.

User module:
The user can select purchasing products displayed in the home page or search the
product using keyword or based on category. Then user can purchase the product using
credit/debit card. To purchase, the user need to provide the following details like(credit card
number, card holder name, date of birth, credit card provider). If the credit card is valid the
user is allowed to purchase the product else it reports to the admin as “fraud transaction
occurs”

Identify Crime User


In the module we are using a real dataset
“ https://sites.google.com/site/cliftonphua/communal-fraud-scoring-data.zip”. There are about
30 raw attributes such as personal names, addresses, telephone numbers, driver license
numbers (or SSN), DoB, and other identity attributes (but no link attribute). Only 19 of the
most important identity attributes are selected in table format as Training Dataset and Test
Dataset. In the Dataset we identify the fraud transaction name by user name. The graph
displays the user fraud percentage across months and measure weight for Test dataset user.

4. Online shopping
In the module, we developed a website for online shopping. The user can purchase a
products using credit card. If the fraud user uses their credit card to purchase item, the bank
identify the fraud user using the weight and graph of the user in the bank database.
CHAPTER – VII

SYSTEM TESTING

The purpose of testing is to discover errors. Testing is the process of trying to


discover every conceivable fault or weakness in a work product. It provides a way to check
the functionality of components, sub-assemblies, assemblies and/or a finished product. It is
the process of exercising software with the intent of ensuring that the Software system meets
its requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.

TYPES OF TESTING
UNIT TESTING
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program input produces valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and contains clearly
defined inputs and expected results.
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.

Test Strategy and approach:

Field testing will be performed manually and functional tests will be written in detail.
Test objectives:

 All field entries must work properly.


 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.
 Features to be tested

INTEGRATION TESTING

Integration tests are designed to test integrated software components to determine if


they actually run as one program. Testing is event driven and is more concerned with the
basic outcome of screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing is specifically aimed
at exposing the problems that arise from the combination of components.

Software integration testing is the incremental integration testing of two or more


integrated software components on a single platform to produce failures caused by interface
defects.

The task of the integration test is to check that components or software applications,
e.g. components in a software system or – one step up – software applications at the company
level – interact without error.

FUNCTIONAL TESTING

Functional tests provide systematic demonstrations that functions tested are available
as specified by the business and technical requirements, system documentation and user
manuals.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.


Systems/Procedures : interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key


functions, or special test cases. In addition, systematic coverage pertaining to identify

Business process flows; data fields, predefined processes, and successive processes
must be considered for testing. Before functional testing is complete, additional tests are
identified and the effective value of current tests is determined.

SYSTEM TESTING
System testing ensures that the entire integrated software system meets requirements.
It tests a configuration to ensure known and predictable results. An example of system testing
is the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphsizing pre-driven process links and integration points.

WHITE BOX TESTING


White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.

BLACK BOX TESTING


Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other
kinds of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in
which the software under test is treated, as a black box .you cannot “see” into it. The test
provides inputs and responds to outputs without considering how the software works.

ACCEPTANCE TESTING
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
OTHER TESTING METHODOLOGIES

User Acceptance Testing

User Acceptance of a system is the key factor for the success of any system. The
system under consideration is tested for user acceptance by constantly keeping in touch with
the prospective system users at the time of developing and making changes wherever
required. The system developed provides a friendly user interface that can easily be
understood even by a person who is new to the system.

Output Testing

After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in the
specified format. Asking the users about the format required by them tests the outputs
generated or displayed by the system under consideration. Hence the output format is
considered in 2 ways – one is on screen and another in printed format.

Validation Checking

Validation checks are performed on the following fields.

Text Field:

The text field can contain only the number of characters lesser than or equal to its
size. The text fields are alphanumeric in some tables and alphabetic in other tables. Incorrect
entry always flashes and error message.

Numeric Field:
The numeric field can contain only numbers from 0 to 9. An entry of any character
flashes an error messages. The individual modules are checked for accuracy and what it has
to perform. Each module is subjected to test run along with sample data. The individually
tested modules are integrated into a single system. Testing involves executing the real data
information is used in the program the existence of any program defect is inferred from the
output. The testing should be planned so that all the requirements are individually tested.
UNIT TESTING

Expected
S.No Procedure Test Condition Test Data Data

1 1.Validate the 1. If the User User name admin Successfully


Admin login name and entered login
page Password are Account
available in the Password admin
Database.

2.Enter the 2.If the User User ID admin1


User name name and Error message
and Password Password are not will display
available in Password user
Database

Result on
3. Click login 3.Authentication Fail / Pass database
button verification verification

4.Cancel 4.Password will Fail / Pass Process


be terminated terminator

Test Result : Success

INTEGRATION TESTING
Expected
S.No Procedure Test Condition Test Data Data

1 1.Add new 1. Enter customer User Name pavi@gmail.com New


customer details valid on Password pavi customer
Details database Re-type pwdpavi added
Hit question pet Successfully
Answer dog
First name pavi
Last name devi
DOB 03/22/1994
Gender Female
Contact no 9800218218
Email id pavi@gmail.com
Address Thimiri
Country India
State Tamil nadu
City Vellore
Zip code 632512

2.Add new 2.Enter Record Disease name man New Issues


category details valid in added
Description Health issues
details the database successfully
Uploadimg c:/PMISS /img

New Patient
name Raymond
3. Add new 3.Enter Patient added
doctor name Men
product details valid on successfully
report name Fever
details database
Quantity 1
Serveries charge1500
Description shirt quality
Upload img name.jpeg

4. To submit 4. Check the Check the


Fail / Pass
the button Details on valid details
database

Test Result : Success

Sample Coding
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta name="keywords" content="" />

<meta name="description" content="" />

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<title>User Main Page</title>

<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

<style type="text/css">

<!--

.style1 {

font-size: 18px;

color: #FF0000;

font-weight: bold;

.style3 {color: #333333}

-->

</style>

</head>

<body>

<div id="wrapper">

<div id="menu">
<ul>

<li class="current_page_item"><span><a
href="index.html">Home</a></span></li>

<li><a href="AdminLogin.jsp">Bank Admin</a></li>

<li><a href="CompanyLogin.jsp">Transport
Company</a></li>

<li><a href="UserLogin.jsp">User</a></li>

<li><a href="#"></a></li>

<li><a href="#"></a></li>

</ul>

</div>

<!-- end #menu -->

<div id="header">

<div id="logo">

<h1><a href="#" class="style1">CoDetect: Financial Fraud


Detection With Anomaly Feature Detection</a></h1>

</div>

<div id="search">

<form method="get" action="">

<fieldset>

<input type="text" name="s" id="search-text"


size="15" value="enter keywords here..." />

<input type="submit" id="search-submit"


value="GO" />
</fieldset>

</form>

</div>

</div>

<div id="splash">&nbsp;</div>

<!-- end #header -->

<div id="page">

<div id="page-bgtop">

<div id="page-bgbtm">

<div id="content">

<div class="post">

<h2 class="title"><a href="#">Welcome


User <span class="style3" style=" color:#FF0066"><
%=(String)application.getAttribute("uname")%></span>..</a></h2>

<div class="entry">

</div>

<p><img src="images/User.jpg" alt=""


width="499" height="401" /></p>

</div>

<div class="post"></div>

<div style="clear: both;">&nbsp;</div>


</div>

<!-- end #content -->

<div id="sidebar">

<ul><li><h2>Menu</h2>

<ul>

<li><a
href="UserMain.jsp">Home</a></li>

<li><a href="UserProfile.jsp">View
My Profile</a></li>

<li><a href="U_ManageBankAccount.jsp">Manage
Bank Account </a></li>

<li><a
href="U_CreditCardRequest.jsp">Request Credit Card </a></li>

<li><a href="U_CreditCard.jsp">View
Credit Card Details </a></li>

<li><a href="U_ViewCardTransactions.jsp">View
Card Transactions </a></li>

<li><a href="U_ViewPayments.jsp">View Your


Payments and Transfer to Your Credit Card Account</a></li>

<li><a href="U_ViewTransportCompany.jsp">View
all Transport Company and Book Tickets by Selecting Company</a></li>

<li><a href="U_ViewBookingHistory.jsp">View all


Booking History </a></li>

<li><a href="UserLogin.jsp">Logout </a></li>

</ul>

</li>
<li>

<h2>&nbsp;</h2>

</li>

</ul>

</div>

<!-- end #sidebar -->

<div style="clear: both;">&nbsp;</div>

</div>

</div>

</div>

<!-- end #page -->

</div>

<div align=center>This template downloaded form <a href='http://all-free-


download.com/free-website-templates/'>free website templates</a></div></body>

</html>

User Register.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<%@page import ="java.util.*"%>

<%@ include file="connect.jsp" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta name="keywords" content="" />

<meta name="description" content="" />

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<title>User Login Page</title>

<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

<style type="text/css">

<!--

.style1 {

font-size: 18px;

color: #FF0000;

font-weight: bold;

.style3 {color: #333333}

-->

</style>

</head>

<body>

<div id="wrapper">

<div id="menu">

<ul>

<li class="current_page_item"><span><a
href="index.html">Home</a></span></li>
<li><a href="AdminLogin.jsp">Bank Admin</a></li>

<li><a href="CompanyLogin.jsp">Transport Company</a></li>

<li><a href="UserLogin.jsp">User</a></li>

<li><a href="#"></a></li>

<li><a href="#"></a></li>

</ul>

</div>

<!-- end #menu -->

<div id="header">

<div id="logo">

<h1><a href="#" class="style1">CoDetect: Financial Fraud Detection


With Anomaly Feature Detection</a></h1>

</div>

<div id="search">

<form method="get" action="">

<fieldset>

<input type="text" name="s" id="search-text"


size="15" value="enter keywords here..." />

<input type="submit" id="search-submit"


value="GO" />

</fieldset>

</form>

</div>

</div>
<div id="splash">&nbsp;</div>

<!-- end #header -->

<div id="page">

<div id="page-bgtop">

<div id="page-bgbtm">

<div id="content">

<div class="post">

<h2 class="title"><a href="#">Welcome To


User Login..</a></h2>

<p class="title"><img src="images/Login.png"


alt="" width="147" height="162" /></p>

<div class="entry">

<form id="form1" name="form1"


method="post" action="Authentication.jsp?type=<%="user"%>">

<%

try

ArrayList a1=new ArrayList();


String query="select bank FROM banklist";

Statement st=connection.createStatement();

ResultSet rs=st.executeQuery(query);

while ( rs.next() )

a1.add(rs.getString("bank"));

%>

<table width="570" border="0" align="left" cellpadding="2" cellspacing="2">

<tr>

<td width="185" align="center" valign="middle"><label for="email">

<div align="center" class="style34 style5 style3">Select Bank (required)</div>

</label></td>

<td><p align="left">

<select id="s1" name="bank">

<option>--Select--</option>
<%

for(int i=0;i<a1.size();i++)

%>

<option><%=
a1.get(i)%></option>

<%

%>

</select></p> </td>

</tr>

<tr>

<td height="46" align="center" valign="middle"><span class="style35">

<label for="label"> </label>

</span>

<label for="label">

<div align="center" class="style35 style5 style3">User Name (required)</div>

</label>

<span class="style35">

<label for="name"></label>
</span></td><td width="371"><input id="name" name="userid" class="text"
/></td>

</tr>

<tr>

<td height="40" align="center" valign="middle"><span class="style35">

<label for="email"> </label>

</span> <label for="email">

<div align="center" class="style35 style5 style3">Password (required)</div>

</label></td><td><input type="password" id="pass" name="pass" class="text"


/></td>

</tr>

<tr>

<td height="47">&nbsp;</td>

<td><input name="imageField" type="submit" class="LOGIN" id="imageField"


value="Login" />

<span class="style38 style5 style3">New User?</span><span


class="style10"><strong><a href="UserRegister.jsp" class="style30"> Register
</a></strong></span></td>

</tr>

<tr>

<td height="49"></td>

<td> <p align="right"><a href="index.html" class="style36">Back</a></p></td>

</tr>
</table>

<%

connection.close();

catch(Exception e)

out.println(e.getMessage());

%>

</form>

</div>

</div>

<div class="post"></div>

<div style="clear: both;">&nbsp;</div>

</div>

<!-- end #content -->


<div id="sidebar">

<ul><li><h2>Menu</h2>

<ul>

<li><a href="index.html">Home</a></li>

</ul>

</li>

<li>

<h2>&nbsp;</h2>

</li>

</ul>

</div>

<!-- end #sidebar -->

<div style="clear: both;">&nbsp;</div>

</div>

</div>

</div>

<!-- end #page -->

</div>

<div align=center>This template downloaded form <a


href='http://all-free-download.com/free-website-templates/'>free website
templates</a></div></body>
</html>

Planning and Scheduling

Estimates: predicted duration and cost of the project should be backed up with the team’s
reasoning and circumstances for potential re-estimation.

Project plan: here, the plan states an approximate schedule, the project’s main stages, and
available resources.

Development phases: a project plan provides only a general description of the development
process. You can go into more detail when describing each phase individually. For every
phase, a team specifies its duration, objectives, and required resources.

Objectives: each phase and product iteration should be driven by clear goals. Make the list of
objectives for every stage of product development. The product owner and the development
team should keep these objectives realistic and clear to all project participants.
Release plans: the team can give an estimate on the expected release date and specify its
status (beta-, demo, alpha, etc.)

Resourcing: this section describes available and unavailable skills, hardware, and software.
For each stage, there should be individual resourcing sections.

Conceptual Models
Comparison model highlighting conceptual model role in system process
A conceptual model's primary objective is to convey the fundamental principles and basic
functionality of the system which it represents. Also, a conceptual model must be developed
in such a way as to provide an easily understood system interpretation for the model's users.
A conceptual model, when implemented properly, should satisfy four fundamental objectives.
1. Enhance an individual's understanding of the representative system
2. Facilitate efficient conveyance of system details between stakeholders
3. Provide a point of reference for system designers to extract system specifications
4. Document the system for future reference and provide a means for collaboration

s
Fig: Conceptual Models
The conceptual model plays an important role in the overall system development life cycle.
Depicts the role of the conceptual model in a typical system development scheme. It is clear
that if the conceptual model is not fully developed, the execution of fundamental system
properties may not be implemented properly, giving way to future problems or system
shortfalls. These failures do occur in the industry and have been linked to; lack of user input,
incomplete or unclear requirements, and changing requirements. Those weak links in the
system design and development process can be traced to improper execution of the
fundamental objectives of conceptual modeling. The importance of conceptual modeling is
evident when such systemic failures are mitigated by thorough system development and
adherence to proven development objectives/techniques.

Gantt Chart

Wee Milestone Milestone Description Remarks


ks Name

1 Requirements Complete specification of the Attempt should be made to add


Specification system including defining some more relevant functionality
hierarchies constitutes this other than those that are listed in this
milestone. A document detailing document.
the same should be written and a
presentation on that be made.

2 Technology Understanding of the technology The presentation should be from the


familiarization needed to implement the project. point of view of being able to apply
it to the project, rather than from a
theoretical perspective.

3 GUI creation The GUI files are created and It is important to finalize on the User
working on it Interface at this stage itself so that
development and testing can proceed
with the actual UserInterface itself.

4 High-level and Listing down all possible scenarios The scenarios should map to the
Detailed Design and then coming up with flow- requirement specification
charts or pseudo code to handle
the scenario.

5 Development of Implementation of the main screen During this milestone period, it


front-end giving the login, screen that would be a good idea for the team to
functionalities. follows the login giving various start working on a test-plan for the
options, screens for each of the entire system. This test-plan can be
options updated as and when new scenarios
come to mind.

6 Integrating the The front-end developed in the


front-end with earlier milestone will now be able
the Database to update the Database. Other
features should be functional at
this stage. In short, the system
should be ready for integration
testing.

7 Integration The system should be thoroughly Another 2 weeks should be there to


Testing tested by running all the test cases handle any issues found during
written for the system (from testing of the system. After that, the
milestone 5). final demo can be arranged.

8 Final Review Issues found during the previous During the final review of the
milestone are fixed and the system project, it should be checked that all
is ready for the final review. the requirements specified during
milestone number 1 are fulfilled

You might also like