Professional Documents
Culture Documents
Problem Statement
ABC Bank Automation System ABC bank plans to automate its account related activities. A customer can open an account. The customer should first provide his details to register in the bank before opening an account. If required he can update his details later. Clerk can view details of registered customers. The customer may have one or more accounts in the bank. He can deposit or withdraw money from his account. He can also close his account. The clerk generates a statement of the transactions performed on an account to verify the account transactions. Scope 1) 2) 3) 4) 5) 6) 7) 8) Add Customer Update Customer View Customer Details Open Account Deposit Withdraw Close Account Transaction Report Generation
Assumptions 1) Customer can exist in the system even without an account. 2) Date is not handled. 3) Closing an account will not delete the account details from the system; instead the status of the account is set to inactive. 4) Joint Accounts are not managed. 5) There are only two types of transactions possible: deposit and withdrawal.
TCS Internal
Customer Details Customer ID Account Opening Details Account No. Customer ID Customer Details Account No. Transaction Report
E1 Customer
E2 Clerk
TCS Internal
E2 Clerk
E1 Customer
D1
Customer Details
D1
Customer Details
D2 Balance
Account Details Account Details Account Status Account Status Account No.
Customer Details
P2
E1 Customer
Account Opening Details Account No. Account Closure Details Confirmation Withdrawal Details Deposit Details Receipt
Account Management
Account No. Transaction Report Withdrawal Details Deposit Details Transaction Details Account No. Transaction Details
Balance
E2 Clerk
D3
Note: Details on dataflow: a) For Process P1: Customer Details given by the customer includes Customer Name, Address and Phone Number. Customer gives the Customer Details to P1. Process P1 generates the Customer ID and writes the Customer Details (Which Includes the Customer ID) to the data store D1. b) For Process P2: Account Opening Details given by the customer include Customer ID and Opening Balance. Account Closure Details is Account No. Withdrawal Details and Deposit Details include Account No. and Amount. Process P2 generates the Account No. and writes the account details (which include account opening details and account number) to the Data store D2. Similarly P2 generates the Transaction ID and writes Withdrawal Details and Deposit Details (Which Includes the Transaction ID) to the Data store D3.
TCS Internal
P1.2
E1 Customer
P1.3 Customer ID
E2 Clerk
Customer Details
Note: For process P1.1: Customer gives the customer details to P1.1. Process P1.1 generates the customer Id and writes the customer details (Which include the customer Id and details given by the customer) to the Data store D1.
TCS Internal
Customer Details
Customer Details
P2.1
D2
P2.3
Open Account
Withdraw
Withdrawal Details
Account No.
Receipt
E1
D3
Transaction Details
Customer
Confirmation Receipt Account No. Deposit Details Deposit Details P2.4 Account No.
E2 Clerk
P2.2
D2
Note: a) For process P2.1: Customer gives the account opening details to P2.1. Process P2.1 generates the Account No. and writes the account details (Which Includes account opening details and Account No.) to the Data store D2. b) For process P2.3: Customer gives the withdrawal details to P2.3 Process generates the transaction ID and writes the withdrawal details (Which Includes the Transaction ID) to the Data store D3. c) For process P2.4: Customer gives the deposit details to P2.4 Process generates the transaction ID and writes the deposit details (Which Includes the Transaction ID) to the Data store D3.
TCS Internal
Deposit
Account Details
Customer
Account
Transaction
TCS Internal
Option1
Banking System
Exit
Get Option1
Customer Management
Account Management
Option2
Get Option2
Add Customer
Option3
Get Option3
Open Account
Withdraw
Deposit
Close Account
TCS Internal
Add Customer
Add Customer
Customer Details
Customer ID
Note: Customer Details is a compound data which includes Customer Name, Address and Phone Number.
TCS Internal
Customer Details
Customer ID
Customer ID
Customer ID
Note: Customer Details is a compound data which includes Customer ID, Customer Name, Address and Phone Number.
TCS Internal
10
Customer ID Address
Get Customer ID
Customer ID
Note: Customer Details is a compound data which includes Customer Name, Address and Phone Number.
TCS Internal
11
Open Account
Open Account
Customer ID Balance Account No. Customer ID Balance Customer Availability Status Account No. Account Status Account Update Status Account No.
Customer ID
Get Customer ID
TCS Internal
12
Withdraw
Withdraw
Withdrawal Details Account No. Account No. Withdrawal Amount Account No. Transacti on ID Transaction ID
Withdrawal
Generate Transaction ID
Note: Withdrawal Details is a compound data which includes Account No. and Amount to be withdrawn
TCS Internal
13
Deposit
Deposit
Deposit Details
Account No.
Balance Deposit Amount Balance Transaction ID Transaction Type Amount Account No. Balance Update Status Transaction ID
Generate Transaction ID
Note: Deposit Details is a compound data which includes Account No. and Amount to be deposited.
TCS Internal
14
Close Account
Close Account
Account No.
Account No.
TCS Internal
15
Account No.
Transaction Details
Account No.
Note: Transaction Details is a compound data which includes Transaction ID, Transaction Type and Amount.
TCS Internal
16
Account Status
TCS Internal
17
Normalized Tables
Customer (CustomerID CustomerName Address PhoneNo) Account (AccountNo. Balance AccountStatus CustomerID) Transaction (TransactionID TransactionType Amount AccountNo.) Note: a. The tables are in 1st normal form since there are no repeating groups. b. The tables are in 2nd normal form since there are no partial dependencies. c. The tables are in 3rd normal form since there are no transitive dependencies
TCS Internal
18
Code
TCS Internal
19
TCS Internal
20
TCS Internal
21
TCS Internal
22
TCS Internal
23
TCS Internal
24
TCS Internal
25
TCS Internal
26
TCS Internal
27
TCS Internal
28
TCS Internal
29
2. Customer Management Screen (By choosing option 1 from the main screen)
TCS Internal
30
TCS Internal
31
4. Select Add Customer and enter customer details (invalid case 1: invalid address)
TCS Internal
32
5. Select Add Customer and enter customer details (invalid case 2: invalid name)
TCS Internal
33
6. Select Add Customer and enter customer details (invalid case 3: invalid phone number)
TCS Internal
34
Appendix: Building executable from .scm file. Step 1: Create an executable file from the .scm file.
TCS Internal
35
TCS Internal
36