0% found this document useful (0 votes)
54 views

Forex Trade System OODP UML Project (R2 Section)

This document provides information about a project to develop a foreign currency trade system. It includes an introduction to foreign exchange trading and the objectives of the project. The project aims to scientifically approach foreign exchange markets and evaluate if an automatic trading strategy can be developed that outperforms basic strategies. The system will interface between account holders and currency markets. It will include modules to view currency information, convert currencies, and calculate profits and losses for buyers and sellers.

Uploaded by

Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Forex Trade System OODP UML Project (R2 Section)

This document provides information about a project to develop a foreign currency trade system. It includes an introduction to foreign exchange trading and the objectives of the project. The project aims to scientifically approach foreign exchange markets and evaluate if an automatic trading strategy can be developed that outperforms basic strategies. The system will interface between account holders and currency markets. It will include modules to view currency information, convert currencies, and calculate profits and losses for buyers and sellers.

Uploaded by

Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

FOREX TRADE SYSTEM

PROJECT REPORT

18CSC202J/ 18AIC203J - OBJECT ORIENTED DESIGN AND


PROGRAMMING LABORATORY
(2018 Regulation)
II Year/ III Semester
Academic Year: 2022 -2023
By
DEVROOP DAS (RA2111031010045)
AYUS BHAUMIK (RA2111031010017)
GAVISH KUMAR (RA2111031010048)
HARSH YADAV (RA2111031010009)

Under the guidance of


Dr. Lakshmi Narayan R

FACULTY OF ENGINEERING AND TECHNOLOGY


SCHOOL OF COMPUTING
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
Kattankulathur, Kancheepuram
NOVEMBER 2022

1
BONAFIDE

This is to certify that 18CSC202J - OBJECT ORIENTED DESIGN AND

PROGRAMMING LABORATORY project report titled “FOREX TRADE


SYSTEM” is the bonafide work of
DEVROOP DAS (RA2111031010045)
AYUS BHAUMIK (RA2111031010017)
GAVISH KUMAR (RA2111031010048)
HARSH YADAV (RA2111031010009)
who undertook the task of completing the project within the allotted time.

Signature of the Guide Signature of the II Year Academic Advisor


Dr. Lakshmi Narayan R -------------------------
Professor and Head
SRM Institute of Science and Technology SRM Institute of Science and Technology

2
About the course:-

18CSC202J/ 8AIC203J - Object Oriented Design and Programming are 4 credit courses
with L T P C as 3-0-2-4 (Tutorial modified as Practical from 2018 Curriculum onwards)

Objectives:
The student should be made to:
● Learn the basics of OOP concepts in C++
● Learn the basics of OOP analysis and design skills.
● Be exposed to the UML design diagrams.
● Be familiar with the various testing techniques

Course Learning Rationale (CLR): The purpose of learning this course is to:

1. Utilize class and build domain model for real-time programs


2. Utilize method overloading and operator overloading for real-time application
development programs
3. Utilize inline, friend and virtual functions and create application development programs
4. Utilize exceptional handling and collections for real-time object-oriented programming
applications
5. Construct UML component diagram and deployment diagram for design of applications
6. Create programs using object-oriented approach and design methodologies for real-time
application development

Course Learning Outcomes (CLO): At the end of this course, learners will be able to:

1.Identify the class and build domain model


2.Construct programs using method overloading and operator overloading
3.Create programs using inline, friend and virtual functions, construct programs using
standard templates
4.Construct programs using exceptional handling and collections
5.Create UML component diagram and deployment diagram
6.Create programs using object oriented approach and design methodologies

3
Table 1: Rubrics for Laboratory Exercises
(Internal Mark Splitup:- As per Curriculum)
CLAP-1 5=(2(E-lab Completion) + 2(Simple Exercises)( from Elab test
CodeZinger, and any other coding platform) +
1(HackerRank/Code chef/LeetCode Weekend
Challenge)
CLAP-2 7.5=(2.0(E-lab Completion)+ Elab test
2.0 (Simple Exercises)( from CodeZinger, and any
other coding platform) + 3.5 (HackerRank/Code
chef/LeetCode Weekend Challenge)
CLAP-3 7.5=(2.0(E-lab Completion(80 Pgms)+ 2 Mark - E-lab Completion 80
2.0 (Simple Exercises)( from CodeZinger, and any Program Completion from 10
Session (Each session min 8
other coding platform) + 3.5 (HackerRank/Code program)
chef/LeetCode Weekend Challenge) 2 Mark - Code to UML
conversion GCR Exercises
3.5 Mark - Hacker Rank
Coding challenge completion

CLAP-4 5= 3 ( Model Practical) + 2( Oral Viva) • 3 Mark – Model Test


• 2 Mark – Oral Viva

Total 25

4
COURSE ASSESSMENT PLAN FOR OODP LAB
S.No List of Experiments Course Blooms Level PI No of
Learning Programs
Outcomes in each
(CLO) session
1. Implementation of I/O Operations in CLO-1 Understand 2.8.1 10
C++
2. Implementation of Classes and Objects CLO-1 Apply 2.6.1 10
in C++
3, To develop a problem statement. CLO-1 Analysis 4.6.1 Mini
1. From the problem statement, Identify Project
Use Cases and develop the Use Case Given
model.
2. From the problem statement, Identify
the conceptual classes and develop a
domain model with a UML Class
diagram.
4. Implementation of Constructor CLO-2 Apply 2.6.1 10
Overloading and Method Overloading
in C++
5. Implementation of Operator CLO-2 Apply 2.6.1 10
Overloading in C++
6. Using the identified scenarios, find the CLO-2 Analysis 4.6.1 Mini
interaction between objects and Project
represent them using UML Sequence Given
diagrams and Collaboration diagrams
7. Implementation of Inheritance concepts CLO-3 Apply 2.6.1 10
in C++
8. Implementation of Virtual function & CLO-3 Apply 2.6.1 10
interface concepts in C++
9. Using the identified scenarios in your CLO-3 Analysis 4.6.1 Mini
project, draw relevant state charts and Project
activity diagrams. Given
10. Implementation of Templates in C++ CLO-3 Apply 2.6.1 10
11. Implementation of Exception of CLO-4 Apply 2.6.1 10
Handling in C++
12. Identify the User Interface, Domain CLO-5 Analysis 4.6.1 Mini
objects, and Technical Services. Draw Project
the partial layered, logical architecture Given
diagram with UML package diagram
notation such as Component
Diagram, Deployment Diagram.
13. Implementation of STL Containers in CLO-6 Apply 2.6.1 10
C++
14. Implementation of STL associate CLO-6 Apply 2.6.1 10
containers and algorithms in C++
15. Implementation of Streams and File CLO-6 Apply 2.6.1 10
Handling in C++

5
Suggested Software Tools for UML:
StarUML, Rational Suite, Argo UML (or) equivalent, Eclipse IDE and Junit

1)Problem Description:
The pratice of currency trading is also commonly referred to as foreign exchange,Forex or FX
for short.
All currency has a value relative to other currencies on the planet.Currency trading system uses
the purchase and sale of large quantities of currency to leverage the shits in relative value into
profit.The online Foreign Cureency Trading system is almost entirely a "spot" market.It means
that trading is made immediately.The settlement of those Foreign CUrrency Trading spot
transactions is made within two working days.

2) Software Requirements Specifications


1.1 OVERVIEW
This project emphasizes about the Foreign Trade System which is an Interface between the
Account holder and the market. In the initial phase details about the various currencies and the
profit and loss of currency hold is collected. The project comprises of several modules which
also includes currency converter and program to calculate profit and loss for both the operation
of the buyer and then the operations of the seller to be considered.
Purpose
• The purpose of this project is to scientifically approach the foreign exchange market, and
to evaluate whether we can develop a strategy that can automatically trade in the market
successfully, and can outperform existing basic strategies.
• To first understand the various overall market conditions- trending, directionless, and
volatile.
• This is crucial, since different trading strategies prove appropriate for differing market
conditions.
SCOPE OF PROJECT
The foreign exchange (forex) market is a financial market for trading currencies. Trades are
made in currency pairs, such as United States dollar and the euro, in which equivalent amounts
of money are exchanged. In addition, hedge funds and investors may choose to trade in the forex
market for profit, as speculators, as the values of currency pairs change.
The forex market is rapidly growing, and an important contributor to this is the retail investor–
the individual speculator who trades currency pairs for profit, either as a full-time job or for
supplementary income. Technology and computers play a key role in bringing these individuals
to the forex market.

2.2) OVERALL DESCRIPITON


PRODUCTPERSPECTIVE
Currency Converter gives you accurate and instant foreign currency Conversions .The
options are varied for minimum currency trading investments. There is also mini account
where with a very small initial investment in a leveraged foreign currency, you can reach a
high level of reward and it is get it through the conceptual and satisfactory minimal risk.

SoftwareInterface
Front End Client - The applicant and Administrator online interface is built using JSP and
HTML. The Administrators’ local interface is built using Java. Web Server-Glassfish application
server(Oracle Corporation).Backend- Oracle database.

HardwareInterface
The server is directly connected to the client systems. The client systems have access to the
database and with in the interface of the server and properly done the interfaces.

SYSTEM FUNCTIONS
LOGIN
The Login module contains the form which contain membership name and Member password. It
includes Username and Password.
TRADING ACCOUNT DETAILS
This form contains the information about account holder, market status, Currency held, trading
histories, etc.
BUY
After the user logged in they can buy stocks online the user can buy stock only it is available for
buying.
SELL
After the user logged in they can sell stocks online, the user can sell his own Stocks only.
BANK ACCOUNT DATABASE
After the trading is finished user has to select the type of transaction whether Credit card
account.

USER CHARESTERISTICS
BUYER
After the user logged in they can buy stocks online the user can buy stock only. It is available
for buying.
SELLER
After the user logged in they can sell stocks online , the user can sell his own stocks only.
BANK ACCOUNT DATABASE
After the trading is finished user has to select the type of transaction whether credit card Debit
account.

USE CASE DIAGRAM


Use case diagrams identify the functionality provided by the system,the users who interact with
the system(actors),and the association between the users and the functionality. Use cases are used
in the analysis phase of the software development to articulate the high level requirements of the
system.
Basic Elements:
Actor
Actor is something with behaviour,and is depicted using a stick figure. Actors are not limited to
humans. If a system communicates with another application, the that application can also be
considered an actor.
Use case
A Use case describes a sequence of actions that provide something of measurable value to
an actor. A use case is the functionality provided by the system.
Association
Associations are used to link Actors with Use cases ,and indicate that an actor participate
in the use case in some form. Associations are depicted by a line connecting the actor and the use
case.

CLASS DIAGRAM
A Class diagram in the UML gives an overview of the system by showing its classes and
the relationships among them. Class diagrams are static-they display what interacts but not what
happens when they do interact.
Basic Elements
1) Class
A class is a set of objects that share a common structure and common behavior. Its represented
by a rectangle divided into three parts: class name, attributes and operations.
2) Relationships
Relationships between classes are the connecting links. Relationships between classes are
generally represented in class diagrams by a line or an arrow joining the two classes.
a) Dependency
If A depends on B then this is shown by a dashed arrow between A and B.
3) Association
There is an association between two classes if an instance of one class must know about
the other in order to perform its work. An association between A and B shown by a line joining
two classes.
4)Aggregation
Aggregation is the association in which one class belongs to the collection.if B aggregates
A,then A is the part of B.
5)Generalization
Generalization is an inheritance link indicating one class is a superclass of the other.A
genalization has a triangle pointing to the superclass.An inheritance relationship is indicated in
the UML by an arrow with a triangular arrow head pointing towards to the general.
ACTIVITY DIAGRAM
Activity diagrams are used to document workflows in a system, from the business level down to
the operational level. The activity diagram is a variation of the state diagram where the “states”
represent operations, and the transition represent the activities that happen when the operation is
compleate. The general purpose of Activity diagrams is to focus on flows driven by internal
processing vs. external events.
Basic Elements
1)Activity states
Activity states mark an action by an object. The notations for these states are rounded
rectangles, the same notation as found in state chart diagrams.
2)Transition
When an activity state is completed, processing move to the other activity state.Transitions are
used to mark this movement and modeled using arrows.
3)Initial state
The initial state marks the entry point and the initial activity state. The notation for the initial
state is the same as in state chart diagrams, a solid circle. There can only be one initial state
diagram.
4)Final state
Final states mark the end of the modeled work flow. There can be multiple final states on a
diagram and these states are modeled using a solid circle surrounded by another circle.
5)Synchronization bar
Activities often can be done in parallel. To split processing, or to resume processing when
multiple activities have been completed, synchronization bars are used. These are modeled as
solid rectangles, with multiple transactions going in and/or out.

Interaction Diagram
Interaction diagram describes how group of objects are collaborated with each other.
Two types of Interaction diagrams
1) SEQUENCE DIAGRAM
2) COLLABORATION DIAGRAM
STATE CHART DIAGRAM
A UML statement diagram illustrate the intresting events and states of an object and the behavior
of an object in reaction to the event transition are shown as arrows , labeled with their events
state are shown as rounded rectangles .
BASIC ELEMENTS
1)Events
An event is a siginificant or noteworthy occurrence
For examples : A telephone reciver is taken off the hook
2)States
A state is a condition of an object at a movement in a time , the time between events
For example
A telephone is in the state of being “idle” after the reciver is placed on the hook and until it is
taken off the hook.
3)Transitions
Transition is a relation between states that indicates that when an event occurs,the object
moves from the prior state to the subsequent state.
For example
When the event “off hook”occurs,transition the telephone from “idle to “active”state.
4)Transition action
A trancition can cause a action to fire . in a software implementation , this may represent
the invocation of a method of the class of the state chart diagram
PACKAGE DIAGRAM
The logical architecture is the large scale organization of the software classes into
packages, systems and layers. Its called the logical architecture because there’s no decision about
how these elements are deployed across different operating system process or across physical
computers in a network.
LAYER:
A layer is a very coarse grained grouping of clasess,packages or subsystems that has a cohesive
responsibility for a major aspect of the system.
Layers are organized such that higher layers call upon services of lower layer,but not
normally vise versa.
Layered architecture is divided into
1)Strict layered architecture
2)Relaxed layered architecture
In strict layered architecture, a layer calls upon the services of thee layer directly
below it .This design is common in network protocol stacks, but not in information
systems,which usually have a relaxed architecture, in which a higher layer calls up on several
lower layers.
It is used for designing logical architecture of the system using this package we can group
anything
Ex: classes, other packages

⮚ Nesting of packages is common in UML package diagram

⮚ Notation: Package name may be placed on the tag if the packages show inner members or

it is placed in the main folder if no members.


32

⮚ It is common to shoe dependency between packages so that developers can see the large

scale coupling in the system.

⮚ T he UML dependency line is used for a dashed arrow line with a arrow pointing

towards the dependant on packages.

⮚ Packages are defined by 3 symbols

• 🕐 Embedded packages
• 🕐 UML fully qualified names
• 🕐 Circle cross symbol
Component and Deployment Diagram
Implementation shows the implementation phase of system development. Two types of
implementation diagrams:
i. Component diagram
ii. Deployment diagram
A component diagram depicts how the components are wired together to form larger
components and or software systems. Components are wired together by using an assembly
connector to connect the required interface of one component with the provided interface of
another component.

⮚ The components are slightly fuzzy thing.

⮚ It describes the module part of the system which encapsulates its components.

⮚ It describes the behaviour in terms of interface.


⮚ It is a design level perspective.

The main component in the component diagram is foreign trading system. The trader who come
to do the trading process and administrator who manages all the other processes is the sub
components.

Reference
• Google
• Youtube
• GFG
Conclusion
By the means of the provided mini-project, we learned a lot about UML DIAGRAMS and some
important features of object-oriented programming and designing.All the 9 diagrams in the
curriculum were made by applying critical thinking,intensive research and considering all the
key details to obtain the best output possible.

You might also like