SlideShare a Scribd company logo
1 of 7
Project 4 1. Specification This programming
FOR MORE CLASSES VISIT
tutorialoutletdotcom
Project 4
1. Specification
This programming project involves writing a program to manage a
student database. The interface to the program
should be a Swing based 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 as the value. The selected 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 in a
JOptionPane. 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. As a result, the Student record in
the database will be updated accordingly. User input values should be
checked and a warning message should be
displayed in a JOptionPane for inappropriate values (such as empty
textfields for Id, name or major). When the main application window is
closed, the student records from the database will be written into the text
file outData.txt, each student data (including his/her GPA) on a separate
line. The last line of the file will contain
the total number of student records in the database and their average
GPA value.
The program should consist of two classes.
1. The first class P4GUI should define the GUI and handle the database
interactions. It should be hand-coded and
not generated by a GUI generator. 1 2. The second class named Student,
should define the student record. The class defines the instance variables
id,
name, major, totalCredits (as total number of credits completed) and
totalQP (as total quality points). The quality
points for a course is calculated as the numeric value of the grade
received in the course (A = 4; B = 3; C = 2; D = 1;
F = 0) times the number of credit hours for that course. The values of
totalCredits and totalQP will be used to
calculate the GPA by dividing totalQP by totalCredits. The class Student
should have the following three methods:
a. A constructor with arguments that is used when new student records
are created It takes Id, name and
major as parameters and will initialize totalCredits and totalQP to zero;
b. A method courseCompleted that should accept the course grade and
credit numbers and will update
the variables used to compute the GPA. It will be called when an Update
request is made.
c. A method overriding toString that returns a labeled string containing
the student id, name, major and
GPA.
Finally, when a student has not yet completed any course, the GPA
should be displayed as 4.0.
Your program should compile without errors.
The Google recommended Java style guide
(https://google.github.io/styleguide/javaguide.html) should be used to
format and document your code. Specifically, the following style guide
attributes should be addressed: Header comments include filename,
author, date and brief purpose of the program. In-line comments used to
describe major functionality of the code. Meaningful variable names and
prompts applied. Class names are written in UpperCamelCase. Variable
names are written in lowerCamelCase. Constant names are in written in
All Capitals. Braces use K&R style. In addition the following
design constraints should be followed: Declare all instance variables
private
Avoid the duplication of code Test cases should be supplied in the form
of a table with columns indicating what aspect is tested, the input
values, expected output, actual output and if the test case passed or
failed. This table should contain 5 columns
with appropriate labels and a row for each test case. Note that the actual
output should be the actual results you
receive when running your program and applying the input for the test
record. Be sure to select enough different
kinds of employees and situations to completely test the program.
2. Submission Requirements
Submit the following to the Project 2 assignment area no later than the
due date listed in your LEO classroom.
1. The source files P4GUI.java and Student.java and the program
generated output file outData.txt. The source
code should use Java code conventions and appropriate code layout
(white space management and indents) and
comments. All submitted files may be included in a .zip file.
2. The solution description document P4SolutionDescription (.pdf or
.doc / .docx) containing the following: 2 (1) Assumptions, main design
decisions, error handling;
(2) Test cases table
(3) Screen captures showing successful program compilation and test
cases execution. Each screen capture should
be properly labeled, clearly indicated what the screen capture represents.
(4) Lessons learned from the project;
3. Grading Rubric
The following grading rubric will be used to determine your grade:
Attribute
P4GUI class Meets
35 points Does not meet
0 points a) Defines the GUI. a) Does not defines the GUI. b) Provides a
combo box to allow the
user to select one of the four database
actions including insert, update, delete
and find. b) Does not provide a combo box to allow
the user to select one of the four database
actions including insert, update, delete
and find. c) The database is implemented as a
HashMap, with the ID field as the key
and a student record as the value. c) The database is not implemented as
a
HashMap, with the ID field as the key and
a student record as the value. d) The operation is performed when
the user clicks the Process Request
button. d) The operation is not performed when
the user clicks the Process Request
button. e) User input values are checked and
warning message is displayed for
inappropriate values entered in the Id,
name or major textfields. e) User input values are not checked and
warning message is not displayed for
inappropriate values entered in the Id,
name or major textfields. f) If the user attempts to insert a key
that is already in the database an error
message is displayed using a
JOptionPane message dialog box. f) If the user attempts to insert a key
that
is already in the database an error
message is not displayed using a
JOptionPane message dialog box. g) If the user attempts to delete, find
or g) If the user attempts to delete, find or
update a record that is not in the
update a record that is not in the
database, a message is displayed.
database, a message is not displayed.
h) After each successful operation is
completed a JOptionPane is displayed
confirming the success. h) After each successful operation is
completed a JOptionPane is not displayed
confirming the success. i) In the case of a successful Find
request, a window pops-up containing
the student's ID, name, major and
current GPA. i) In the case of a successful Find request,
a window does not pop-up containing the
student's ID, name, major and current
GPA. 3 Student Class j) When the user selects the Update
request, a JOptionPane is displayed to
gather information about a course that
has just been completed including the
grade and number of credits. j) When the user selects the Update
request, a JOptionPane is not be displayed
to gather information about a course that
has just been completed including the
grade and number of credits. k) When the window is closed, the
student records from the database are
written in a file, each student data
(including their GPA) on a separate line. k) When the window is closed,
the student
records from the database are not written
in a file, each student data (including their
GPA) on a separate line. l) The last line of the file contain the
total number of student records in the
database and their average GPA value.
40 points l) The last line of the file does not contain
the total number of student records in the
database and their average GPA value
0 points a) Defines the student record. a) Does not define the student
record. b) Contains instance variables for the
student id, name, major and two
variables that are used to compute the
GPA. b) Does not contains instance variables for
the student id, name, major and two
variables that are used to compute the
GPA. c) Contains a variable representing the
total number of credits completed
************************************************
record. b) Contains instance variables for the
student id, name, major and two
variables that are used to compute the
GPA. b) Does not contains instance variables for
the student id, name, major and two
variables that are used to compute the
GPA. c) Contains a variable representing the
total number of credits completed
************************************************

More Related Content

What's hot

C++ beginner's guide ch08
C++ beginner's guide ch08C++ beginner's guide ch08
C++ beginner's guide ch08Jotham Gadot
 
Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++ijseajournal
 
Parcc public blueprints narrated math 04262013
Parcc public blueprints narrated math 04262013Parcc public blueprints narrated math 04262013
Parcc public blueprints narrated math 04262013Achieve, Inc.
 
Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6comp274
 
Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6helpido9
 
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT IAEME Publication
 
Exam viewtestmanageruserguide
Exam viewtestmanageruserguideExam viewtestmanageruserguide
Exam viewtestmanageruserguideWilliam McIntosh
 

What's hot (8)

C++ beginner's guide ch08
C++ beginner's guide ch08C++ beginner's guide ch08
C++ beginner's guide ch08
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++
 
Parcc public blueprints narrated math 04262013
Parcc public blueprints narrated math 04262013Parcc public blueprints narrated math 04262013
Parcc public blueprints narrated math 04262013
 
Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6
 
Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6
 
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT
GENERIC CODE CLONING METHOD FOR DETECTION OF CLONE CODE IN SOFTWARE DEVELOPMENT
 
Exam viewtestmanageruserguide
Exam viewtestmanageruserguideExam viewtestmanageruserguide
Exam viewtestmanageruserguide
 

Similar to Manage Student Database GUI

Cis 406 Technology levels--snaptutorial.com
Cis 406 Technology levels--snaptutorial.comCis 406 Technology levels--snaptutorial.com
Cis 406 Technology levels--snaptutorial.comsholingarjosh58
 
Cis 406 Success Begins / snaptutorial.com
Cis 406 Success Begins / snaptutorial.comCis 406 Success Begins / snaptutorial.com
Cis 406 Success Begins / snaptutorial.comRobinson071
 
CIS 406 Imagine Your Future/newtonhelp.com   
CIS 406 Imagine Your Future/newtonhelp.com   CIS 406 Imagine Your Future/newtonhelp.com   
CIS 406 Imagine Your Future/newtonhelp.com   bellflower47
 
CIS 406 Focus Dreams/newtonhelp.com
CIS 406 Focus Dreams/newtonhelp.comCIS 406 Focus Dreams/newtonhelp.com
CIS 406 Focus Dreams/newtonhelp.combellflower87
 
PRG 421 Entire Course
PRG 421 Entire CoursePRG 421 Entire Course
PRG 421 Entire CourseDR Dean Jame
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newdixonbakerr
 
Prg 421 entire course
Prg 421 entire coursePrg 421 entire course
Prg 421 entire coursePRG421
 
Prg 421 entire course
Prg 421 entire coursePrg 421 entire course
Prg 421 entire courseACC421
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newlroselyn
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newuopassignment
 
Cmps 260, fall 2021 programming assignment #3 (125 points)
Cmps 260, fall 2021 programming assignment #3 (125 points)Cmps 260, fall 2021 programming assignment #3 (125 points)
Cmps 260, fall 2021 programming assignment #3 (125 points)mehek4
 
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docxCase Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docxwendolynhalbert
 
1 Project 2 Introduction - the SeaPort Project seri.docx
1  Project 2 Introduction - the SeaPort Project seri.docx1  Project 2 Introduction - the SeaPort Project seri.docx
1 Project 2 Introduction - the SeaPort Project seri.docxhoney725342
 
Cis 247 all i labs
Cis 247 all i labsCis 247 all i labs
Cis 247 all i labsccis224477
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newuopassignment
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newlroselyn
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newshyaminfo16
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newdixonbakerr
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newshyaminfo40
 

Similar to Manage Student Database GUI (20)

Cis 406 Technology levels--snaptutorial.com
Cis 406 Technology levels--snaptutorial.comCis 406 Technology levels--snaptutorial.com
Cis 406 Technology levels--snaptutorial.com
 
Cis 406 Success Begins / snaptutorial.com
Cis 406 Success Begins / snaptutorial.comCis 406 Success Begins / snaptutorial.com
Cis 406 Success Begins / snaptutorial.com
 
CIS 406 Imagine Your Future/newtonhelp.com   
CIS 406 Imagine Your Future/newtonhelp.com   CIS 406 Imagine Your Future/newtonhelp.com   
CIS 406 Imagine Your Future/newtonhelp.com   
 
CIS 406 Focus Dreams/newtonhelp.com
CIS 406 Focus Dreams/newtonhelp.comCIS 406 Focus Dreams/newtonhelp.com
CIS 406 Focus Dreams/newtonhelp.com
 
PRG 421 Entire Course
PRG 421 Entire CoursePRG 421 Entire Course
PRG 421 Entire Course
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio new
 
Prg 421 entire course
Prg 421 entire coursePrg 421 entire course
Prg 421 entire course
 
Prg 421 entire course
Prg 421 entire coursePrg 421 entire course
Prg 421 entire course
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio new
 
Strayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio newStrayer cis 406 week 6 assignment 1 financial portfolio new
Strayer cis 406 week 6 assignment 1 financial portfolio new
 
Cmps 260, fall 2021 programming assignment #3 (125 points)
Cmps 260, fall 2021 programming assignment #3 (125 points)Cmps 260, fall 2021 programming assignment #3 (125 points)
Cmps 260, fall 2021 programming assignment #3 (125 points)
 
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docxCase Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
Case Study Analysis 2The Cholesterol.xls records cholesterol lev.docx
 
Analysis
AnalysisAnalysis
Analysis
 
1 Project 2 Introduction - the SeaPort Project seri.docx
1  Project 2 Introduction - the SeaPort Project seri.docx1  Project 2 Introduction - the SeaPort Project seri.docx
1 Project 2 Introduction - the SeaPort Project seri.docx
 
Cis 247 all i labs
Cis 247 all i labsCis 247 all i labs
Cis 247 all i labs
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 

Recently uploaded

Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 

Recently uploaded (20)

Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 

Manage Student Database GUI

  • 1. Project 4 1. Specification This programming FOR MORE CLASSES VISIT tutorialoutletdotcom Project 4 1. Specification This programming project involves writing a program to manage a student database. The interface to the program should be a Swing based 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 as the value. The selected 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 in a JOptionPane. 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. As a result, the Student record in the database will be updated accordingly. User input values should be checked and a warning message should be displayed in a JOptionPane for inappropriate values (such as empty textfields for Id, name or major). When the main application window is
  • 2. closed, the student records from the database will be written into the text file outData.txt, each student data (including his/her GPA) on a separate line. The last line of the file will contain the total number of student records in the database and their average GPA value. The program should consist of two classes. 1. The first class P4GUI should define the GUI and handle the database interactions. It should be hand-coded and not generated by a GUI generator. 1 2. The second class named Student, should define the student record. The class defines the instance variables id, name, major, totalCredits (as total number of credits completed) and totalQP (as total quality points). The quality points for a course is calculated as the numeric value of the grade received in the course (A = 4; B = 3; C = 2; D = 1; F = 0) times the number of credit hours for that course. The values of totalCredits and totalQP will be used to calculate the GPA by dividing totalQP by totalCredits. The class Student should have the following three methods: a. A constructor with arguments that is used when new student records are created It takes Id, name and major as parameters and will initialize totalCredits and totalQP to zero; b. A method courseCompleted that should accept the course grade and credit numbers and will update the variables used to compute the GPA. It will be called when an Update request is made. c. A method overriding toString that returns a labeled string containing the student id, name, major and GPA. Finally, when a student has not yet completed any course, the GPA should be displayed as 4.0. Your program should compile without errors. The Google recommended Java style guide (https://google.github.io/styleguide/javaguide.html) should be used to format and document your code. Specifically, the following style guide
  • 3. attributes should be addressed: Header comments include filename, author, date and brief purpose of the program. In-line comments used to describe major functionality of the code. Meaningful variable names and prompts applied. Class names are written in UpperCamelCase. Variable names are written in lowerCamelCase. Constant names are in written in All Capitals. Braces use K&R style. In addition the following design constraints should be followed: Declare all instance variables private Avoid the duplication of code Test cases should be supplied in the form of a table with columns indicating what aspect is tested, the input values, expected output, actual output and if the test case passed or failed. This table should contain 5 columns with appropriate labels and a row for each test case. Note that the actual output should be the actual results you receive when running your program and applying the input for the test record. Be sure to select enough different kinds of employees and situations to completely test the program. 2. Submission Requirements Submit the following to the Project 2 assignment area no later than the due date listed in your LEO classroom. 1. The source files P4GUI.java and Student.java and the program generated output file outData.txt. The source code should use Java code conventions and appropriate code layout (white space management and indents) and comments. All submitted files may be included in a .zip file. 2. The solution description document P4SolutionDescription (.pdf or .doc / .docx) containing the following: 2 (1) Assumptions, main design decisions, error handling; (2) Test cases table (3) Screen captures showing successful program compilation and test cases execution. Each screen capture should be properly labeled, clearly indicated what the screen capture represents. (4) Lessons learned from the project; 3. Grading Rubric The following grading rubric will be used to determine your grade:
  • 4. Attribute P4GUI class Meets 35 points Does not meet 0 points a) Defines the GUI. a) Does not defines the GUI. b) Provides a combo box to allow the user to select one of the four database actions including insert, update, delete and find. b) Does not provide a combo box to allow the user to select one of the four database actions including insert, update, delete and find. c) The database is implemented as a HashMap, with the ID field as the key and a student record as the value. c) The database is not implemented as a HashMap, with the ID field as the key and a student record as the value. d) The operation is performed when the user clicks the Process Request button. d) The operation is not performed when the user clicks the Process Request button. e) User input values are checked and warning message is displayed for inappropriate values entered in the Id, name or major textfields. e) User input values are not checked and warning message is not displayed for inappropriate values entered in the Id, name or major textfields. f) If the user attempts to insert a key that is already in the database an error message is displayed using a JOptionPane message dialog box. f) If the user attempts to insert a key that is already in the database an error message is not displayed using a JOptionPane message dialog box. g) If the user attempts to delete, find or g) If the user attempts to delete, find or update a record that is not in the
  • 5. update a record that is not in the database, a message is displayed. database, a message is not displayed. h) After each successful operation is completed a JOptionPane is displayed confirming the success. h) After each successful operation is completed a JOptionPane is not displayed confirming the success. i) In the case of a successful Find request, a window pops-up containing the student's ID, name, major and current GPA. i) In the case of a successful Find request, a window does not pop-up containing the student's ID, name, major and current GPA. 3 Student Class j) When the user selects the Update request, a JOptionPane is displayed to gather information about a course that has just been completed including the grade and number of credits. j) When the user selects the Update request, a JOptionPane is not be displayed to gather information about a course that has just been completed including the grade and number of credits. k) When the window is closed, the student records from the database are written in a file, each student data (including their GPA) on a separate line. k) When the window is closed, the student records from the database are not written in a file, each student data (including their GPA) on a separate line. l) The last line of the file contain the total number of student records in the database and their average GPA value. 40 points l) The last line of the file does not contain the total number of student records in the database and their average GPA value 0 points a) Defines the student record. a) Does not define the student
  • 6. record. b) Contains instance variables for the student id, name, major and two variables that are used to compute the GPA. b) Does not contains instance variables for the student id, name, major and two variables that are used to compute the GPA. c) Contains a variable representing the total number of credits completed ************************************************
  • 7. record. b) Contains instance variables for the student id, name, major and two variables that are used to compute the GPA. b) Does not contains instance variables for the student id, name, major and two variables that are used to compute the GPA. c) Contains a variable representing the total number of credits completed ************************************************