Final Project for CS212 Due Date: December 20, 2016 Screenshot of the Student Management System Prototype: 1 *Note: The Graphical User Interface (GUI) may look slightly different in a Windows Operating System and it is okay as long as the functionalities are the same. Project Introduction It is finally time to put everything you have learned so far to test! Your goal is to create a Student Management System prototype as illustrated above. Follow the narrative below to complete the project. Attached in this same folder is the runnable JAR file that you can download and RUN on your machine to see how the final application should be like. Deadline: December 20, 2016 This date is NOT negotiable. Those that fail to meet this deadline will get a ZERO for their final project. Extra Credit (+ 10 points): Submit by December 13, 2016 This is also NOT negotiable! However, more extra credit can be given if you are able to complete the project earlier. Project Requirements The Business Analysts from your organization have requested the following features for the Student Management System that you are about to implement. After careful deliberations with your Technical Lead, Business Analysts and the Marketing team, you are tasked with the following key application features that you must absolutely provide to ensure the success of your organization’s product launch: 1. The Application must be runnable in both Windows and Mac Operating Systems. 2. The Application must provide a Menu Bar with File and Help menu items. See [Program Specifications in Detail] for more information. 3. The Application must provide keyboard shortcuts on all the menu items in the menu bar so that the user of your application does not have to spend time finding commonly used menu items. 4. The Application must provide key features such as the ability to import and export student data to and from your application. 5. The Application must provide search functionalities on ALL the field columns in your table with different search criteria for each field. 6. The Application must provide the ability to Add, Delete and Modify existing student records. 7. Data Validations need to be done during the creation or modification of a student record. [Note: You can just run the attached executable and see how it works if you wish to skip reading] 2 Program Specifications in Detail 1. The Application must be runnable in both Windows and Mac Operating Systems. [Technical Lead Response]: Java applications by their very nature can be run in any Operating Systems that have Java Virtual Machines installed by default, so this requirement is automatically satisfied. 2. The Application must provide a Menu Bar with File and Help menu items. [Technical Lead Response]: Here is the requested GUI layout for your applications in the menu bar. For File Menu: For Help Menu: 3. The Application must provide keyboard shortcuts for all the menu items in the menu bar so that the user of your application does not have to spend time finding commonly used menu items. [Technical Lead Response]: Use mnemonics , accelerators and the toolkit to set the default shortcut menu key for the keyboard shortcuts illustrated above. E.g., Control+C for Windows and Command + C for Mac as illustrated above. 4. The Application must provide key features such as the ability to import and export student data to and from your application. [Technical Lead Response]: File -> Open: should allow user to select an input file to IMPORT Data into your JTable. File -> Export: should allow user to Export the current data displayed in your JTable into a file that user has selected. File -> Quit: should exit the application. Help -> About : should display a short message about what your application can do and what your users need to do to use your application. This message is entirely up to you. 3 The illustrated screen above is a sample dialog box that should appear when user clicks on the Help->About menu item. The screen illustrated above shows what the user sees when File->Open is clicked on. [Technical Lead Response]: Use FileDialog to open the file and set the mode to load. FileDialog will automatically use each corresponding operating system’s file dialog to choose a file. 4 Both File->Export menu item and the Export button must execute the same method that will export the data as illustrated below: [Important: Exported data must match the JTable’s data instead of the Table Model’s data] A confirmation dialog as illustrated below should be shown so that user knows if the export operation is successful or if something bad happened.. 5 5. The Application must provide search functionalities on ALL the field columns in your table with different search criteria for each field. As illustrated above, the business analyst expects a drop down box with 6 attributes to search from. Here is the criteria in which each search should work for each field column: • First Name, Last Name, & Venus Login – You can use the .contains() method from the string class to match the given string that user typed in the text field. Return rows that the String.contains() method returns true as illustrated above. An empty string will return all records if a search is used on any of these field columns. • Row ID & CUNY ID – You must return only rows that match exactly what the user typed. • GPA – You must return only rows that have results that are equal to or greater than the specified GPA. NOTE: The search should only be activated when the user presses Enter on the keyboard. 6 6. The Application must provide the ability to Add, Delete and Modify existing student records. The screen on the left shows what users should see when they click on the Add button to Create a New Student Record. A confirmation box should be generated to double confirm that the user wishes to create a new student record. The screen on the left shows what the users should see when they Double-Click on a row in the table to Modify Current Student Record. A confirmation box should be generated to double confirm that the user wishes to modify the existing student record. The screen on the left shows what the users should see when they click on the Delete button to Delete a Student Record. A confirmation box should be generated to double confirm that the user wishes to delete the existing student record. 7 The screen from the left shows what a confirmation dialog should look like during the deletion process. If the user presses anything other than OK, then the user should exit back to the main application screen. This behavior should be the same for the Add and Modify operations as well. 7. Data Validations need to be done during the creation or modification of a student record. To preserve data integrity in your Student Management System, the following data validation rules need to be observed during data entry when Adding a new Student or Modifying an Existing Student Record: I. Row ID must NOT be editable. In fact, it should not be shown during the Add Student Dialog. II. There must be at least two characters (Letters or Numbers are allowed) for First Name and Last Name. III. CUNY ID must be an 8 digit number. (Use CheckInteger) IV. GPA must be a valid number between 0.0 and 4.0 (Use CheckDouble) V. Venus Login text field must NOT be editable as well. VI. Venus Login MUST be dynamically constructed when user enters the first name, last name and CUNY ID and therefore does not need validation. If any of these rules are violated, user must NOT be allowed to proceed with the Add/ Modify operation. For example, you should not allow a user to modify or add a new student record if that user enters only one character for First Name. The screen on the left illustrates a sample error message when a user tries to add a new student record without entering the first name. Appropriate error messages should be generated to the user for each such violation. 8
PLACE THIS ORDER OR A SIMILAR ORDER WITH AMAZON PAPERS TODAY AND GET AN AMAZING DISCOUNT
What Students Are Saying About Us
.......... Customer ID: 12*** | Rating: ⭐⭐⭐⭐⭐"Honestly, I was afraid to send my paper to you, but splendidwritings.com proved they are a trustworthy service. My essay was done in less than a day, and I received a brilliant piece. I didn’t even believe it was my essay at first 🙂 Great job, thank you!"
.......... Customer ID: 14***| Rating: ⭐⭐⭐⭐⭐
"The company has some nice prices and good content. I ordered a term paper here and got a very good one. I'll keep ordering from this website."