Banking System System Design Document: Group #3 Members
Banking System System Design Document: Group #3 Members
Group #3 Members
Jing Zhang
Wei Peng
Erliang Zeng
Ramakrishna Varadarajan
Xiaosi Zhou http://www.cs.fiu.edu/~xzhou001
Fernando Farfán
TABLE OF CONTENTS
1. INTRODUCTION .................................................................. 2
1.1. PURPOSE OF THE SYSTEM ........................................................ 2
1.2. DESIGN GOALS ................................................................... 2
1.3. DEFINITIONS, ACRONYMS AND ABBREVIATIONS ............................... 3
1.4. REFERENCES ...................................................................... 3
1.5. OVERVIEW......................................................................... 4
2. CURRENT SOFTWARE ARCHITECTURE ................................. 4
3. PROPOSED SOFTWARE ARCHITECTURE .............................. 4
3.1. OVERVIEW......................................................................... 4
3.2. SUBSYSTEM DECOMPOSITION ................................................... 5
3.3. HARDWARE/SOFTWARE MAPPING ............................................... 6
3.4. PERSISTENT DATA MANAGEMENT ................................................ 8
3.5. ACCESS CONTROL AND SECURITY ............................................... 8
3.6. GLOBAL SOFTWARE CONTROL ................................................. 10
3.7. BOUNDARY CONDITIONS ....................................................... 11
4. SUBSYSTEM SERVICES ...................................................... 11
5. GLOSSARY ........................................................................ 14
The new administration’s strategic plan for the next five years focuses
on a statewide coverage expansion, but such expansion will be
unreachable if the bank does not count with a new system strong
enough to support the expected high volume operations.
Dependability criteria:
• Robustness: The system has to be robust enough to manage any
invalid input from the users.
• Reliability: The system has to perform the Banking operations
with no errors or discrepancies.
• Security: The system security is one of the most important
nonfunctional requirements.
Maintenance criteria:
• Extensibility: The system must support that new functionalities
can be added.
• Modifiability: The system has to be highly modifiable, so the
Information Technology Department of the bank can maintain it.
• Readability: The system has to be readable enough to assure its
modifiability.
• Traceability of requirements: The code should be easy to be
mapped to specific requirements.
1.4. References
• Problem Statement
• Requirements Analysis Document
The system will be decomposed based on the use cases and the
different actors we have defined.
Storage
Database
Person
SysAdmin User
AccountManagement
Storage
TransactionManagement
Transaction
Database
The banking system will be web-based, both for the banking users and
for the customer access through the internet banking platform. The
functionality will all be performed in the main host, and will be
accessed through TCP/IP networks by all the users.
The branch employees will access the system through the bank’s
TCP/IP private network, and the customers will access through the
World Wide Web.
The proposed main host will be a Sun Microsystems Sun Fire E2900
Server. It has been chosen due to its ability to scale up to 12 servers,
which can be reached in the next 5 years, according to the expansion
goals of the bank.
: E x p lo r e
:U s e rM a n g e m e n t
:A c c o u n t M a n a g e m e n t
: T r a n s a c t io n M a n g e m e n t
:S to ra g e
:U n ix H o s t
:D a ta b a s e
The access control for the Banking system is implemented through the
capabilities list. This representation comes up to be more compact and
efficient for the System. A capability associates a (class, operation)
pair with an actor. A capability allows an actor access to an object of
the class. Denying a capability is equivalent to denying access.
CLASS OPERATION
Function Select menu ManageAccounts(),
updateLogin(),
Login().
Manage Account Menu Create(), createAccount(),
updateAccount(), closeAccount().
Create Account Form Create(), submit().
Update Account Form Create(), submit().
Close Account Form Create(), submit().
Account createAccount(),
updateAccount(),
closeAccount(),
CLASS OPERATION
Function Select menu ManageTransactions(),
updateLogin(),
Login().
Account Deposit(),
Transfer(),
Withdraw().
Transaction Select Menu Create().
Withdraw Form Create(), submit().
Deposit Form Create(), submit().
Transfer Form Create(), submit().
Manage Transactions Report Create(),
Print(),
dismiss().
Transaction Create().
Person Update()
CLASS OPERATION
Function Select menu ManageTransactions(),
updateLogin(),
CLASS OPERATION
Function Select menu createLogin(), updateLogin(),
Login().
Create Login Menu createCustomerLogin(),
createEmployeeLogin().
Person Create(), update().
Create Customer Login Form Create(), submit().
Create Employee Login Form Create(), submit().
Login form Create(), submit().
Create Login Report Create(), print(), dismiss().
Update Login Form Create(), submit().
Procedure-driven control would be the one that will be suitable for our
system. In our system, operations wait for user input whenever they
need data from either a bank employee or a customer. For example,
since our project is a web-based project, the web server waits for
requests from the web browser. Upon receipt of a request, the web
server processes and dispatches it to the appropriate web page, thus
resulting in an event-based control flow.
The starting, shutdown and installing of the Banking System define the
boundary conditions.
4. Subsystem services
STORAGE SUBSYSTEM:
DATABASE SUBSYSTEM:
Bank Officer: A Bank officer is the term used to refer to the officer of
the Bank who takes care of opening the accounts, creating the logins
for Bank Employees and closing accounts if any. He also can do
transactions if necessary.
Bank Teller: A Bank Teller is the term used to refer the teller of the
system, who performs all the customer account transactions. He is the
one who makes a deposit, withdrawal or checks the account’s balance.