Fundamentals of Operating Systems and Java Programming
Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them:
c. Apply principles of abstraction and problem solving in an object-oriented programming language
d. Apply knowledge of programming constructs in developing computer programs
e. Create programs based on incremental development processes of designing, coding, testing and debugging.
Create a database of twenty books by using array which is entered by seller during run time, not to be predefined. These books should be purchased(buy) by user and enable following features like add to cart, item remove from cart, subtotal of cart and others as defined below.
Assignment Specification
Assignment description: Write a detailed algorithm and a Java program "TradeBot" to simulate online buying and selling of books. The following activities of the TradeBot are to be implemented:
I. To have a central TradeBot account for all financial transactions and display the balance of the TradeBot account when requested.
II. Procedures to be incorporated as part of purchase:
1. To create a database of books with title, author name, price and number of copies.
2. To display the available books with cost and number of copies for the customer.
3. To implement the following functionalities of a shopping cart:
a. Add an item to the cart
b. Remove an item from the cart
c. View the items in the cart before purchasing
d. Empty the cart
e. Exit the cart with or without purchasing
f. Calculate the amount(cost) for the books in the cart
g. Verify if the amount in the shoppers account is enough to buy the books in the cart
III. The following activities are to be incorporated as part of selling books by the TradeBot:
a. Registration of the sellers' details
b. Provision for getting the username and password interactively and storing them with an identification number (ID).
c. Authentication of the users when they log in
d. Add books to central database when a registered user sells the books and credit the amount to the seller's account
The program must perform the following:
- Open TradeBot account using a variable called "balance" (may use private and static type).
- Initially create a database of 20 books with title, author of the book, price and number of copies. (Hint: may use different arrays to store the details with book id as array index).
- Allow the shopper to view the available books with price and volumes, add and remove items to the shopping cart and accordingly update the number of copies in the database.
- Options for the shopper to exit from the program anytime.
- Running calculator that keeps adding the cost of the book as soon as it is added to the cart
- Caution the shopper if the cart cost is more than the shoppers balance in her/her account.
- Clear the cart once the payment is done or if the shopper exits/quits.
- Option to register a shopper to sell books for the first time.
- Interactively set the username and password of the registered user.
- Authenticate the shoppers whenever they login as sellers.
- Add and display books that were recently sold by a shopper with the total amount that would be debited from the TradeBot account.
- Display the TradeBot account balance upon request.
- Display the balance of the shopper before and after trading.