You are on page 1of 37

ABC Banking Case Study Structured Modeling and Implementation

Reference Case Study, November 2008


TCS - ILP
TCS Internal

ABC Banking Case Study

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

ABC Banking Case Study

Structured Modeling Diagrams & Implementation


Data Flow Diagrams

Context Diagram (Level 0)


P0

Customer Details Customer ID Account Opening Details Account No. Customer ID Customer Details Account No. Transaction Report

E1 Customer

Account Closure Details Confirmation Deposit Details Withdrawal Details Receipt

ABC Banking System

E2 Clerk

TCS Internal

ABC Banking Case Study

Level -1 Data Flow Diagram


P1 Customer Details Customer ID Customer ID Confirmation Customer Details Customer Management Customer Details Customer Details

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

ABC Banking Case Study

Level -2 Data Flow Diagram for Customer Management


P1.1 Customer Details D1 Customer Details

Add Customer Details Customer ID Customer

P1.2

E1 Customer

Customer Details Confirmation Details

Update Customer Details

P1.3 Customer ID

E2 Clerk

Customer Details

View 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

ABC Banking Case Study

Level -2 Data Flow Diagram for Account Management


D1 Customer ID Customer Details

P2.1

D2

Account Details Balance

P2.3

Account Account Details Opening Details

Open Account

Balance Account No. Account Status

Withdraw

Withdrawal Details

Account No.

Receipt

Withdrawal Details Transaction Details

P2.5 Account No.

E1
D3

Transaction Details

Customer
Confirmation Receipt Account No. Deposit Details Deposit Details P2.4 Account No.

Transaction Report Generation Transaction Report

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

Account No. Account Status

Close Account Account Status

Account Status Account No. Balance

Deposit

Account Details

ABC Banking Case Study

Entity Relationship Diagram


Customer Customer ID Customer Name Address Phone No Account Account No. Balance Account Status Has / Made on Transaction Transaction ID Transaction Type Amount Has / Belongs to

Customer

Account

Transaction

TCS Internal

ABC Banking Case Study

Structure Charts First Cut Structure Chart

Option1

Banking System

Exit

Get Option1

Customer Management

Account Management

Option2

Get Option2

Add Customer

Update Customer Details

View Customer Details

Back to main menu Back to main menu

Option3

Get Option3

Open Account

Withdraw

Deposit

Close Account

Transaction Report Generation

TCS Internal

ABC Banking Case Study

Add Customer
Add Customer

Customer Details

Address Phone Number Customer Name Customer ID Customer Add Status

Customer ID

Get New Customer Details

Add Customer Details


Customer ID

Generate Customer ID Print Error Message

Display New Customer ID

Note: Customer Details is a compound data which includes Customer Name, Address and Phone Number.

TCS Internal

ABC Banking Case Study

Update Customer Details


Update Customer

Customer Details

Customer ID

Get Customer Details

Print Error Message

Customer ID

Address Customer Name Phone Number Customer Update Status

Customer ID

Customer Availability Status

Check Customer Availability

Update Customer Details

Display update Confirmation

Data Store Error Handler

Note: Customer Details is a compound data which includes Customer ID, Customer Name, Address and Phone Number.

TCS Internal

10

ABC Banking Case Study

View Customer Details


View Customer

Customer ID Address

Get Customer ID

Print Error Message

Customer ID Customer Name Phone Number Customer Details

Customer ID

Customer Availability Status Customer ID

Check Customer Availability

Read Customer Details

Display Customer Details

Note: Customer Details is a compound data which includes Customer Name, Address and Phone Number.

TCS Internal

11

ABC Banking Case Study

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

Print Error Message

Display New Account Number

Check Customer Availability

Get Opening Balance

Generate Account Number

Add Account Details

Data Store Error Handler

TCS Internal

12

ABC Banking Case Study

Withdraw

Withdraw
Withdrawal Details Account No. Account No. Withdrawal Amount Account No. Transacti on ID Transaction ID

Balance Transaction Update Status

Get Withdrawal Details

Account Validity Status

Check Account Validity

Print Error Message


Balance Balance

Transaction Type Balance Amount Update Status Account No.

Display Withdraw Receipt

Withdrawal

Update Account Balance

Generate Transaction ID

Add Transaction Details

Withdrawal Amount Account No.

Withdrawal Amount Account No. Withdrawal Eligibility Status Balance

Data Store Error Handler Print Error Message

Check Withdrawal Eligibility

Calculate Balance after Withdraw

Data Store Error Handler

Note: Withdrawal Details is a compound data which includes Account No. and Amount to be withdrawn

TCS Internal

13

ABC Banking Case Study

Deposit
Deposit
Deposit Details

Account No.

Balance Deposit Amount Balance Transaction ID Transaction Type Amount Account No. Balance Update Status Transaction ID

Get Deposit Details

Display Deposit Receipt


Transaction Update Status

Account No. Account Validity Status

Print Error Message


Balance Account No.

Check Account Validity

Calculate Balance after Deposit

Update Account Balance

Generate Transaction ID

Add Transaction Details

Data Store Error Handler

Note: Deposit Details is a compound data which includes Account No. and Amount to be deposited.

TCS Internal

14

ABC Banking Case Study

Close Account
Close Account

Account No.

Account Status Account No.

Get Account Number

Print Error Message


Account Account No. Validity Status Account Closure Status

Account No.

Check Account Validity

Update Account Status

Display Closure Confirmation

Data Store Error Handler

TCS Internal

15

ABC Banking Case Study

Transaction Report Generation


Transaction Report Generation

Account No.

Transaction Type Amount Account No. Account No. Transaction ID

Get Account Details

Transaction Availability Status

Print Error Message

Transaction Details

Check Transaction Availability

Account No.

Display Transaction Details

Read Transaction Details

Note: Transaction Details is a compound data which includes Transaction ID, Transaction Type and Amount.

TCS Internal

16

ABC Banking Case Study

Check Account Validity


Check Account Validity

Account No. Account Availability Status

Account Status

Check Account Availability

Print Error Message

Check Account Status

TCS Internal

17

ABC Banking Case Study

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

ABC Banking Case Study

Code

TCS Internal

19

ABC Banking Case Study

TCS Internal

20

ABC Banking Case Study

TCS Internal

21

ABC Banking Case Study

TCS Internal

22

ABC Banking Case Study

TCS Internal

23

ABC Banking Case Study

TCS Internal

24

ABC Banking Case Study

TCS Internal

25

ABC Banking Case Study

TCS Internal

26

ABC Banking Case Study

TCS Internal

27

ABC Banking Case Study

TCS Internal

28

ABC Banking Case Study

TCS Internal

29

ABC Banking Case Study

ABC Banking System: UI Screenshots


Reference: Appendix: Building executable from .scm file. 1. Main screen of ABC Bank Automation System

2. Customer Management Screen (By choosing option 1 from the main screen)

TCS Internal

30

ABC Banking Case Study

3. Select Add Customer and enter customer details (valid case)

TCS Internal

31

ABC Banking Case Study

4. Select Add Customer and enter customer details (invalid case 1: invalid address)

TCS Internal

32

ABC Banking Case Study

5. Select Add Customer and enter customer details (invalid case 2: invalid name)

TCS Internal

33

ABC Banking Case Study

6. Select Add Customer and enter customer details (invalid case 3: invalid phone number)

TCS Internal

34

ABC Banking Case Study

Appendix: Building executable from .scm file. Step 1: Create an executable file from the .scm file.

TCS Internal

35

ABC Banking Case Study

Step2: Save the executable file

TCS Internal

36

You might also like