Develop advanced applications in Java using pre- built libraries.
- Subject Code :
COMP-20014-1
- University :
Middle East College Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
Oman
Assignment Tasks
In Oman, the Oman Water and Wastewater Services Company bills its clients at various rates per gallon depending on use (Gallons).The total consumption usage * 0.002 (rate per unit) is used to calculate customer bills for residential customers, while the total consumption usage * 0.0035 is used to calculate customer bills for commercial customers (rate per unit). Keep in mind that when a consumer consumes more units, the charge per unit increases.
The Oman Water and Wastewater Services Company has asked you to create an interactive system (Non- Graphical User Interface) to calculate the water bills of its consumers.
Allow the user to input the bill number, the kind of customer, and the total amount used (in gallons) on the client side. The client will then forward the type of customer and total consumption usage (in gallons). Assume that number 1 represents the residential customer, whereas number 2 represents the commercial customer.
The server will choose the tariff rate to use, calculate the bill, and then transmit the bill and the tariff rate used back to the client after receiving the kind of customer and the total consumption usage (in gallons) from the client.
The client must display the bill as soon as they are received, and the tariff rate applied.
Implement the Java program with the option of the server connecting to a database for answering user queries. The specification of your program should be as follow.
Task 1. Client-Side Program (25 marks)
Implement the client-side requirements (non-graphical user interface) and then provide code snippets for each function with clear explanations/comments of key statements used.
The client-side would enter the Bill Number, the Customer Type, and the consumption via keyboard. The client will then forward the Customer Type and consumption to the server. Include input field validation wherever possible.
- Create a thread using extending thread class or implementing a runnable interface and implement a run
- Request connection to the server
- Accept and forward the necessary data to the server
- Receive and display the results from theuser
- Close the connection after use
- Create a main class called custClient, define the main method, creation of client object, and start the
Task 2. Database (15 marks)
Create a database with a table with appropriate fields and properties per the scenario. Include records for at least 10 employees with attributes such as Bill Number, Customer Type, and Tariff Rate. Provide screenshot(s) of the process of creating the database including the database server role together with explanations of the steps taken to complete the task.
Task 3. Server-side program (35 marks)
Implement the server-side requirements and then provide code snippets for each function with clear explanations/comments of key statements used.
- Create a thread using extending thread class or implementing a runnable interface and implement a runserver
- After receiving the Customer Type and consumption from the client side, the server should make a connection to thedatabase
- Search the database using the Customer Type and retrieve the appropriate tariff rate
- Use the retrieved tariff rate to calculate the bill
- Return to the client the bill, and the tariff rate
- Close the connection with the database when done.
- Create a main class called custServer, define the main method, creation of client object, and start the
Task 4. Utility Class (15 marks)
Using the same scenario develop a Menu driven program using LinkedHashSet (Utility Class) class to perform the different operations as described below.
Create an object of LinkedHashSet class with explanations of the method/keywords used
- Create a method that will allow inserting an element to LinkedHashSet Class with explanations of the method/keywords used
- Create a method that will allow deleting specific elements in LinkedHashSet Class with explanations of the method/keywords used
- Create a method that will allow the search of any record stored in the LinkedHashSet Class with explanations of the method/keywords used
Task 5. MOOC reflection
Provide a detailed reflection on the following MOOC course given in the link below. Your reflection should address the area of Performing Basic JDBC Operations. Your write-up should have an introduction to introduce the topic, an elaboration of the use of that concept within a console application, and concluding with your own learning experience of that course. [Maximum words: 300 words] (Attach the progress report as an appendix for evidence). (10 marks)
https://www.udemy.com/course/how-to-connect-java-jdbc-to-mysql/