Escolar Documentos
Profissional Documentos
Cultura Documentos
Banking System
Requirement Analysis
Introduction
Designed to simplify bank account keeping Implemented with the objective to computerize the handbook account maintenance system. Aims at reducing the workforce, management and clerical task. It increases the reliability and portability of the database storage.
Purpose
The current manual system includes the following problem:
Account maintenance as paperwork is a cumbersome task. Each transaction needs access to large database making transaction slow and records difficult to maintain. Generating monthly interest and adding it to each account manually is very difficult. Modifying the details of customer is a large process and closing an account and reissuing the account number may lead to chaos.
Purpose (cont..)
No backup can be maintained as the data is large and duplication of data consumes lot of time. Large work force required to do small clerical tasks. Analysis on data and access to database tedious. Maintaining year books requires large storage area.
Overview
New Account
Transaction
Monthly report
Edit Account
Functional Requirements
User can create a new account where account number will be automatically generated. User can modify the account details User can delete an account User can view account details User can deposit or withdraw money User can view monthly report with monthly interest added to each users account
Perform Transaction
Amount
Withdrawal
The account numbers should be generated automatically. While opening account, name and address should not be left blank. Initial deposit should not be less than Rs. 1000. Transaction date should be the current date.
Non-functional Requirements
Usability
Has user friendly interface Can run both on Windows and Linux platform
Portability
Reliability
Security
Design Phase
BANK
maintain
ACCOUNT
needs
opens
stored in
CUSTOMER
performs
TRANSACTION
Mode
Accounts
Opens account
maintains
Adds interest
Banking System
Control (management)
Risk Analysis
Steps To Follow
Identify the risks Identify the risks Analyse the risks Analyse the risks Evaluate the risks Evaluate the risks Treat the risks Treat the risks
Risk Evaluation
Extreme Almost certain Severe Very high Moderate Severe High Low Major Negligible Moderate
Action
Security breach
Extreme
Moderate
High level authentication and checking procedures to be implemented Ensure atomicity and rollback of transactions Can be deferred
Incomplete Transaction
Extreme
Likely
Severe
Moderate
Rare
Low
Testing
Black Box Testing
Equivalence Partitioning
Transaction (Date)
Test case Input (Day) Input (Month) Input (Year) Partition tested Expected Output 1 -1 5 2009 D<1 Error Message 2 12 5 2009 0 < D < 32 Valid 3 45 5 2009 D > 31 Error Message 4 14 0 2009 M<1 Error Message 5 14 11 2009 0 < M <13 Valid
Equivalence Partitioning
Transaction (Date) (Cont)
Test case Input (Day) Input (Month) Input (Year) Partition tested Expected Output 6 14 15 2009 M > 12 Error Message 7 14 5 2008 Y < 2009 Error Message 8 14 5 2009 Y = 2009 Valid 9 14 5 2011 Y > 2009 Error Message 10 a b c alphabets Error Message
Equivalence Partitioning
Transaction (Date) (Cont)
Test case Input (Day) Input (Month) Input (Year) Partition tested Expected Output 11 14.5 15.5 2009.5 real number Error Message 12 { ; # special characters Error Message 13 null null null null Error Message
Equivalence Partitioning
Transaction (Type)
Test case Input (Type) Partition tested Expected Output 1 D deposit Ask for mode 2 d deposit Ask for mode 3 W withdrawal 4 w withdrawal 5 e Any other alphabet
Equivalence Partitioning
Transaction (Type) (Cont)
Test case Input (Type) Partition tested Expected Output 6 % special character Error Message 7 14 integer Error Message 8 35.6 9 Daf 10 null null Error Message
Equivalence Partitioning
Transaction (Mode)
Test case Input (Mode) Partition tested Expected Output 1 C cash Ask for amount 2 c cash Ask for amount 3 Q cheque Ask for amount 4 q cheque Ask for amount 5 e Any other alphabet Error Message
Equivalence Partitioning
Transaction (Mode) (Cont)
Test case Input (Mode) Partition tested Expected Output 6 % special character Error Message 7 14 integer Error Message 8 35.6 9 Daf 10 null null Error Message
Equivalence Partitioning
Transaction (Amount)
Test case Input (Amount) Input (Type) Partition tested 1 9 d A < 10 2 5000 d 9 <A< 50001 3 60000 d A > 50000 4 9 w A < 10 5 70000 w Greater than minimum Error Message
Expected Output
Error Message
Error Message
Error Message
Equivalence Partitioning
Transaction (Amount)(Cont..)
Test case Input (Amount) Input (Type) 6 1000.50 d or w 7 a d or w alphabet Error Message 8 $ d or w special character Error Message 9 null d or w null Error Message
Equivalence Partitioning
Monthly Report (Month)
Test case Input (Month) Partition tested Expected Output 1 -1 M<1 Error Message 2 6 0 < M < 13 Valid 3 15 M > 12 Error Message 4 9.5 real numbers Error Message 5 g alphabets Error Message
Equivalence Partitioning
Monthly Report (Month) (Cont..)
Test case Input (Month) Partition tested Expected Output 6 ^ special character Error Message 7 Null Null Error Message
Causes: C1: Valid name is entered C2: Valid address is entered C3: Initial amount deposited > Rs.1000 C4: Verifying person present Effects: E1: New account is opened E2: Account not opened
C3
C4
Decision Table
C1 T
T T T T T T T F F F F F F F F
C2 T C3 T
C4 T
E1 T E2 F
Test Cases
Name Ruchika Taranpreet Rajni Simmi Manisha Barkha Reena Vashita Null 1234 #**** -122 0000 99.345 ,,,!!!!! null Address F-59, Delhi G-45, Delhi Kohat, Delhi A12,Pitampura null 123456.788 #$****** null 36B, Noida K12, delhi F-44, preetvhr L12, gurgaon null 00000000000 ######### aaaaaaaaaaaa Amount 3100.00 2955.00 500.00 Null 12555.00 2222.00 Babc ,,*()! 9999.00 6565.00 Null 0000 12345.00 54321.00 Abcdef ##### Verifying Person Present Not present Present Not present Present Not present Present Not present Present Not present Present Not present Present Not present Present Not present Account Status Opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened Not opened
Testing
White Box Testing
Statement and Branch Coverage Linear Code Sequence and Jump (LCSAJ testing)
Source Code
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
void display_account(void) { statements if(t_accno==0) return; clrscr(); if(!found_account_ini(t_accno)) { statements return; } box_for_display(t_accno); while(fread(&acc,sizeof(acc),1,fb)>0) { if(acc.accno==t_accno) { statements if(acc.transaction== 'D'||acc.transaction=='d') { statements }
22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
else { statements } statements if(row>23) { statements } } } statements for(j=1;j<=79;j++) printf("="); statements if(!flag) { statements } }
A B D E F G H I J K L N O P R S T U C W V Q M
FLOW GRAPH Statement coverage 1. A-B-C : 3/23 = 13.04% 2. A-B-D-E-F-C : 6/23 = 26.08% 3. A-B-D-E-G-H-R-S-T-U-V-C: 12/23 = 52.17%
Branch coverage 1. A-B-C : 1/18 = 5.5% 2. A-B-D-E-F-C : 2/18 = 11.11% 3. A-B-D-E-G-H-R-S-T-U-V-C: 7/18 = 38.88%
Source Code
Source Code
LCSAJ Testing
Control Flow 16 16 19 19 26 26 28 28 70 43 43 61 61 73 74 73 87 87 17 18 20 25 27 71 29 70 26 44 50 62 69 74 73 75 88 93 Jump No Yes No Yes No Yes No Yes Yes No Yes No Yes No Yes Yes No Yes Required Condition Account number == 0 Account number != 0 Account Found Account not found Data exists in file No data present in file Account number matches with the entered account no. for transaction Account no. not matched with the entered account no. for transaction Always executed Transaction==D || Transaction == d Transaction!=D || Transaction != d Row>23 Row<=23 J<=79 J>79 Always executed Flag == flase Flag == true
LCSAJ Testing
2,16,18 2,19,25 . 2,26,71 2,28,70 2,70,26 2,43,50 2,61,69 2,74,73 2,73,75 2,87,93
Thank You!!