You are on page 1of 36

ATM Simulation System (ATM)

Deliverable II Software Requirements


Version 5.0 - February 22, 2011

Authors (Team D): Abderahman Rashwan Cosmin Jimborean Mahdi Biparva Rahul Madana

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Contents
1.USE CASE MODEL.......................................................................4
1.1.Actors..........................................................................................................4 1.1.1.Client..........................................................................................................................4 1.1.2.Administrator..............................................................................................................4 1.2.Use Cases....................................................................................................4 1.2.1.Register with ATM.......................................................................................................4 1.2.2.Authenticate Client.....................................................................................................5 1.2.3.View Account Balance.................................................................................................5 1.2.4.View History of Transactions.......................................................................................6 1.2.5.Print History of Transactions.......................................................................................7 1.2.6.Modify Personal Information.......................................................................................7 1.2.7.Modify Contact Information.........................................................................................8 1.2.8.Modify PIN...................................................................................................................8 1.2.9.Perform Transaction....................................................................................................9 1.2.10.Withdraw Money.......................................................................................................9 1.2.11.Deposit Money........................................................................................................11 1.2.12.Transfer Money.......................................................................................................11 1.2.13.Pay Bill....................................................................................................................12 1.2.14.Approve Deposit Transaction..................................................................................13 1.2.15.Reject Deposit Transaction ....................................................................................14 1.2.16.Authenticate Administrator.....................................................................................14 1.2.17.Approve Client........................................................................................................15 1.2.18.Reject Client............................................................................................................15 1.2.19.Activate ATM Card..................................................................................................16 1.2.20.Deactivate ATM Card..............................................................................................17 1.2.21.Activate Account.....................................................................................................17 1.2.22.Deactivate Account................................................................................................18 1.2.23.Modify Account Information....................................................................................18 1.3.Use case diagram.......................................................................................20

2.USER STORIES..........................................................................21
2.1.Registration...............................................................................................21 2.1.1.Register with ATM ....................................................................................................21 2.1.2.Approve Client..........................................................................................................21 2.1.3.Reject Client..............................................................................................................22 2.2.Authentication...........................................................................................22 2.2.1.Authenticate Client...................................................................................................22 2.2.2.Authenticate Administrator.......................................................................................23

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.3.Banking Services........................................................................................23 2.3.1.View Account Balance...............................................................................................23 2.3.2.View History of Transactions.....................................................................................24 2.3.3.Withdraw Money.......................................................................................................24 2.3.4.Deposit Money..........................................................................................................25 2.3.5.Transfer Money.........................................................................................................25 2.3.6.Pay Bills....................................................................................................................25 2.4.Administrative tasks...................................................................................26 2.4.1.Activate Account.......................................................................................................26 2.4.2.Deactivate Account...................................................................................................27 2.4.3.Activate ATM Card....................................................................................................27 2.4.4.Deactivate ATM Card................................................................................................27 2.4.5.Approve deposit transaction.....................................................................................28 2.4.6.Reject deposit transaction........................................................................................28 2.4.7.Modify Account Information......................................................................................29 2.5.Client Profile..............................................................................................29 2.5.1.Modify Contact Information.......................................................................................29 2.5.2.Modify PIN.................................................................................................................30

3.GLOSSARY...............................................................................31 4.TEAM MEMBER CONTRIBUTIONS................................................35

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

1.Use Case Model


1.1. Actors
1.1.1. Client The Client actor represents a person who interacts with the ATM in order to perform banking related tasks, including but not limited to: withdraw cash, deposit cash or pay bills. 1.1.2. Administrator

The Administrator actor represents a person that performs administrative tasks on the ATM, including but not limited to: maintaining clients, accounts, ATM cards and monitoring transactions.

1.2. Use Cases


1.2.1. Register with ATM Identifier: ATM-UC01 Description: A Client registers with ATM by providing his information. Pre-Condition: None. Post-Condition: The ATM successfully saves the Clients information and sends an e-mail confirmation to the Client. Basic Course of Action:
1. The ATM displays an option to register with ATM. 2. The Client selects the Register with ATM service. 3. The ATM displays an interface that allows entering the Clients

information (name, birth date, address, e-mail).


4. The Client enters the information specified above and saves it. 5. The ATM verifies the information provided and saves it.

6. The ATM sends an e-mail confirmation to the Client. Variations:


4.a.

The Client cancels the operation.

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

4.a.1. Use case resumes at step 1. 5.a. The entered e-mail is invalid.

5.a.1. The ATM displays an error message. 5.a.2. Use case resumes at step 3.
6.a.

The Clients age is less than 18.

6.a.1. The ATM displays an error message. 6.a.2. Use case resumes at step 3. 1.2.2. Authenticate Client

Identifier: ATM-UC02 Description: A Client authenticates with the ATM using his ATM Card and PIN. Pre-Condition: The Client has previously successfully registered with the ATM. The ATM is powered on and displays the authentication interface. Post-Condition: The ATM displays the banking services available for the Client. Basic Course of Action:
1. The Client enters the ATM Card number and PIN. 2. The ATM verifies the information entered.

3. The ATM displays an interface with the banking services available for the Client. Variations:
3.a.

The authentication information is invalid.

3.a.1. The ATM displays an error message. 3.a.2. Use case resumes at step 1. 1.2.3. View Account Balance

Identifier: ATM-UC03 Description: A Client views the balance of one of his accounts.

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The Client successfully views the balance of his account. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects the View Account Balance service.

3. The ATM displays the Clients accounts and prompts the Client to select an account. 4. The Client selects an account.
5. The ATM displays the account balance.

Variations: None. 1.2.4. View History of Transactions

Identifier: ATM-UC04 Description: A Client views the history of transactions performed on one of his accounts. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The Client successfully views the list of transactions performed on the selected account, in the selected date range. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects the View History of Transactions service.

3. The ATM displays the Clients accounts and prompts the Client to select an account. 4. The Client selects an account.
5. The ATM prompts the Client to select a date range for which the

transactions are to be shown.


6. The Client selects a date range.

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

7. The ATM displays the list of transactions performed on the selected

account, in the selected date range. Variations: None. 1.2.5. Print History of Transactions

Identifier: ATM-UC05 Description: A Client prints the history of transactions performed on one of his accounts. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The ATM successfully prints the list of transactions performed on the selected account, in the selected date range. Basic Course of Action: 1. The Client performs use case View History of Transactions.
2. The ATM displays the list of transactions and provides an option to

print the list. 3. The Client selects the option to print the list of transactions. 4. The ATM prints the list of transactions. Variations: None. 1.2.6. Modify Personal Information

Identifier: ATM-UC06 Description: A Client modifies his personal information (abstract use case). Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The Clients records are successfully updated with the new information and the ATM displays a confirmation message. Basic Course of Action:
1. The Client performs one of the following specific use cases: ATM-UC07,

ATM-UC08.

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Variations: None. 1.2.7. Modify Contact Information

Identifier: ATM-UC07 Description: A Client or an Administrator modifies the Clients contact information. Pre-Condition: The Client or Administrator has previously successfully authenticated with the ATM. Post-Condition: The Clients records are successfully updated with the new information and the ATM displays a confirmation message. Basic Course of Action: 1. The ATM displays the available services.
2. The Client/Administrator selects Modify Contact Information. 3. The ATM displays an interface that allows entering of the new e-

mail/address/phone.
4. The Client/Administrator enters the new information and saves it. 5. The ATM verifies that the information is valid, saves it and displays a

confirmation message. Variations:


4.a.

The Client/Administrator cancels the operation.

4.a.1. Use case resumes at step 1.


5.a.

The entered e-mail is invalid.

5.a.1. The ATM displays an error message. 5.a.2. Use case resumes at step 3. 1.2.8. Modify PIN

Identifier: ATM-UC08 Description: A Client modifies his PIN. Pre-Condition: The Client has previously successfully authenticated with the ATM.
8

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Post-Condition: The Clients records are successfully updated with the new PIN and the ATM displays a confirmation message. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects Modify PIN. 3. The ATM displays an interface that allows entering of the new PIN.

4. The Client enters the new PIN and saves it. 5. The ATM saves the PIN and displays a confirmation message. Variations:
4.a.

The Client cancels the operation.

4.a.1. Use case resumes at step 1. 1.2.9. Perform Transaction

Identifier: ATM-UC09 Description: A Client performs a specific transaction on one of his accounts. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The transaction is successfully recorded on the Clients Account. Basic Course of Action:
1. The client performs one specific transaction from the following

transactions: Withdraw Money (ATM-UC10), Deposit Money (ATMUC11), Transfer Money (ATM-UC12), Pay Bill (ATM-UC13). Variation: None. 1.2.10. Withdraw Money

Identifier: ATM-UC10 Description: A Client withdraws money from one of his accounts.

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The ATM dispenses the money to the Client and the accounts balance is reduced. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects Withdraw Money.

3. The ATM displays the Clients accounts and prompts the Client to select an account.
4. The Client selects an account. 5. The ATM prompts the Client to enter the amount. 6. The Client enters the amount. 7. The ATM verifies the entered amount and dispenses the money. 8. The Client takes the money. 9. The ATM records the transaction in the Clients account and updates

the accounts balance. Variations:


4.a.

The Client cancels the operation.

4.a.1. Use case resumes at step 1.


6.a.

The Client cancels the operation.

6.a.1. Use case resumes at step 1.


7.a.

The amount entered exceeds the accounts daily withdrawal limit or the amount is not a multiple of $20 or $50 or the withdrawal amount exceeds the accounts available balance. 7.a.1. The ATM displays an error message. 7.a.2. Use case resumes at step 6.

10

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

1.2.11.

Deposit Money

Identifier: ATM-UC11 Description: A client deposits cash and/or cheque into one of his accounts. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The money is deposited and the accounts balance is increase after 5 business days. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects Deposit Money.

3. The ATM displays the Clients accounts and prompts the Client to select an account.
4. The Client selects an account. 5. The ATM prompts the Client to enter the amount to be deposited. 6. The Client enters the amount. 7. The ATM prompts the Client to put the cash/cheques in an envelope

and insert the envelope in the ATM.


8. The Client inserts the envelope in the ATM.

9. The ATM records the transaction in the Clients account. Variations: None. 1.2.12. Transfer Money

Identifier: ATM-UC12 Description: A Client performs a transfer money transaction. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The money is transferred and the accounts balances are updated.

11

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Basic Course of Action: 1. The ATM displays the available services.


2. The Client selects Transfer Money. 3. The ATM prompts the Client to select the from account, to account

and the amount to be transferred.


4. The Client selects the two accounts and the amount.

5. The ATM verifies the entered amount and transfers the money. Variations:
4.a.

The Client cancels the operation.

4.a.1. Use case resumes at step 1.


5.a.

The amount exceeds the from accounts available balance.

5.a.1. The ATM displays an error message. 5.a.1. Use case resumes at step 3. 1.2.13. Pay Bill

Identifier: ATM-UC13 Description: A Client pays a bill from one of his accounts. Pre-Condition: The Client has previously successfully authenticated with the ATM. Post-Condition: The money is transferred to the bill payees account and the Clients accounts balance is reduced. Basic Course of Action: 1. The ATM displays the available services.
2. The Client selects the Pay Bill service.

3. The ATM displays the Clients accounts and prompts the Client to select an account.
4. The Client selects an account.

12

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

5. The ATM prompts the Client to enter the payee information and client

number.
6. The Client specifies the payee information and client number.

7. The ATM prompts the Client to enter the amount to be paid.


8. The Client specifies the amount of money. 9. The ATM verifies the amount and transfers the money into the bill

payees account. Variations:


4.a.

The Client cancels the operation.

4.a.1. Use case resumes at step 1.


6.a.

The Client cancels the operation.

6.a.1. Use case resumes at step 1.


9.a.

The amount entered exceeds the accounts daily withdrawal limit or the amount is not a multiple of $20 or $50 or the withdrawal amount exceeds the accounts available balance. 9.a.1. The ATM displays an error message. 9.a.2. Use case resumes at step 7.

1.2.14.

Approve Deposit Transaction

Identifier: ATM-UC14 Description: An administrator approves a deposit transaction performed by a Client. Pre-Condition: The Administrator has previously successfully authenticated with the ATM. The administrator has counted the money deposited. Post-Condition: The deposit transaction is approved and the accounts balance is increase after 5 business days. Basic Course of Action:
1. The Administrator views the list of deposit transactions.

13

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2. The Administrator verifies that the counted amount matches with the

amount entered in the transaction.


3. The Administrator selects the transaction and approves it. 4. The ATM updates the transaction and increases the accounts balance

after 5 business days. Variations: None. 1.2.15. Reject Deposit Transaction

Identifier: ATM-UC15 Description: An administrator rejects a deposit transaction done by the client. Pre-Condition: An administrator cant find the money mentioned by the client in the transaction, and/or wrong check information. Post-Condition: The ATM system sends a rejection notification to the client with the reason. Basic Course of Action:
1. The Administrator views the list of deposit transactions. 2. The

Administrator selects a transaction and verifies the client deposited money.

3. The Administrator recognizes an error in the deposit transaction. 4. The Administrator rejects the deposit transaction with reason.

Variations: None. 1.2.16. Authenticate Administrator

Identifier: ATM-UC16 Description: The Administrator gets authenticated by the ATM system in order to access the system and features already available to him/her. Pre-Conditions: None Post-Conditions: The access is granted by the ATM system and the features defined for the Administrator will be shown.

14

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Basic Course of Action:


1. The

Administrator enters his/her login information such as the username and password.

2. The access is granted by the system. Variations: None. 1.2.17. Approve Client

Identifier: ATM-UC17 Description: The Administrator approves the Client so that the Client can access the ATM system from that time on. Pre-Conditions: The Client has previously registered with the ATM. Also the Administrator has to be authenticated by the ATM system to access this feature. Post-Conditions: The Client can completely access the ATM system from that moment on. The Client will receive a notification indicating the approval through his/her email address. Basic Course of Action: 1. The ATM displays the available features.
2. The Administrator selects the Approve Client feature.

3. The ATM displays a list of new Clients which need to be reviewed.


4. The Administrator selects a Client and approves it.

5. The ATM updates the Clients information and sends a notification to the Client. Variations: None. 1.2.18. Reject Client

Identifier: ATM-UC18 Description: The Administrator rejects the Client so that the Client cannot access the ATM system at all.
15

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Pre-Conditions: The Client has previously registered with the ATM. Also the Administrator has to be authenticated by the ATM system to access this feature. Post-Conditions: The Client cannot access the ATM system under any circumstances. The Client will receive a notification indicating the rejection through his/her email address. Basic Course of Action: 1. The ATM displays the available features.
2. The Administrator selects the Reject Client feature.

3. The ATM displays a list of new Clients which need to be reviewed.


4. The Administrator selects a Client and rejects it. 5. The ATM updates the Clients information and sends a notification to

the Client. Variations: None. 1.2.19. Activate ATM Card

Identifier: ATM-UC19 Description: The Administrator activates the Client ATM card. Pre-Conditions: The Client has to be approved beforehand. Also the Administrator has to be authenticated by the ATM system to access this feature. Post-Conditions: The Client can use its ATM card to do whatever the system offers. The Client is notified about this action. Basic Course of Action: 1. The ATM displays the available features. 2. The Administrator selects an ATM Card either by entering the card number or by choosing the card from a list of ATM Cards.
3. The Administrator selects the Activate ATM Card feature. 4. The ATM activates the ATM Card.

16

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Variations: None. 1.2.20. Deactivate ATM Card

Identifier: ATM-UC20 Description: The Administrator deactivates the Client ATM card. Pre-Conditions: The Client has to be approved beforehand. Also the Administrator has to be authenticated by the ATM system to access this feature. Post-Conditions: The Client has no more access to its accounts anymore. The Client receives a notification indicating the reason. Basic Course of Action: 1. The ATM displays the available features.
2. The Administrator selects an ATM Card either by entering the card

number or by choosing the card from a list of ATM Cards.


3. The Administrator selects the Deactivate ATM Card feature. 4. The ATM deactivates the ATM Card.

Variations: None. 1.2.21. Activate Account

Identifier: ATM-UC21 Description: An Administrator activates a deactivated account. Pre-Condition: The Administrator has previously successfully authenticated with the ATM. Post-Condition: The account is successfully activated. Basic Course of Action: 1. The ATM displays the available features. 2. The Administrator selects an account either by entering the account number or by choosing the account from a list of accounts.
3. The Administrator selects the Activate Account feature. 4. The ATM activates the account. 17

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Variations: None 1.2.22. Deactivate Account

Identifier: ATM-UC22 Description: An Administrator deactivates an active account. Pre-Condition: The Administrator has previously successfully authenticated with the ATM. Post-Condition: The account is successfully deactivated. Basic Course of Action: 1. The ATM displays the available features. 2. The Administrator selects an account either by entering the account number or by choosing the account from a list of accounts.
3. The Administrator selects the Deactivate Account feature.

4. The ATM deactivates the account. Variations: None 1.2.23. Modify Account Information

Identifier: ATM-UC23 Description: An Administrator modifies an accounts information, such as daily withdrawal limit, maximum overdraft amount and interest rate. Pre-Condition: The Administrator has previously successfully authenticated with the ATM. Post-Condition: The modifications are successfully saved and the ATM displays a confirmation message. Basic Course of Action: 1. The ATM displays the available features. 2. The Administrator selects an account either by entering the account number or by choosing the account from a list of accounts.
3. The Administrator selects the Modify Account Information feature.

18

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

4. The

ATM displays an interface that allows entering the new information, such as daily withdrawal limit, overdraft amount and interest rate.

5. The Administrator enters the new information and saves it.

6. The ATM verifies the information entered.


7. The ATM saves the account information and displays a confirmation

message. Variations:
5.a.

The Administrator cancels the operation.

5.a.1. Use case resumes at step 1.


7.a.

The information entered is invalid (negative amount values, non numeric amounts, etc). 7.a.1. The ATM displays an error message.

7.a.1. Use case resumes at step 4.

19

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

1.3. Use case diagram

20

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.User Stories
2.1. Registration
2.1.1. Register with ATM

Identifier: ATM-US01 A person can registers with the ATM by providing his information, so that the person becomes a Client of the ATM.

Constraint: Name, birth date, address and e-mail are mandatory information.

This user story was created based on the projects requirement which states that a person must be able to register with the ATM to become a Client. 2.1.2. Approve Client

Identifier: ATM-US02 An Administrator can approve new clients so that they can access the ATM system from that time on.

Constraint: None

The approve client is a basic action for allowing clients to start their interactions with the ATM system. According to the team discussion, a person becomes an ATM client as soon as she/he puts a request in the system and subsequently an administrator approves the request.

21

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.1.3.

Reject Client

Identifier: ATM-US03 An Administrator can reject new clients so that they cannot access the ATM system at all.

Constraint: None

The reject client happens once the administrator does not approve the client request. There are some reasons for this action such as a request from a person under the eligible age. The user story has been elicited based on the use case model.

2.2. Authentication
2.2.1. Authenticate Client

Identifier: ATM-US04 A Client can authenticate by providing his username and password, so that he can access his accounts and perform banking transactions.

Constraint: A Client must provide correct username and password. After failing to provide correct information three times the Client will be automatically deactivated.

ATM will allow access only to authorized clients. This user story provides a way to identify the Client before allowing the Client to use any banking services.

22

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.2.2.

Authenticate Administrator

Identifier: ATM-US05 An Administrator can authenticate with the ATM system in order to access the system and features.

Constraint: The administrator can try three times to gain the access to the ATM system. If it is denied, under any circumstances, the administrator will be blocked.

The authenticate administrator is an essential feature for managing the ATM system services and clients which, for security reasons, is preliminary for an administrator to do other tasks.

2.3. Banking Services


2.3.1. View Account Balance

Identifier: ATM-US06 A Client can view the balance of one of his accounts.

Constraint: None

The user story was included because it provides a basic banking service which is used by different personas, such as Mary Retired and David John.

23

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.3.2.

View History of Transactions

Identifier: ATM-US07 A Client can view the history of transactions performed on one of his accounts.

Constraint: None

The user story was included because it provides a basic banking service which is used by different personas, such as David John. 2.3.3. Withdraw Money

Identifier: ATM-US08 A client can withdraw money from the ATM.

Constraint: The withdraw amount must be less than or equal to 500$ per day. The withdraw amount must be a multiple of $20 and/or $50. The withdraw amount must be less than or equal to the account balance.

The withdraw money is a basic banking service which, based on interview, is an important goal for the persona Yousef Malik.

24

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.3.4.

Deposit Money

Identifier: ATM-US09 A Client can deposit cash and/or cheques at the ATM.

Constraint: The money deposited will be placed on hold for verification for a period of 5 working days.

The deposit money is a basic banking service which, based on interview, is an important goal for the persona Yousef Malik. 2.3.5. Transfer Money

Identifier: ATM-US10 Statement: A Client can perform a transfer money transaction.

Constraint: The transfer amount must be less than or equal to the account balance.

The transfer money user story was included based on the needs of persona David John. 2.3.6. Pay Bills

Identifier: ATM-US11 A Client can pay bills on the ATM so that he doesnt have to stay in line at the bank counter.

Constraint:

25

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

The bill payment amount must be less than or equal to the account balance.

The bill payment is a basic banking service which, based on interview, is an important goal for the personas Yousef Malik and David John.

2.4. Administrative tasks


2.4.1. Activate Account

Identifier: ATM-US12 An Administrator can activate an account so that the Client can access the ATM services for that specific account.

Constraint: None

For security reasons, it is necessary that an Administrator has a way to activate/deactivate an account temporarily when client accounts might have been compromised. The account activation can happen once either the account has been deactivated by the administrator for some security reasons or it is the first time after client approval that the client want to do some ATM transaction. The user story has been elicited based on use case model.

26

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.4.2.

Deactivate Account

Identifier: ATM-US13 An Administrator can deactivate an account so that the client cannot access the ATM services for that specific account.

Constraint: None

For some security reasons or client requests, it is necessary that an Administrator has a way to deactivate an account either temporarily or permanently. The user story has been elicited based on use case model. 2.4.3. Activate ATM Card

Identifier: ATM-US14 An Administrator can activate a Clients ATM card.

Constraint: The activation can take place just one time. If it fails the person with that specific personal information in not permitted to request another time.

The activate ATM card is for ensuring the administrator that the person who has received the card is the right person. This user story has been elicited based on the use case model. 2.4.4. Deactivate ATM Card

Identifier: ATM-US15 An Administrator can deactivate a Clients ATM card.

27

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Constraint: The client request is necessary for firing this action up for the administrator.

The deactivate ATM card is for the time when the client lost it so he would ask for deactivation. It is based on the use case model. 2.4.5. Approve deposit transaction

Identifier: ATM-US16 An Administrator can approve deposit transactions done by the clients, so that only valid deposit transactions are posted to the account.

Constraint: None

Deposit transactions are prone to error (inexperienced users might make mistakes in the beginning) or fraud, so to ensure their accuracy they must be reviewed by an Administrator. 2.4.6. Reject deposit transaction

Identifier: ATM-US17 An administrator can reject deposit transactions done by the clients, so that only valid deposit transactions are posted to the account.

Constraint: None

Deposit transactions are prone to fraud or error (inexperienced users might make mistakes in the beginning), so to ensure their accuracy all deposits must be reviewed by an Administrator.

28

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.4.7.

Modify Account Information

Identifier: ATM-US18 An Administrator can modify an accounts information, such as daily withdrawal limit, maximum overdraft amount and interest rate.

Constraint: None

Based on the projects requirements, an administrator must be able to modify information such as the maximum amount of money that can be withdrawn per day from a single account or the amount of overdraft for an account.

2.5. Client Profile


2.5.1. Modify Contact Information

Identifier: ATM-US19 A Client or an Administrator can modify the Clients contact information so that this information is always up to date.

Constraint: None

For security reasons, the clients contact information must always be up to date.

29

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

2.5.2.

Modify PIN

Identifier: ATM-US20 A Client can modify his PIN so that his ATM Card is always secure.

Constraint: None

The ATM must be a secure system that should allow access only to authorized users. This user story provides a way for a Client to change its PIN in case he feels that his old PIN is compromised.

30

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

3.GLOSSARY
Account The Account represents a financial account with a banking institution, recording the financial transactions between the customer and the bank and the resulting financial position of the customer with the bank. (Ref: Wikipedia) Account Number A number used to identify a bank account. Actor An actor is a role played by an entity external to the system, as perceived from the systems point of view, when it uses the system. (Ref: lecture notes) Administrator The Administrator represents a person that performs administrative tasks on the ATM, including but not limited to: maintaining clients, accounts, ATM cards and monitoring transactions. ATM The ATM is a computerised telecommunications device which provides the clients of a financial institution with access to financial transactions in a public space without the need for a cashier, human clerk or bank teller. (Ref: Wikipedia) ATM Card The ATM Card represents a card issued by a financial institution and it can be used at an ATM to perform withdrawals, deposits, transactions and inquiries on other account information. ATM Card Number It is a primary account number found on the cards. It has a certain amount of internal structure and shares a common numbering scheme. The number is typically 16 digits in length. (Ref: Wikipedia) Bill Payment

31

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

The Bill Payment represents a type of transaction, allowing a bill payer to send money from his account to a bill payees account. Chequing Account The Chequing Account is a deposit account held at a bank, for the purpose of securely and quickly providing frequent access to funds on demand, through a variety of different channels. A customer can deposit or withdraw any amount of money any number of times from a chequing account, subject to availability of funds. (Ref: Wikipedia) Client The Client represents a person who has registered with the ATM and interacts with the ATM in order to perform banking related tasks, including but not limited to: withdraw cash, deposit cash or pay bills. Deposit The Deposit represents a type of Transaction which involves the physical addition of funds in the form of cash or cheques into an account. Deposit Item The Deposit Item represents an item, such as cash or cheque, which is part of a Deposit. Domain Model A domain model is a vocabulary, with respect to some goal, of a domain. (Ref: lecture notes) Expiry Date Expiry date is given on the ATM card which is the date after which the card account will not be authorized to accept any more charges. Money Transfer The Money Transfer represents a type of transaction that subtracts a specific amount of money from one account and then adds it to another one. Persona A persona is a fictional but realistic user of a software system. (Ref: lecture notes)

32

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

PIN A Personal Identification Number (PIN) is a personal numeric code which is linked with an ATM Card. Banks and credit card companies use PIN numbers to secure financial information. Savings Account The Savings Account is a type of account provided by a financial institution for the purpose of general savings. This account generally pays higher interest rates than a chequing account. Transaction The Transaction represents an agreement, communication, or movement carried out between separate entities or objects, often involving the exchange of items of value, such as information, goods, services, and money. (Ref: Wikipedia) Use Case A use case is a sequence of actions performed by a system, which yields an observable result of value to an actor of the system. (Ref: lecture notes) Use Case Model A use case model for a software system is the set of all actors and the set of all use cases and the relevant relationships among them. (Ref: lecture notes) User Model A user model is a model of a user from the perspective of the software system. (Ref: lecture notes) User Role A fictional character based on possible interactions with a software system. (Ref: lecture notes) User Story A user story is a high-level requirement (statement) that contains minimally sufficient information to produce a reasonable estimate of the effort to implement it. (Ref: lecture notes)

33

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

Withdrawal The Withdrawal represents a type of Transaction which involves the physical removal of funds in the form of cash from an account.

34

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

4.Team Member Contributions


To facilitate communication, the team created an email group, meetings scheduling and milestones http://groups.google.com/group/comp5441ATMproject. To be organized, the team also created a web project on http://code.google.com/p/comp-5541ATM/. This is used for documentation and project management. We also use it to organize tasks, maintain glossary and version control. During this phase of the project, we did three meetings, a brainstorming to understand the use case model, create the use case diagram, and format the final deliverable. We also did a peer review for all issues authored in the project, and we spent about 120 person-hours on this deliverable. The following is a list of contributions made by each of the team members for this deliverable. S Name 1 Abderahman Rashwan Contributions Contribute in Designing Use Case Diagram Create Use Case descriptions and user stories for: Perform Transaction, Withdraw Money, Deposit Money, Pay Bill, Transfer Money, Approve deposit transaction, Reject deposit transaction Review Use Case Descriptions and User Stories Project management Maintain final deliverable document Contribute in Designing Use Case Diagram Draw use case diagram Version 2 Create Use Case descriptions and User Stories for: View Account Balance, View History of Transactions, Print History of Transactions, Modify Personal Information, Modify Contact Information, Modify PIN Review Use Case Descriptions and User Stories Contribute in Designing Use Case Diagram Create Use Case descriptions and User Stories for: Authenticate Administrator, Approve Client, Reject Client, Activate

2 Cosmin Jimborean

3 Mahdi Biparva

35

COMP 5541 Tools and Techniques for Software Engineering ATM Project Deliverable II - Software Requirements

Team D

4 Rahul Madana

ATM Card, Deactivate ATM Card Review Use Case Descriptions and User Stories Contribute in Designing Use Case Diagram Draw use case diagram Version 1 Create Use Case descriptions and User Stories for: Register with ATM, Authenticate Client, Activate Client, Deactivate Client Review Use Case Descriptions and User Stories

36

You might also like