Did your algorithm perform the correct calculations

Assignment Help Programming Languages
Reference no: EM131324316

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.

Reference no: EM131324316

Questions Cloud

Design the interface classes drawable rotatable and sounds : Design the interface classes Drawable, Rotatable, Resizable and Sounds. Compare and contrast abstract classes and interfaces. In what situations would you use an abstract class? in what situations would you use an interface?
The firm accept if the payback period is three years : Which projects will the firm accept if the payback period is three years? Which projects will the firm accept if the discounted payback period is three years? (Show math) What is the IRR for each of the three projects? What is the MIRR for each of th..
About the holding period yield : The YTM on a bond is the interest rate you earn on your investment if interest rates don’t change. If you actually sell the bond before it matures, your realized return is known as the holding period yield (HPY).  Two years from now, the YTM on your ..
What companies are delivering cloud services : Defend your position or thinking! A good starting point for this discussion would be a clear definition of the 'cloud,' if one can be had. What companies are delivering cloud services, and what is it you can buy from them?
Did your algorithm perform the correct calculations : Did your algorithm perform the correct calculations? Where applicable, would a more efficient API or algorithm have been used to implement something in a better way?
How should jerome respond : Discuss in depth what Virginia Klotz wants to do (i.e. your thoughts on her view? how should Jerome respond? etc. etc. etc.) -
Describing the topic of the resurrection of jesus christ : Write one or two paragraphs describing the topic of the resurrection of Jesus Christ and why Christians celebrate easter. The topic may be anything related to the study of religion, including a ritual, holy day, myth, god/goddess, tradition or fig..
What is the current yield for messinger bonds : HateFinance, Inc. bonds have a 3% coupon rate with semiannual coupon payments and a $1,000 par value. The bonds have 11 years until maturity, and sell for $925. What is the current yield for Messinger's bonds?
Find the interest which will be refunded : Patricia took out a loan for an expensive sports car. The total interest for the 38 month loan was $23,672. Find the interest which will be refunded if she pays the loan in full with 6 payments remaining.

Reviews

Write a Review

Programming Languages Questions & Answers

  Xhtml page to display current date time in client-s computer

Create the XHTML page which will display current date time in client's computer. Use document.write method in immediate script.

  Creating a program that will generate a txt output file

Creating a program that uses a .txt file as input. Creating a program that will generate a .txt output file. You'll be given a text file, called mstu4031_input.txt. That file will contain a list of grades.

  Write program which computes amount of money earn

Write a program which computes amount of money person would earn over period of time if his or her salary is one penny the first day, two pennies the second day.

  Design electronic submission of assignments from students

This system must manage electronic submission of assignments from students to instructors. It must keep track of which students have submitted assignments and must allow instructors to manage the grading.

  Probability line is executed in nth iteration of for loop

What is the probability that line is executed during the nth iteration of the for loop? What is the exact expected number of executions of line?

  Write a standalone method named count_letters

Write a standalone method named count_letters that returns the number of occurrences of a specified letter lines in an input string

  Formulate a linear programming model for b and b

Formulate a linear programming model for B & B, that will help them estimate the number of meals they should prepare each night and solve this model by computer.

  Creating a program that writes to a data file

Creating a program that writes to a data file called Celtofarendfile.txt using the end of file structure. The program should create a conversion table of Celsius to Fahrenheit from 0 to 100 Celsius in increments of 5.

  Write program to enter age using exception handling

Prepare the program called EnterYourAge3.java which asks user to enter his or her age and uses exception handling to catch NumberFormatException in case user enters nonnumeric character.

  Design stored procedure to accept optional parameters

Design a stored procedure named spBalanceRange that accepts three optional parameters. Procedure returns a result set consisting of VendorName, InvoiceNumber and Balance for each invoice with a balance due

  Write a program that uses a random number generator

Write a program that uses a random number generator to generate a two digit positive integer

  Design the software architecture of a web auctioning site

Design the software architecture of a Web auctioning site and design a database for storing information about users, items, auctions and bids.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd