Software Engineering Experience-Fraud Detection
Software Engineering Experience-Fraud Detection
Abstract – an undergraduate student produced the card, provide an extra shield of protection to a credit
documentation and implemented a preliminary system as card (Marshall and Lattin, 2015). Major banks are now
part of the requirements of a software engineering course. updating their cards with this new technology. There are
The developed system is concerned with credit card many other ways to help user detect unrecognized
fraud detection system. G score was the key element that behavior, such as, distributed anomaly detection using
the system used to determine if the transaction is a fraud cooperative learners and association rule analysis
action. (Deshmeh and Rahmati, 2008).
Keywords: G score, fraud detection, software The student in the Software Engineering course was
engineering. required to use a software process to complete
documentation related to analysis, design, object design,
1 Introduction implementing and testing. To relate these steps to a real
time project, the student chose to develop a credit card
Credit card fraud is defined as:” unauthorized use of fraud detection system that uses user spending patterns
a credit/debit card, or card number, to fraudulently obtain and location to check for unusual patterns. The system
money or property” (Brody et al, 2014), which is an stores previous transaction patterns for each user. Based
increasing issue in every country. Around ten percent of on the user’s spending ability and country, it calculates
Americans were victims of credit card fraud and $5.55 user's characteristics. If more than 20 -30 % deviation in
billion in credit card fraud was reported in 2012 user's transaction (spending history and
worldwide. (Brody et al, 2014). In terms of number of operating country) is detected, it will be considered an
people who own a credit card, in 2012, 60% of college invalid attempt and the system takes action (require the
seniors owned a credit card, 27% of people over the age user to login again or even block the user for more than
of 50 had four or more credit cards (Arora et al. 2015). 3 invalid attempts).
Because of the huge number of credit card users and use
of technology, having a functional and effective credit
card fraud detection system has become necessary for
everyone. Currently, there are several ways used by big
2 Analysis
companies to prevent illegal actions from happening,
such as, Card Verification Value Plus CVVplus. On the The purpose of the fraud detection system is to
back of almost every major credit card there is protect user’s data and increase the security level of
a Card Verification Value CVV to verify payments credit cards. It learns users’ spending patterns, configure
when people do shopping online. But that CVV code is users’ information and automatically notifies users or
static and is not considered private once someone else locks the account when unidentified actions happen.
knows it. The CVVPlus system provides consumers with
a code that is updated daily (Kerner 2015). This is a good The target customers are banks and their clients who
idea when it comes to fraud detection system design. have credit cards. The number of users we are expecting
Some scientists also worked on developing a new binary is 1000. The geographic region the system is going to
support vector system to increase detection rate of card cover is our county.
fraud. This involves artificial intelligence design to learn
the spending pattern of users (Chen and Chen, 2006). The objective and success-criteria of the project is
This design is very classic and could effetely detect that the system will formulize the user’s dynamic
suspicious activities. Currently in U.S., the most spending pattern based on first N purchases, comparing
common type of card fraud is card-present fraud, where each purchases with the pattern and update the pattern
a user physically swipes the card using the card reader. gradually. Many factors are considered while building
EMV chip technology, which embedded a smart chip in the pattern database which include: user’s approximate
annual income; gender; address; when and where most transaction while it is pending and lock the
of the transaction had taken place; the average amount card).
per transaction; the frequency of using the ATM; user’s
tipping habits; categories of items that had been bought
and so on. In terms of comparing the most recent Table 1 explains what happens when some one uses a
purchase P1 with the pattern P, system will analysis a set card.
of figures G, which includes, the distance between P1
and P, the amount of transaction between P1 and P, the Table1: scenario regarding checking who used the
time (i.e. attempting to use the card at 2 am when the user card
never used it after 1 pm before) of P1 and P and many Scenarios WhoUsedMyCard
other factors, to come up with a numeric value Gs. Based name:
on the value of Gs, system will determine the suspicious Participating Alex: card owner
level S of P1 from grade of 1(least) to 5(most) and make actor Ben: bad guy
corresponding actions (whether it should let it go through instance:
without notifying users, let it go through with notifying Flow of 1. Ben, who hacked into Alex’s
users, or block the transaction while it is pending and events computer and got his card
lock the card). information at 1am and bought many
food online.
The goal of this project is to design credit card fraud 2. After comparing the user’s
detection system which could potentially learn users’ spending pattern, the system found
spending patterns, configure users information and that the location where transaction
automatically notify users or lock the account when happened and the time doesn’t
unidentified actions happens depending on a set of match and the suspicious level is
figures G. really high. The system immediately
lock Alex’s account and send a
The Functional Requirements are: message to Alex, notifying this
unrecognized action.
1. The system will formulize the user’s dynamic 3. Alex receives the
spending pattern based on first N purchases, acknowledgment, after realizing the
comparing each purchases with the pattern and card has been used by someone else,
update the pattern gradually. he called the card company and do
the further process.
2. Many factors are considered in building the
pattern including user’s approximate annual For the use case model, the following were
income; gender; address; when and where most identified:
of the transaction had taken place; the average
amount per transaction; the frequency of using x Client: The card owner
ATM; user’s tipping habits; categories of items x Card: the credit card issued by the card
that had been bought and so on. company
x Previous record: The previous fraud record of
this card
3. In terms of comparing the most recent purchase x No fraud action: the transaction suspicious
P1 with the pattern P, the system will analyse a level is 1, no action should be made
set of figures G, which includes the distance x Suspicious level 2: the system change the
between P1 and P, the amount of transaction suspicious class of the transaction to level 2
between P1 and P, the time of P1 and P and
x Suspicious level 3: the system change the
many other factors, used to come up with a
suspicious class of the transaction to level 3
numeric value Gs.
x Suspicious level 4: the system change the
suspicious class of the transaction to level 4
4. Based on the value of Gs, the system will
determine the suspicious level S of P1 from x Suspicious level 5: the system change the
grade of 1(least) to 5(most) and make suspicious class of the transaction to level 5
corresponding actions (Whether it should let it x System manager: the system manager gets
go through without notifying users, let it go noticed if the transaction level is higher than 2
through with notifying users, or block the
3 Design data from the account and the form that is analyzed by
the workstation and then send to the user through report
The goal of this project is to design credit card fraud reply. Also, it will record the sequence number of the
detection system which could potentially learn users’ card reader the user used.
spending patterns, configure user’s information and
automatically notify users or lock the account when With regard to persistent data management, the
unidentified actions happens depending on a set of persistent data include a user’s password, history of
figures G. transactions, card information, etc. They will all be
stored in MySQL database.
Table 2, lists an example of an entity-objects table.
Table 3, lists an example of a boundary-objects table. With regard to access control and security, code
was added to prevent MySQL injection and JavaScript
Table 2 : Entity-objects table for ReportUndetected injection. All the passwords in the database are
encrypted by PHP password hashing. Specific users have
access to a particular database and system only grants
Entity Attributes & Definition
them the least privileges.
Object Associations
Account 1. balance A bank account
With regard to boundary conditions and the
2. history of owned by clients who
Start-Up condition, it generally takes 5 seconds for the
fraud action are currently using
system to start up. It generally takes 10 seconds for the
3. credit our fraud detection
system to shut down completely.
history system.
4. history of
Different design patterns have been checked to
transaction
identify what works and what does not work with the
customer 1. name Customs are clients
system.
2. account who own credit cards
x Pattern 1: Bridge design pattern would work
3. address and use our fraud
with the system because the system need to
4. type detection system.
decouple the interface of user class from its
Card 1. sequence Card reader is the
implementation and the developer should not be
reader number machine which user
constrained by the existing component.
2. Company uses to make
x Pattern 2: Adapter design pattern would work
transaction happen.
with the system because some PHP code need
to be encapsulated since they were not designed
to work with the system.
Table 3: Boundary objects table for
x Pattern 3: Strategy design pattern would work
ReportUndetected
with the system because so many algorithms
Boundary Object Definition
need to be decoupled from their
Login form The interface where user can
implementations. For example, the hash
log in with their account and
function used MD5.
password
x Pattern 4: Abstract Factory design pattern
Report Submit The button used by a customer
would not work with the system because the
Button to initialize the
system doesn’t need to encapsulate the creation
reportundetected use case.
of families of related objects since are no
Report form The interface where user can
related objects.
report a suspicious transaction
x Pattern 5: Command design pattern would not
which the system didn’t detect
work because the system doesn’t have any
Report reply The interface which system
object responsible for command processing.
replies to user’s report
x Pattern 6: Composite design pattern would not
Workstation The station system uses to
work because there is not hierarchies nor
analysis user data
superclass in the system.
Figure 7: error message after entering the wrong user Figure 9: list of transactions.
name or password.
6 References
Arora, R., Gupta, D., & Pahwa, P. (2015). Fraud
Detection Life Cycle Model: A Systematic Fuzzy
Approach to Fraud Management. International
Journal of Computational Intelligence &
Applications, 14(2).
Berghel, H. (2007). Credit Card
Forensics. Communications Of The ACM, 50(12),
11-14.
Brody, R. G., Brown, D. M., Chettry, A., & White, W. I.
(2014). Proliferation of Credit Card Fraud with
Current Technological Advances. Insights to A
Changing World Journal, 2014(2), 92-107.
Chen, R., Chen, T., and Lin C. (2006). A new binary
support vector system for increasing detection rate
of credit card fraud. International Journal of
Pattern Recognition & Artificial Intelligence,
20(2).
Davis, K. (1998). The Bonnie and Clyde of credit card
fraud. (Cover story). Kiplinger's Personal Finance
Magazine, 52(7), 65.
Deshmeh, G., & Rahmati, M. (2008). Distributed
anomaly detection, using cooperative learners and
association rule analysis. Intelligent Data
Analysis, 12(4), 339-357.
Kerner, S. M. (2015). Tender Armor Adding New Layer
of Security to Credit Card Transactions. Eweek,