Securities-Market Registry System Assignment Help

ITECH2100 / ITECH6100\

Securities-Market Registry System

Objectives
The purpose of this assignment is to assess your progress towards attainment of a selection of the
learning objectives as covered up to week 10, with an emphasis on topics of weeks 3 through 10.
On successful completion of this assignment you should have demonstrated that you are able to:
· Write a program consisting of multiple objects which interact with each other by following
appropriate design practices
· Write a program that provides the requested functionality for the system
· Implement classes which have generalization relationships with other classes
· Utilise polymorphism and abstraction techniques
· Utilise appropriate collection classes in appropriate ways/places
· Read data from and write data to text files
· Handle exceptions by constructing try … catch blocks for appropriate circumstances
· Create a JFrame and correctly use a JList component.

Additionally, ITECH6100 students should be able to demonstrate that you are able to:
· Write event handling code to respond to events generated by user actions
· Read data from and write data to binary files
The assignment may cause you to demonstrate that you have attained other learning objectives; the
above list is not necessarily exhaustive. However, we are not expecting you to demonstrate
attainment of learning objectives from week 11 onwards. The above items essentially form the
criteria against which you will be assessed.

Overview of Assignment
This assignment requires you to write an application that meets a list of provided functional and
design requirements, utilising the concepts and techniques taught in this course. You will write your
own classes that will create a text-menu based program which has a small GUI component as well.
You will be required to develop your application using Java (preferably in the Eclipse IDE). You
will need to add all your work to a zip file when you are finished and submit it on Moodle by the
due date. You will also need to submit a report which will require some written information
describing your system as well as addressing design and testing requirements which will be outlined
below. Please write this supporting documentation clearly and IN YOUR OWN WORDS
(plagiarism is NOT acceptable – refer to Course Description).
Before you begin, read over this entire assignment and understand all the tasks.

All code must conform to stylistic standards including proper commenting, appropriate choice of
identifier names, proper indenting and other readability issues. Otherwise, marks may be deducted.
Consult http://www.oracle.com/technetwork/java/codeconventions-150003.pdf

Context/Background Information (CI)
For this assignment, you will create a program that provides the user with access to a range of
information about matters surrounding a securities market.
A Securities market, is a place where people can buy and sell shares or units (or other similar
things, which are collectively named ‘securities’), that represent an ownership interest in some
organisation (usually a company). For example, the Australian Stock Exchange is a securities
market, and some of the companies whose shares are sold/bought include Telstra, BHP, the major
banks such as ANZ or CBA. An ownership interest arises when the company decides that it wants
to raise some money (to pursue its business objectives), but doesn’t want to get a loan from a bank –
instead, they invite investors to provide the money. For example, Telstra may decide to offer or
issue 1 million new shares, and you might choose to buy 1000 of them, each for $5.50. Assuming
Telstra already had 9 million shares issued to existing shareholders, you would then own 1000 out
of 10,000,000 of the total shares, or 0.01% of the company. Other people would own the other
shares. Offering of new shares is a rare event – for example, usually a company makes no more than
1 offer of new shares per year.

An investor can choose to sell their shares at any point after they have bought them. For example,
perhaps the investor above decides to sell their shares after having owned them for 3 months. To
actually sell them, there has to be someone else who is willing to buy them. Therefore the owner of
the shares can offer their set of shares at a particular price. The investor described above may offer
their 1000 shares for $5.75 each. If a second investor is happy to pay that price, the transfer of
ownership of those 1000 shares goes ahead in exchange for the money.
However, maybe there is nobody willing to pay $5.75, because those who are interested in
acquiring shares in the company do not feel that the shares are ‘worth’ that much. Perhaps they
think a more appropriate price would be $5.65, so they can make an offer to buy, or $5.65 and the
seller(s) can decide if they are willing to accept that lower price.
So the price at which shares are traded from one investor to another investor, depends on the prices
that both the buyer (and seller) are willing to pay (or receive). In a given day, the price could
fluctuate, but there will be a highest price and a lowest price, and there will be a closing price or
‘last price used’ for the day which is the price of the last transaction that occurred.

Other events are of interest to the share market participants (the investors), and usually take the
form of announcements.
Examples of some announcements are:
· A company announces that it is going to give a dividend to each investor. In this case, they
announce how many cents they will pay to investor for each share that the investor holds.
For example, if Telstra decides to pay a 15 cents dividend, then the person above who had
1000 shares will get 1000 x $0.15, or a total of $150 – just for owning the shares. (This is a
key reason why people would want to own shares – to receive dividend payments). They
remain an owner of the shares after the dividend is paid, unless they choose to sell the
shares. In the real world, the date of the payment can be up to several months in the future,
but for this program, assume that the dividend is paid on the date of the announcement.

A company announces that its annual financial report (explaining the company’s financial
performance for a 12 month period) is now available. It is significant as it indicates how
well or bad the company ‘did’ for the period, which might indicate the likelihood that it will
or won’t be able to pay dividends in the future, and so it might influence whether the
investor will buy or sell shares, and the price at which people are willing to buy shares for.
· A company announces a change to its Board of Directors, which is the group of people who
basically ‘run’ the company at the very top (above the Chief Executive Officer / CEO). For
example, one of the directors may be leaving, or a new director may be starting. It is
significant because investors may judge that the future performance of the company could
change for better or worse as a result of the change to the board of directors. It might
influence whether the investor will buy or sell shares.

A company announces a major activity or deal it has entered into, for example, that it has
released a major new product to customers, that it has sold a building that it previously
owned, that it began operating a new coal mine, or something else that is significant, and
which could impact on the finances of the company in the future.
· An investor announces that it has become, or else that it no longer is, a ‘substantial
investor’. For the purpose of this assignment, assume that by ‘substantial’ is meant that the
investor owns more than 25% of the total issued shares or units of the company. Using the
Telstra example of there being 10 million shares, and assume that the ANZ bank owns 2
million of those shares on a Monday. The bank is not currently a substantial shareholder.
But on Tuesday it buys 300,000 shares from other investors who were selling their shares,
and then on Wednesday it buys 200,000 more shares from other investors. On Wednesday,
the bank now owns 2.5 million shares, and therefore has become a ‘substantial investor’.
Perhaps this is just before the dividend is paid, and then a week after the dividend was paid,
the bank sells 100,000 of the shares so it now owns less than 2.5 million shares. It is no
longer a substantial investor. These events are significant information, because a substantial
investor may have sufficient power in voting at meetings of the company, to determine the
future direction or behaviour of the company, which might influence whether other investors
want to buy or sell their shares.

The Securities market deals with all the above information and transactions for several hundred
different companies. The system you develop will simulate a variety of the above types of events
for just a small set of companies, obtaining the data from a set of files, and allowing the user to
produce a range of reports or other queries for information. Note however, that the set of files which
the marker will use will be different to the set which is given to you to work with.

Required behaviour of the final system
This section outlines the functionality required to be provided by the program that you write for the
assignment. Keep in mind that you need to address the criteria against which the work will be
judged (the assessment criteria), when you implement the following behaviour of the system.
FR-1: Ability to store/recall basic information about a company in memory
The following information, at minimum, needs to be recorded for a company about which the
system knows and which the user can specify for generate reports or performing queries:
· The name of the company (e.g. “Telstra”)
· A three-letter code for the company (“TLS”)
· The current number of shares that are issued by the company (assume this remains constant
after obtaining value from the file)
· The closing price for share trades on the ‘previous’ day.

The information will need to be obtained from files initially – see FR-9. (However, you may choose
to use hard-coded data in the early stages of your work).
It must be possible that, by using the three-letter code for the company, you would be able to
retrieve the other information about the company (for this FR: at least the name and the number of
shares).
FR-2: Ability to simulate the passing of days
When the program commences, you should assume the information in the system represents facts
about the share market prior to the commencement of day 1. (Another way of thinking of this is: it
is the status of the share market when it closed the previous day). All reports and queries will only
need to operate on information arising from events/transactions arising on or after day 1.
There needs to be a mechanism for the user to tell the program that it is now time to process the
data about another day. The data will be stored in files that need to be read and processed, as
explained in other FRs. Once processed, that data is available to be included in generating reports or
queries.

Tasks to Complete
Task-1: Plan your program
Consider the functional and additional design requirements, and determine which classes you will
need to implement. In the Word document, write a short description of the role/purpose of each
class that you have in your program – please sort them in alphabetic order by class name.
Task-2: Code a functioning program that addresses the behavioural and additional design
requirements
Write the classes that you have determined are needed to make a functioning program. The program
should mostly be a text-menu based program, meaning that after setting up the system, it should
present the user with a list of options of what action they would like to perform next, and then does
the corresponding action, looping this until the user chooses to exit the program. You should aim to
write code following high quality coding practices that have been taught in this course this semester
– including comments, trapped exceptions and exhibiting good design where code is separated into
separate methods.
Task-3: Ensure all supplementary documentation is complete.
Go through you Word document and make sure that everything required to be included, has actually
been included and is complete.

 

To get assignment help, please contact to our live chat adviser

chat expert for your assignment help