Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

Assignment

The fourth programming project involves writing a program to manage a student database. The interface to the program should be a GUI that looks similar to the following:

A combo box should allow the user to select one of the four database actions shown. The database should be implemented as a HashMap, with the ID field as the key and a student record consisting of a name and major as the value. The operation should be performed when the user clicks the Process Request button. If the user attempts to insert a key that is already in the database an error message should be displayed using a JOptionPane message dialog box. If the user attempts to delete, find or update a record that is not in the database, a message should also be displayed. After each successful operation is completed a JOptionPane window should be displayed confirming the success. In the case of a successful Find request, a window should pop up containing the student's ID, name, major and current GPA. When the user selects the Update request, the following JOptionPane windows should be displayed to gather information about a course that has just been completed:

This program must consist of two classes. The first class should define the GUI and handle the database interactions. It should be hand-coded and not generated by a GUI generator. The second class named Student, should define the student record. It must have instance variables for the student name, major and two variables that are used to compute the GPA. A variable that contains the total number of credits completed and a second variable that contains the total quality points, which are the numeric value of the grade received in a course times the number of credit hours. It should not contain the student ID. The class should have the following three methods:

A constructor that is used when new student records are created. It should accept the name and major as parameters and initialize the fields that are used to compute the GPA to zero.

The second method courseCompleted should accept the course grade and credit hours and update the variables used to compute the GPA. It will be called when an Update request is made.

The third method should override toString and return a labeled string containing the student name, major and GPA.

Be sure that all instance and class variables are declared as private. Also any exceptions thrown by nonnumeric inputs should be properly handled. Finally when a student has not yet completed any course, the GPA should be displayed as 4.0.

Please submit in a Zip file:

All Java source code.

Any input file(s) if any related to this project.

Specific Requirements

A. Design

DO NOT USE A GUI GENERATOR FOR THIS ASSIGNMENT (example: NetBeans)! 10 POINT DEDUCTION IN DESIGN IF THERE IS EVIDENCE THAT GUI GENERATOR IS USED. If an application for example was developed in NetBeans, there are tell-tale signs that the GUI Generator was used. Moreover, I compile all source code personally and this also gives me a clear indication that a GUI Generator was used based on compile errors, missing class names, etc.

Modularity: Does 1 file occupy 1 class ONLY?
Modularity: Do the classes contain distinct methods that have very specific functions?
Modularity: Where applicable, did you minimize variable and method re-declarations via inheritance?

Object-Oriented Design: Does each class have the appropriate access modifier defined (example: public, private, protected)?
Object-Oriented Design: Does each variable have one setter (modifier) method and one getter (accessor) method in the class?
Object-Oriented Design: Do all variables of the class have the appropriate access modifiers defined (example: public, private, protected)?
Object-Oriented Design: Do all methods of the class have the appropriate access modifiers defined (example: public, private, protected)?
Object-Oriented Design: When developing source code, did you minimize code writing via inheritance and polymorphism?

Efficient algorithms: Did your algorithm perform the correct calculations?
Efficient algorithms: Where applicable, would a more efficient API or algorithm have been used to implement something in a better way?
Efficient algorithms: Did the program use API or algorithm based on the current reading materials of the week?

B. Functionality

Program compiles successfully. Automatic 10 points if it did not. Moreover, use Java 1.7 or earlier. Java 1.8 is not supported in my work environment.

Program fulfills all functionality/All Requirements fulfilled. The fourth programming project involves writing a program to manage a student database. I am expecting 2 classes according to project requirements. The GUI should look like this:

Database specifics:

1. At minimum, use HashMap as your database construct. This means that you have to use Insert, Delete, Find, and Update operations within the limitations of HashMap class in order to perform database operations.

2. For Extra Effort, you can use any other Collection class provided it satisfies the Insert, Delete, Find, and Update operations succinctly.

3. For Extra Effort, if you feel you are ambitious enough, you can query against an MS Access database to mimic actual database operations. However, you must include the MS Access jar file in your CLASSPATH and you must use an actual MS Access database file to perform operations.

4. If the HashMap construct is too difficult in this short period of time, you are free to use a text file or an ArrayList to mimic database operations provided it satisfies the Insert, Delete, Find, and Update operations succinctly. However, I will deduct 5 points from the Design rubrics.

5. If you wish, save all database transactions in a text file at the close of the application. This will help you develop a very comprehensive Test Plan with verifiable Test Cases indicating that you satisfied the project requirements.

Specific points for this Project based on Project specifications (1 point each):

A combo box should allow the user to select one of the four database actions shown: Insert, Delete, Find, Update.

The database should be implemented as a HashMap, with the ID field as the key and a student record consisting of a name and major as the value.

The operation should be performed when the user clicks the Process Request button.

If the user attempts to insert a key that is already in the database an error message should be displayed using a JOptionPane message dialog box.

If the user attempts to delete, find or update a record that is not in the database, a message should also be displayed.

After each successful operation is completed a JOptionPane window should be displayed confirming the success.

In the case of a successful Find request, a window should pop up containing the student's ID, name, major and current GPA.

When the user selects the Update request, the following JOptionPane windows should be displayed to gather information about a course that has just been completed (see images below list).

Class 1: should define the GUI and handle the database interactions.

Class 2: named Student, should define the student record.

Class 2: It must have instance variables for the student name, major and two variables that are used to compute the GPA: A variable that contains the total number of credits completed and a second variable that contains the total quality points, which are the numeric value of the grade received in a course times the number of credit hours.

Class 2: It should not contain the student ID.

Class 2: contains a constructor that is used when new student records are created. It should accept the name and major as parameters and initialize the fields that are used to compute the GPA to zero.

Class2: contains a second method courseCompleted that should accept the course grade and credit hours and update the variables used to compute the GPA. It will be called when an Update request is made.

Class 2: contains a third method that should override toString and return a labeled string containing the student name, major and GPA.

All Classes where applicable: Be sure that all instance and class variables are declared asprivate.

All Classes where applicable: Also any exceptions thrown by nonnumeric inputs should be properly handled.

Where applicable: Finally when a student has not yet completed any course, the GPA should be displayed as 4.0.

Program Outputted Correct Results

User interface is displayed as expected.

All user interface components work according to specifications.

Extra Effort

Please demonstrate in your documentation with the heading EXTRA EFFORT indicating where you performed EXTRA EFFORT. EXTRA EFFORT must be a technology or algorithm outside the current study.

Examples of unsuitable or inappropriate EXTRA EFFORT activities:

I added an extra variable to the class
I added an additional line of source code.
I used a Java technology from a previous Chapter.

C. Test Plan

Because of the mimicking of database operations in this project, the Test Plan is vitally important. A Good sound Test Plan with 4 Test Cases containing succinct step-by-step instructions will guarantee that your application works they way it should be. If I can follow your step-by-step instructions clearly and see valid results according to the Test Cases.

Test Plan must be defined in a commented documentation section on top of the main Java source file. Because this is a user-interface application. You must demonstrate at least 4 Test Cases that satisfies the Functionality requirements of the Project. A good example of a viable Test Case is:

Test Case 1 - Verifying Deposit of Funds.

Click on Balance button.

Verify that JOptionPane window shows displaying the amounts for Checking Account and Savings Account are 0 and 0 dollars respectively.
Click on Savings radio button.

Type in "text" in Text Field.

Click on Deposit button

Verify that error message box display saying that text is not allowed. Verify that text field screen is cleared.

Type "10" in Text field.

Click on Deposit button

Observe that screen is cleared.

Click on Balance button.

Verify that JOptionPane window shows displaying the amounts for Checking Account and Savings Account are 0 and 10 dollars respectively.

Yes, I am expecting some discussion on the limitations of the Test Plan. 2 bullet points/individual ideas minimum.

No Test Plan means 0 points for entire Test Plan section.

D. Documentation

Documentation section should be defined in a commented documentation section on top of the main Java source file.

I am expecting a Lessons Learned section in the commented documentation section with at least 2 bullet points/individual ideas.

I am expecting a Possible Improvements section in the commented documentation section with at least 2 bullet points/individual ideas.

I am expecting an Approach section in the commented documentation section with at least 2 bullet points/individual ideas.

No Documentation means 0 points for entire Documentation section.

And please can you put unique touches so it doesnt look exactly the same from others you sell or have sold please.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M92078915
  • Price:- $40

Priced at Now at $40, Verified Solution

Have any Question?


Related Questions in Programming Language

Question 1 what is hadoop explaining hadoop 2 what is

Question: 1. What is Hadoop (Explaining Hadoop) ? 2. What is HDFS? 3. What is YARN (Yet Another Resource Negotiator)? The response must be typed, single spaced, must be in times new roman font (size 12) and must follow t ...

Structs and enumsoverviewin this task you will create a

Structs and Enums Overview In this task you will create a knight database to help Camelot keep track of all of their knights. Instructions Lets get started. 1. What the topic 5 videos, these will guide you through buildi ...

Extend the adworks applicationi add dialogs to allow the

Extend the AdWorks application I. Add Dialogs to allow the user to Add, Edit, Read and Delete a Customer and refresh the view accordingly. 1. The user should be able to select a specific customer from the DataGrid and cl ...

Overviewthis tasks provides you an opportunity to get

Overview This tasks provides you an opportunity to get feedback on your Learning Summary Report. The Learning Summary Report outlines how the work you have completed demonstrates that you have met all of the unit's learn ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Task arrays and structsoverviewin this task you will

Task: Arrays and Structs Overview In this task you will continue to work on the knight database to help Camelot keep track of all of their knights. We can now add a kingdom struct to help work with and manage all of the ...

Background informationthis assignment tests your

Background Information This assignment tests your understanding of and ability to apply the programming concepts we have covered throughout the unit. The concepts covered in the second half of the unit build upon the fun ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As