SRS - Stock Master
SRS - Stock Master
Specification
For
Stock Master
Version 1.0 approved
Table of Contents
1. Introduction................................................................................................................................1
1.1 Purpose ............................................................................................................................................... 1
1.2.2 Stocks........................................................................................................................................... 1
.................................................................................................................................................................. 2
1.4 References........................................................................................................................................... 4
2. Overall Description....................................................................................................................4
2.1 Product Perspective............................................................................................................................. 4
1. Introduction
1.1 Purpose
Stock Master is software intended for use by a Stock-broker or a Stock-sub broker. Through our
project we are aiming to automate all the major process a Sub-broker is supposed to do. This
includes getting current stock values, logging details of the stock rates, assist in transaction and
give adequate advice and suggestions about a particular stock.
Before going into the details, some technical details regarding the stock-market are listed below
The Stock Market is either a private or public market where stock or shares of the companies are
sold or traded by share holders.
There are many stock markets in India some of the major stock markets are NSE (National Stock
Exchange), BSE (Bombay Stock Exchange) and MCX (Multi Commodity Exchange of India)
for commodity exchange. There are also 21 RSEs (Regional Stock Exchanges) like Cochin Stock
Exchange, Allahabad Stock Exchange, and Madras Stock Exchange etc.
1.2.2 Stocks
A stock share, a legal document from the company or simply referred as 'stock certificates', will
entitle you to be a co-owner of that company. Stock are also called as equity, shares etc. A
company issues stocks in-order to raise a required amount of capital.
• Equity shares are standard shares with no special rights or restrictions. They have the
potential to give the highest financial gains, but also have the highest risk. Ordinary
shareholders are the last to be paid if the company is wound up.
o Preference shares typically carry a right that gives the holder preferential
treatment when annual dividends are distributed to shareholders. Shares in this
category have a fixed value, which means that a shareholder would not benefit
from an increase in the business' profits. However, usually they have rights to
their dividend ahead of ordinary shareholders if the business is in trouble. Also,
when a business is wound up, they get preference over equity share holders in the
process of repay of the par or nominal value of shares.
o Cumulative preference shares give holders the right that, if a dividend cannot be
paid one year, it will be carried forward to successive years. Dividends on
cumulative preference shares must be paid, despite the earning levels of the
business.
o Redeemable preference shares come with an agreement that the company can
buy them back at a future date - this can be at a fixed date or at the choice of the
business. A company cannot issue only redeemable shares.
The General Public cannot buy or sell shares directly, but they have to do so through some share-
brokers or through some sub-brokers. The share-brokers are registered in the SEBI (Securities
and Exchange Board of India). These sub-brokers carryout their client’s buying or selling stocks.
For this they charge a brokerage of up to 5% of the transaction.
Share transaction can be done in 2 ways; through physical shares or share certificates or by using
Demat (dematerialized) shares. In Demat shares; we use a soft copy of the share to trade. Here
also some physical processing is required, but this provides many advantages in storing and
allows the share holder to sell any amount of stock at a time.
EPS (Earnings Per Share) ratio is the amount of net earning divided by the number of
outstanding shares. . Dividends are portions profit of the company that it wishes to give.
Dividends are given to each share holder of the company in accordance with the number of
shares he/she holds.
For example if a company decides to part with 1000 rupees of profit to its share holders.
Suppose if there are 10 share holders then EPS will be
P/E (Price to Earnings) ratio is the primary tool used by many investors while investing. It is the
relationship between stock price and the profit of the company.
Thus in the above example if the stock price of the company is 20 rupees, then P/E ratio of that
share is 20/10 = 2.
In this section the scope of the project we are designing is mentioned. Here we list the major
inclinations of our project and what area it gives importance and what area of stock market
dealing it is not associated with.
There are a lot of methods of investing money in a stock market; through equity shares,
preference shares, mutual funds etc. But our intended project is exclusively for equity shares, its
processing and transaction. This is due to the fact that, most of the volume traded stock is of
equity nature. Also Equity share is the one focused by many Stock-brokers.
We are planning to use the 2 biggest stock exchanges in India; they are NSE (National Stock
Exchange) and BSE (Bombay Stock Exchange). And the indices used here are the BSE sensitive
Index (Sensex) and National Stock Exchange Fifty (Nifty). The Regional Stock Exchanges are
out of the scope of our project. We decided this, as majority of equity share transactions occur in
NSE and BSE and also those two are mostly covered by all stock-brokers.
A good stock broker must not only do the share transactions, but also he must give suggestions
and advice to their clients. So we are providing many tools for making those suggestions and
help the broker to make more accurate predictions. We provide the broker with the P/E ratio
(Price to Earnings ratio), and the PEG ratio (Price to future growth ratio). Also our proposed
system provides the stock broker with a graph disclosing the trends of the stock.
1.4 References
• http://users.csc.calpoly.edu/~jdalbey/308/Deliver/SRSformat.html
• http://www.indiahowto.com/peg-price-projected-growth-ratio.html
• http://stockmarketwiki.blogspot.com/2009/01/types-of-shares-by-group.html
• http://www.bseindia.com/about/abintrobse/listsec.asp
• http://www.requirementsauthority.com/functional-and-non-functional.html
• http://en.wikipedia.org/wiki/Permanent_account_number
2. Overall Description
Stock Master is aimed to provide most if not all the data a typical stock broker requires. Also
stock master saves abstract values of stocks, which are used later for statistical analysis. Similar
is done with clients to make future client interactions better.
• Share transactions.
We are planning to use Microsoft Visual Studio 2005 and C# language for implementing the
design. Thus the required OS is windows ME/XP/server 2003/vista. This is due to the restriction
in the .NET framework 2.0.
We are planning to implement Stock master using Visual Studio 2005 and SQL server. .NET
framework 2.0 is used. We are saving abstract values of stocks in a database, also the client data
and behaviors are also logged. So there must be adequate disk space for the databases. About
500MB data is sufficient in testing phases, but needs to be increased as the number of clients
increase.
3. System Features
In this section all the system features mentioned in section 2.2 is described in detail.
In this phase new clients are registered. When a person wants to invest his/her money in
stock-market, he does so through the stock-broker. The stock broker will carryout the
intention of the client thus registered for a brokerage. This is feature of medium priority as
the frequency of client registration is not as high as transaction rates of stocks by a stock
broker.
This action is triggered by the clicking of “new registration” option. This will take the
operator to a new page which will request the client details.
The functional requirements of the client registration process includes the following
REQ 1. The Client name should be alphabets and spaces. There should not be any numbers, or
other ASCII characters etc
REQ 3. PAN card number should be of the form AAAA9999A, that is first 5 characters are
letters, then 4 digits and last character is a letter. Any input violating this structure need be
shown as invalid.
REQ 4. Bank details. The money obtained from selling stocks is issued by stock-broker in the
form of cheques. So the user must give the name of the bank whose cheque must be used.
REQ 5. Client ID and Demat account number are later on used for quick data retrieval. The
Demat account number is serial number of the client in the client database. The Client ID
is structured as AADDMMYYYY99. The first two are letters, which are the first two
letters of the client, then the date, month and year are used. The last two characters are
digits.
This is a process of medium priority. A stock broker needs to get the latest stock value
before share transaction. The value of share fluctuates and thus rapid accessing of the
values is required. Also the opening, closing, intraday high and low are found. Also the
dividends given out by the companies are logged.
This feature is invoked automatically. But it can be made to access manually also. This is
done when a client wants to buy or sell a particular stock.
REQ 1. The stock rates logged in a database. Here intraday high and low are also stored. The
closing rates are used for constructing the graph.
REQ 2. The graphical representation needs to be current and older values must be periodically
updated with newer ones.
REQ 3. The dividends issued by companies are also saved for making transaction decisions.
Stock master assists the stock broker in processing the share transaction of clients. Here
the client ID is inputted. Corresponding Demat account number is generated and checked
before transaction is done. Then the whole transaction amount and brokerage is
calculated and the Demat account is updated.
This feature needs to be invoked by the operator. Here the client ID obtained at Client
Registration phase is the input. The output is two values, one the total transaction amount
and the second is the brokerage of that transaction.
REQ 1. Here the Client ID needs to be checked before proceeding. The Client ID as mentioned
before is of the form AADDMMYYYY99, in which first two characters are the first 2
letters of the client name, then the date at which registration took place and 2 more digits.
An input violating above said format needs to be rejected.
REQ 3. Transaction amount is simply number of share multiplied by the current stock rate.
REQ 5. There must be option to set and update the brokerage percentage.
A good stock broker does not do share transaction alone, but he is supposed to give advice
and suggestion to his clients. But this phase is a low priority task. Stock master saves the
opening, closing, intraday peak and intraday low values of the stocks. Thus it can provide
the stock-broker with 2 representations for making his suggestions.
First one is a tabular representation and the second is the graphical representation of the
closing rates.
This facility needs to be invoked. A stock-broker can use this utility before carrying out a
transaction and can advise the client about the risks of that particular transaction. Also this
utility helps the Stock broker to arrive at his suggestion quickly and make more accurate
predictions.
REQ 1. The starting, closing and intraday high and intraday low of a stock needs to be stored in
the database.
REQ 2. Dividend released by each company is saved and this helps to provide with the client
adequate information about the company.
REQ 3. Tabular representation gives the current value of the stock, the highest and lowest values
recorded of that particular stock and the P/E ratio of that stock.
REQ 4. Graphical representation is done by plotting time along x axis and stock value along the y
axis. Here the closing rates are used for plotting.
For effective and efficient stock transactions, we need good interaction between the clients
and the stock-broker. In this phase we address that. The details that the client enters are
stored in a database along with the Client ID. Now there is another database, which has
the Demat account number of the client and in it the transaction details are stored. This
helps the stock broker to establish better relations with the clients. This is a low priority
phase.
This function is invoked by the stock broker. The input here is the Client ID or the Demat
account number of the client. Output is the details obtained from the 2 tables.
REQ 1. The Client ID needs to be of the form AADDMMYYYY99 and inputs of other formats
needs to be rejected right away.
REQ 2. The details from both tables needs to be displayed in a single form or must be accessible
from one form.
Stock Master requires a monitor with large enough pixel size in order to display the graph. The
input units are standard QWERTY keyboard and mouse. No additional input or output hardware
is mandatory.
Stock master requires an internet connection with sufficient speed to get the current stock values.
The stock index values are obtained periodically and when transactions are made. Thus in order
to complete the transactions quickly an internet connection with broadband or near broadband
speed is mandatory.
Stock master is a software in which sensitive details of clients are stored. Thus the information in
them needs to be protected from intrusion and unauthorized modifications. For this the databases
are made locked and can only be edited by the administrator. Also there Authorization login
when the software starts. Also, to view the client details, Client ID is required and thus the data
is protected.
The idea of transaction processing is required in this. The transaction made must reflect in the
databases. There should not be any data loss while a share is bought or sold. Also the database
needs to be used in such a manner so as to eliminate data loss or loss of data integrity.
Stock Master is reusable and can be extended to other exchanges or to other kinds of stocks. The
testing of Stock master requires traversing of all forms, stress testing and Authorization tests.
6. Conclusion
The analysis and design of the project Stock master is completed and all the necessary design
specifications and functionalities are documented in an SRS document. Also the Data Flow
diagram, The Gant chart, and the design of the database are attached as appendices.
The project is now ready for the subsequent stages in the software lifecycle, that is coding and
testing.
Appendix A: Glossary
Term Definition
Appendix B: DFDs
Context level DFD
Client Registration
Share transaction
Client details
27/02/2010
19/02/2010
12/02/2010
08/01/2010
25/10/2009
16/07/2009
30/06/2009
0 1 2 3 4 5 6
Testing Integration
Coding Requirement analysis
Feasibilitystudy
Client Table2
Date Date
Stocks table 1
Stocks table 2
2 Date date
4 Day-in-price Currency
5 Day-out-price Currency