Architecture
Architecture
Architecture
1. Overview
1.1. System Overview
Personal Investment Management System (PIMS) is intended to help a user keep
account of his/her investments in instruments such as shares and bean deposits. PIMS is
to provide the user the rate of returns (ROR) he/she is getting, as well as net worth
(NW) of the different portfolios and the total net worth. Alerts about any maturity dates
can also be provided. For current value of some investment, PIMS is to obtain the
information from the web.
• For Users: The usability of the system and providing ROR and NW info.
Reasonable response time is also a concern.
• For designer/builder: The system is easy to modify, particularly to handle future
extensions mentioned in the SRS (i.e. the system may become a multi-user
system, which may require use of databases instead of files for keeping data.)
Hence, the key property for which the architecture is to be evaluated is the modifiability
or extensibility of the system. Response time performance is another factor for which the
system needs to be evaluated.
1
same company, and in context of Bank it is
deposit/withdrawal of money to/from one’s account
Security A set of all transactions pertaining to a company share or a
bank account.
Portfolio A set of securities.
Net Worth The sum total of all the money of the investor in form of
shares and bank balances.
Rate of The interest that user gets on a particular investment. In the
Investment context of a bank account it is the annual interest and in case
of a company share it is computed on a monthly basis, details
of which can be found in the appendix A of the SRS.
Acronyms:
PIMS Personal Investment Management System.
NW Net Worth.
ROI Rate of Investment
2. Architecture Design
2.1. Architecture 1: The Repository Model
This architecture consists of a data repository, which contains information about the
portfolios, securities, transactions, alerts and current share prices. There are separate
modules for performing various tasks such as computation of net-worth/ROI,
modification of the data repository etc. Following are the principle components of this
architecture.
2
6 Get/Set Alerts Processing This module accesses the data repository to
(Database access or set/get alerts
modification)
7 Net Loader Processing This module downloads the current share prices
(Download and from a remote database and updates the data
database repository
modification)
8 Get current share Processing This module accesses the data repository and
price (Database access) returns the price of a share
3
Figure 3.1: The Repository Model
4
Figure 4.1: The 4 layered architecture
5
(passwords, etc)
From the above table we see that architecture 2 is better as far as change in data
repository is concerned. Moreover, it is also easier to extend it to a multi-user system,
which involves additional security issues. However, the performance of Architecture 2 is
likely to be poorer than the first one, though it should be only marginally different.
Since, in future data repository may be changed, and the system may be made
multi-user we prefer Architecture 2 to Architecture 1. (These have also been stated as
the criteria for evaluation.) Thus we choose Architecture 2 for the Personal Investment
Management System.