CSC 1600: Operating System Concepts

Fall 2001

Programming Assignment: Account Management

Due: 10/8/2001

Project Overview:

The project is to mimic transactions between two accounts. The goals of the overall assignment are:
  • Help you learn Java as a Object Oriented programming language,
  • Help you learn how to spawn processes from a Java Virtual Machine (JVM), and
  • Help you understand how to create and use threads in Java.
 
In the course of this assignment, you will need to understand the mechanisms for process handling between Java and the underlying OS, thread management within Java.
 
I strongly recommend that you think carefully and make sure you have all the classes and their relationships properly designed before attempting to write any code.
 

Project Part A: Simple transactions between accounts

 
In the first part of the project, you will define classes to implement the basic functionality of monetary accounts: management of account balance.
 
When the process starts, it will create a user object and two account objects with the initial balance of $1000.00 each. Then the user object will make transactions between the two accounts, i.e. make a deduction from one account and add the same amount to the other one. The dollar amount of the transaction has to be random, and cannot exceed the balance of the account being deducted from. After each transaction, the amount of money transferred, the balance of the each account, and the sum of money left in both accounts shall be displayed. A minimum of 20 transactions must be made before the process terminates.
 
As part of the requirement, you must follow the object oriented programming principle, namely, you will have to create classes for the user and account objects, with each class providing proper properties and services of its own.
 
THINK FIRST BEFORE YOU PUT ANYTHING ON PAPER.