Forex Trade System OODP UML Project (R2 Section)
Forex Trade System OODP UML Project (R2 Section)
PROJECT REPORT
1
BONAFIDE
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:
Course Learning Outcomes (CLO): At the end of this course, learners will be able to:
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
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.
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.
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
⮚ Notation: Package name may be placed on the tag if the packages show inner members or
⮚ It is common to shoe dependency between packages so that developers can see the large
⮚ T he UML dependency line is used for a dashed arrow line with a arrow pointing
• 🕐 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.
⮚ It describes the module part of the system which encapsulates its components.
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.