Object Oriented Design 3

Object Oriented Design 3Welcome to my 3rd tutorial on Object Oriented Design. In this part of the tutorial, I’ll cover Iterative Development, The Unified Process and Usage Cases.

Unlike the waterfall process for object design, with the iterative process programming starts before all of the requirements are expected. The Unified Process is a popular IDP which focuses on high risk / value parts first before creating full requirements for the program.

A large Usage Case follows the video to help you.

If you like videos like this, it helps to tell Google with a click

If you know anyone interested in programming, feel free to share

Object Oriented Design Use Case

Use Case: Provide ATM user with money from checking account

Scope: ATM Software Application

Level: User Goal

Primary Actor: Bank Customer

Stakeholders and Interests

1. Bank Customer: 
	a. Access to all the funds in both their savings and checking
	b. Deposit checks 
	c. Check their balance while making sure their money is safe
	d. Receive a receipt
	
2. ATM: 
	a. Provide funds available to customers
	b. Automatically update fund changes immediately
	c. Protect the bank and customers from false cards and PINs
	d. Monitor ATM activity via photos
	e. Verify all checks deposited
	f. Stay updated with home system in regards to changes in balances
	g. Provide a receipt after each transaction
	h. Shut down ATM if it no longer has enough funds on hand
	i. Report any oddities that may cause the home computer to shut it down
		i. Out of paper, dead key, cracked screen
		
3. Bank Home Office Computer:
	a. Provide accurate account funds information
	b. Update immediately when a transaction occurs system wide
	c. Decide to destroy card based on possible fraud
	d. Save photos taken
	e. Save a backup of all photos of checks
	f. Decide if machine should be shutdown and do so
	g. Decide if a technician needs to be sent to repair ATM
	h. Verify funds available in other banks if the user doesn't have an
		account with this bank ATM
		
4. Fraud Department:
	a. If sent card information they will verify if a card is stolen
	
 Preconditions
 	a. A valid card is entered
 	b. A valid PIN is entered that matches with the card
 	
 Postconditions
 	a. Customer is happy with the transaction
 	b. The transaction is disseminated to all bank systems
 	c. A photo of the customer is taken
 	d. Receipt is generated
 	e. Card is provided back to the customer
 	
 Main Success Scenario
 
1. The ATM displays a message on screen identifying itself to customers
2. The customer inserts their card
3. The ATM verifies the legitimacy of the card
4. The Home Banking Office verifies the legitimacy of the card
5. The ATM takes a photo of the customer
5. The ATM requests that the customer enter their PIN
6. The ATM verifies the legitimacy of the PIN
7. The ATM asks the customer whether they want to remove funds or 
	make a deposit
8. If the customer requests to remove funds the ATM asks if funds 
	should be removed from checking or savings
9. Customer decides which account to remove funds from
10. The ATM asks the customer how much money to remove from the checking account
11. The customer enters the amount to remove
12. The ATM contacts the home office to verify if funds are available
13. The Home Office locks down the account from other transactions
14. The ATM informs the customer that a transaction is being processed
16. The ATM provides the specified funds to the user
17. The ATM asks the customer if they would like another transaction
18. The ATM repeats steps 8 thru 17 until the customer is finished
19. The Home Office is informed of the transaction
20. The customer receives a receipt
21. The customer receives their card
22. The ATM displays its welcome message for the next customer
 
 

Extensions

*a. At any time if the ATM runs out of funds
	1. Display a closed message 
	2. Shut down the machine
	3. Send a message that a technician needs to fill the ATM with funds
	
*b. At any time if the ATM runs out of receipt paper
 	1. Display a closed message 
	2. Shut down the machine
	3. Send a message that a technician needs to fill the ATM with receipt paper
	
*c. At any time if the machine is damaged
 	1. Display a closed message 
	2. Shut down the machine
	3. Send a message that a technician needs to fix the machine
 
3a. The card is from another bank
	1. Connect to the other bank to verify funds
		a. The other bank isn't reachable
			1. Inform the customer that a transaction can't be made
			2. Provide the customer with their card
			3. End the transaction
		b. The other bank is reachable
			1. If the customer must pay a fee inform them of that
				i. Receive verification that the customer understands any fees
					1. Add the fee as part of the transaction if customer allows
					2. If customer declines record that and provide the customer
						with their card and a receipt
						
3b. The card is not valid for this ATM or any other partner banks
	1. Contact fraud department to see if the card is stolen
		a. If the card is stolen
			1. Confiscate the card
			2. Take photo of the person using the ATM
			3. Contact local law enforcement 
		b. If the card doesn't come up as stolen
			1. Inform the customer that a transaction can't be completed
			2. Provide the customer with their card
			3. Update the home office computer with the failed transaction
			4. Provide a receipt to the customer
			
6a. The PIN is different from the PIN on file at the bank the card matched for
	1. Ask the customer to re-enter their PIN (Repeat 3 Times)
	2. Contact the fraud department to check if the card is stolen
		a. If card is stolen
			1. Confiscate the card
			2. Take photo of the person using the ATM
			3. Contact local law enforcement
		b. If the card isn't stolen
			1. Inform the customer that a transaction can't be completed
			2. Provide the customer with their card
			3. Update the home office computer with the failed transaction
			4. Provide a receipt to the customer
	
12a. If the funds aren't available, ask customer if they want funds from other account
	1. If they say yes, ask what account to check
	2. If funds aren't available repeat 12a
	3. If funds are available
		a. Inform ATM to process the transaction
		b. Mark the transaction in the home bank office
	
Special Requirements
 
1. The text must be readable by color blind people
2. The text must be readable by people who speak other languages
3. The text must be readable from 3 feet away from the screen
4. The keypad buttons must include braille


Data Variations List

1. All data uses 256-bit AES Encryption


Frequency Occurrence

Could be constantly


Miscellaneous

1. Is there anything we can do to improve user experience for the blind?
2. Can polarized screens help improve security?

16 Responses to “Object Oriented Design 3”

  1. Raj says:

    This is a very good video on Inception phase.

  2. Hadi says:

    Dear Derek, many thanks again for your useful videos. appreciate you if you introduce some more documents and books related to each video or tutorial.

  3. Claudio says:

    Hey, these are great tutorials OOD. You’re clear and it’s great for learning. Thanks for your work ! Thanks ..

  4. Niki says:

    Thanks a lot Derek. It’s very clear

  5. Viet Tran says:

    Hello Derek, please ignore my message question that I posted recently. I think I understand it now. Thanks so much for your videos.

  6. Aleksandar says:

    Hello Derek, first of all thank you for your videos 🙂
    Could you advise me on some literature about the Unified process, I would like to learn about all phases in depth and how to implement them.

    • Derek Banas says:

      You’re very welcome 🙂 Both of these are excellent books in my opinion

      Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
      The Rational Unified Process Made Easy

      i hope they help

  7. muhammed says:

    thank you man very nice explantion ^_^

  8. Muhammad Shahid says:

    Hi Derek, I recently came to know about these videos. I am working as a BA and have found them to be very helpful to me. Thanks a lot and all the best regards.

Leave a Reply

Your email address will not be published.

Google+