Design a simulated automated teller machine

The goal of this final project is to design a simulated automated teller machine (ATM) for a bank.

For this project, you can think that all the customers who are using the system will be associated with the bank (i.e. the ATM system will not recognize an ATM card which is not associated with this bank). As soon as customer open an account with this bank, they receive a valid ATM debit card. The machine will be able to read from magnetic stripe reader of the debit card, will have a customer console (keyboard and display) for interaction with the customer, a slot for depositing envelopes, a dispenser for cash (in multiples of $20), a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine.

Your deliverable for this project is to:

Highlight the major project features as part of BRD and go into the details of project scope in FSD
Justify of what software development method should be used to resolve the problem and why? Would you outsource any of the component and if so, which outsourcing model you will use.
What type of management organization you would prefer to have to successfully implement this project on-time and on-budget? How would you handle any scope increase? 
Detail design document using UML diagram (you can choose which models to choose)
Detail test cases for the project based on your design document
Conclusion (preferably an implantation/communication plan/other recommendations)