Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Prepare a design for a Java program that would solve a significant business problem. To limit the problem to a reasonable scope, assume the system

Prepare a design for a Java program that would solve a significant business problem. To limit the problem to a reasonable scope, assume the system will be used in a small business environment (less than 50 employees). I have provided simple business case examples but you are welcome to use a real-world business case as a basis for your evaluation.

Research and evaluate the essential requirements and usage of such a system, and create a design for a Java program that would solve the problem. Roughly three or four pages are common for this design document.

For full points, your solution must include all five of these sections. Please clearly identify the sections in your document:

Problem Description: Describe the salient features and main components of the business problem. Document the sources you used to obtain the problem examples or business case information.

Interpretation: Does the business problem make sense? Did you notice any unmentioned requirements that should be addressed by a solution? If you have experience relating to the business problem, can you identify anything that should be resolved differently than stated in the business case?

Classes: Detail the specific classes that would be required for the problem solution. Use the concepts from Chapter 8s first two sections to determine what classes are best suited to the problem as noted in Chapter 8, classes typically are related to specific nouns in the problem description. For example, our accounts receivable programs used in homeworks have a CustomerAccount class, which is an obvious noun relating to a customer account in accounts receivable.

Class Methods: For each of the classes from section (2), describe in detail (but do not implement) the methods that would be required in each class. Explain the purpose and the action for each method. Remember that methods are typically verbs or actions related to the problem and its solution. For example, our CustomerAccount class contains the methods purchase, payment, and getAccountBalance.

Summary: Explain why your classes and methods completely solve the business problem outlined in step 1, and discuss whether your assumptions and alternatives are suitable, appropriate and completely solve the problem.

Your assignment will be graded using the College of Businesss Critical Thinking Rubric involving these four aspects:

1. Problem Identification: Correctness of description of problem & completeness of context surrounding the problem

2. Information Collection and Interpretation: Completeness of relevant information & credibility of information

3. Solution Development: Information is correctly interpreted & analyzed, assumptions are stated, and alternative solutions are discussed

4. Recommendation: The recommendation, justification, and limitations are clearly discussed and summarized.

Here's the business case sample:

Hotel Management Hotel is a small hotel that needs to replace their paper property management record keeping system and track their occupancy rate. In the past, their paper-based system has proven unsatisfactory due to its failure to track reservations, and it has been difficult for staff to correctly monitor occupancy and prepare rooms for incoming customers. The hotel has four types of rooms: 20 double queen-bed rooms at $129.99/night, 20 single king-bed rooms at $139.99/night, and 10 kitchenette suite rooms at $159.99/night, and 2 luxury suite rooms at $199.99/night. Customers can reserve rooms for one or more nights stays. The system should be able to find whether a required type of room is available for all the required nights, and if so, reserve the room for the customer for the requested period of time. When a customer checks out of his/her room, the system must add any incidental charges (such as guest bar charges or pay-per-view video charges) and provide a bill showing the nights stayed, incidental charges, sales & lodging taxes, and the total cost. The system needs to provide a daily report showing the occupancy rate (percentage of number of rooms occupied), the amount earned for that day, and the rooms that need to be made ready for occupancy the next day.

Sample Design:

(Please note: This is intended to an example of the format that is useful for this document. The problem description, description of each class, and method descriptions are terse your paper should more fully describe each section.)

Problem Statement A small bank has been chartered and needs a system to maintain its list of around 100 customers and the customers bank accounts (each customer typically has a checking account and a savings account, but can have additional checking and/or savings accounts). Accounts can be checking (no interest is paid), or savings (interest is paid monthly). The banks tellers need to be able to access a customers list of accounts, and then do operations including deposit, withdraw, and check balances. The banks manager needs to be able to apply interest monthly to each savings account. The banks manager also needs to be able to get the total balance of the accounts, to find the customers whose accounts have the highest balances to be able to send the customer special offers to thank them for their business, and find accounts with balances under $100 to apply a monthly service charge.

Interpretation The banks business case apparently addresses only deposit accounts (checking and savings). Banks also make loans, and a full solution would address making loans and tracking loan payments. However, that would significantly expand the scope of the problem and is not addressed in this design.

Classes Likely classes needed to implement this solution: BankAccount - stuff about an account (more details required) BankAccounts maintain a collection (probably an ArrayList) of accounts Bank to contain information about all the accounts and customers Customer stuff about a customer (more details required) Customers maintain a collection (probably an ArrayLists) of customers BankTeller user interface for the bank tellers (access customers accounts, deposit and withdraw funds). BankManager user interface for the bank manager find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance. BankProgram main method allows a teller or manager to login and use the program InsufficientFundsException to report an attempt to withdraw too much money from an account

Class Methods:

BankAccount Deposit add funds Withdraw remove funds from the account, or throw an InsufficientFundsException if the account does not have enough money. getAccountNumber get the account number. getBalance get the accounts balance. getCustomer get the customer to which the account belongs. addInterest for savings account, apply the specified interest rate. applySeviceCharge for accounts with balance under $100, apply a service charge.

BankAccounts Find find an account by account number. ddAccount add an account to the collection. removeAccount remove an account from the collection. Bank findAccounts find the accounts for a customer. readAccounts read the account information from a file and store in the BankAccounts collection. readCustomers read the customer information from a file and store in the Customers collection. saveAccounts save the account information to a file. | saveCustomers save the customer information to a file.

Customer getName get the customers name. getAddress get the customers address. setName set the customers name. setAddress set the customers address.

Customers FindByCustomerNumber find a customer by number. FindByCustomerName find a customer by name. addCustomer add an account to the collection. removeCustomer remove an account from the collection.

BankTeller teller menu for the teller to access a customer and the customers accounts. Provides access to create a new customer, create a new account for a customer, deposit or withdraw funds for an account, and get the customers account balances.

BankManager manager menu for the manager to find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance

BankProgram main login the user and, depending on the users type, run the BankTellers teller method for teller users, or the BankManager manager method for manager users.

InsufficientFundException getMessage to get the description for the exception. printStackTrace to print where the exception occurred in the program.

Summary The Bank, Customer, Customers, BankAccount, and BankAccounts classes will provide the necessary functionality to operate the bank. The BankTeller and BankManager classes will provide the different functions needed for the two different types of users identified in the problem statement. The BankProgram class will provide a way to run the program and access the accounts depending on the type of user. This design does not keep a list of the transactions, though. That is something that would be necessary in an actual bank management program to enable auditing. Finally, as noted in the Interpretation section, a full bank management system would also manage loan accounts.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Databases And Information Systems 25th European Conference Adbis 2021 Tartu Estonia August 24 26 2021 Proceedings Lncs 12843

Authors: Ladjel Bellatreche ,Marlon Dumas ,Panagiotis Karras ,Raimundas Matulevicius

1st Edition

3030824713, 978-3030824716

More Books

Students also viewed these Databases questions

Question

2. Identify conflict triggers in yourself and others

Answered: 1 week ago