Order this Assignment Now: £260 VALID THRU: 13-Nov-2024
Assignment Briefs
09-06-2022
The aim of this assignment is to add a class to the project that you developed for the first part of the coursework to make a graphical user interface (GUI) for a system that stores details of gadgets in a shop
Part 1(exercise 1)
Assignment
This assignment will be marked out of 100 and carries 30% of the overall module weighting. Your. java files and report for this part must be uploaded to WebLearn and submitted by June/August 2020. The assignment must be carried out individually so you must not obtain help from anyone other than the module teaching staff. You must not copy code from any source apart from the module core text and the module WebLearn site. Collusion, plagiarism (unreferenced copying) and other forms of cheating constitute Academic Misconduct, which can lead to failure of the module and suspension from the University.
Aim
The aim of this assignment is to add a class to the project that you developed for the first part of the coursework to make a graphical user interface (GUI) for a system that stores details of gadgets in a shop. The class will contain a main method and will be tested using the command prompt. You will also need to write a report about your program. You are advised to study the learning aid on reflective practice, which is linked from the module WebLearn homepage, and the learning aids entitled “Using the Command Prompt” and “Examples of screenshots for Coursework 2” which are included in the learning and teaching materials. Your report should be no more than 1200 words in length (excluding the table of contents, class diagram, pseudocode and code listing).
Deliverables
Create a new class within the project called GadgetShop. When you are ready to submit your solution, upload your GadgetShop.java file, together with the Gadget.java, Mobile.java and MP3.java files from the first part of the coursework (not any other files from the project) to WebLearn together with your report in Microsoft Word and, when you are absolutely sure that you have uploaded the correct files, press the submit button. (You will not need to make any changes to the Gadget, Mobile or MP3 classes as long as they work correctly, but ask your tutor if you need help completing those classes to the specification of the first part of the coursework.)
Program
An example GUI is shown below:
Your GUI should contain the same components but you are free to use a different layout if you feel that it improves the aesthetics, ease of use etc. The GadgetShop class should store an array list (not an array) of type Gadget to hold the gadgets.
Text Field Input Methods
For each text field, write a method to read its contents and return the value. For the model, size and phone number, the value should simply be returned as a string but, for each of the other text fields, the input value should be converted into its correct numerical data type and then that value should be returned.
There should be text fields for entering:
The model
The price
The weight
The size
The initial credit (when adding a mobile phone)
The initial available memory (when adding an MP3 player)
The phone number (when making a mobile phone call)
The duration (when making a mobile phone call)
The download size (when downloading music to the MP3 player)
The display number, which is the same as the index of the gadget in the array list
The input method for the display number is different from the input methods for the other text fields. The method first initialises the display number to -1. If the input from the user via the GUI is valid, the display number will be changed to a value that corresponds to a gadget in the array list. The input from the display number text field must therefore be tested using a try/catch statement to ensure that the gadget number entered is an integer and, if it is, that it is in the correct range. If the value entered is an integer but is not in the correct range, a suitable error message is displayed using a message dialog box. If the display number entered is not an integer then an alternative error message is displayed using a message dialog box. The method will therefore either return –1 or a value that corresponds to a gadget in the array list, depending on whether or not there was an error in the input. Any method that gets the display number should check its value and only use it if its value is not equal to –1.
Buttons
The GUI should have the following buttons:
1) Add Mobile
The model, price, weight, size and credit are input via the GUI. When this button is pressed, the methods to get the model, price, weight, size and credit are called, and these values are used to create a new object of type Mobile, which is added to the array list of gadgets.
2) Add MP3
The model, price, weight, size and memory are input via the GUI. When this button is pressed, the methods to get the model, price, weight, size and memory are called, and these values are used to create a new object of type MP3, which is added to the array list of gadgets.
3) Clear
When this button is pressed, the text is cleared from each of the ten text fields.
4) Display All
When this button is pressed, the display number is printed and the method to display the details of the gadget is called, for each gadget in the array list.
5) Make A Call
The display number, phone number and duration are input via the GUI. When this button is pressed, the method to get the display number is called and its value is checked. If it is not equal to –1:
The display number is used to get the gadget from the array list and cast it to Mobile.
The method to make a call in the Mobile class is called with the phone number and duration entered.
6) Download Music
The display number and download size are input via the GUI. When this button is pressed, the method to get the display number is called and its value is checked. If it is not equal to –1:
The display number is used to get the gadget from the array list and cast it to MP3.
The method to download music in the MP3 class is called with the download size entered.
Marks
Marks will be awarded as follows:
1) GUI
2) The actionPerformed method
3) The main method
4) Functionality of buttons
5) Reading input
6) Use of try/catch, checking input and displaying appropriate message dialogs
7) Program style (see http://www.bluej.org/objects-first/styleguide.html)
Report
The report should contain:
A class diagram of the GadgetShop class only, showing the name of the class, the data types and names of the fields, and the return types and signatures of all of the methods.
Pseudocode for the following button-handling methods:
Getting the display number from the GUI
Adding a mobile
Adding an MP3
Displaying all gadgets in the array list
Making a call
Downloading music
A short description of each of the 6 methods above
You should give evidence (through appropriate screenshots) of the following testing that you carried out on your program:
Test 1: Adding a mobile to the array list
Test 2: Adding an MP3 player to the array list
Test 3: Displaying the details of all of the gadgets in the array list
Test 4: Making a call
Test 5: Downloading music
Test 6: Test that the program can be compiled and run using the command prompt, including a screenshot similar to Figure 1 in the command prompt learning aid.
Test 7: Test that appropriate dialog boxes appear when unsuitable values are entered for the display number.
(Include a screenshot of the dialog box, together with a corresponding screenshot of the GUI, showing the values that were entered.)
The report should contain a section on error detection and error correction where you give examples and evidence of three errors encountered in your implementation. The errors (syntax and/or runtime) should be distinctive and not of the same type.
The report should contain a conclusion, where you evaluate your work, reflecting on what you learnt from assignment. You are advised to study the learning aid on reflective practice, which is linked from the module in WebLearn.
The report should include a title page, a table of contents (with page numbers), and a listing of the code (in an appendix). Marks will also be awarded for the quality of writing and the presentation of the report.
Part 2 (exercice 2)
Assignment
This assignment will be marked out of 100 and carries 30% of the overall module weighting. Your. java files and report for this part must be uploaded to WebLearn and submitted by June/August 2020. The assignment must be carried out individually so you must not obtain help from anyone other than the module teaching staff. You must not copy code from any source apart from the module core text and the module WebLearn site. Collusion, plagiarism (unreferenced copying) and other forms of cheating constitute Academic Misconduct, which can lead to failure of the module and suspension from the University.
Aim
The aim of this assignment is to create a class to represent a gadget, together with two subclasses to represent a mobile phone and an MP3 player respectively. You will also need to write a report about your program. You are advised to study the learning aim on reflective practice, which is linked from WebLearn. Your report should be no more than 1200 words in length (excluding the table of contents, class diagram and code listing).
Deliverables
When you are ready to submit your solution, upload your Gadget.java, Mobile.java and MP3.java files (not any other files from the project) to WebLearn together with your report in Microsoft Word format and, when you are absolutely sure that you have uploaded the correct files, press the submit button.
Program
The program should consist of the following classes (with no additional attributes or methods).
1) The Gadget class has four attributes, which correspond to the model, the price (in pounds), the weight (in grams), the size (e.g. “71mm x 137mm x 9mm”) respectively. The price is a decimal number, the weight is an integer, and the model and the size are strings of text. Each attribute is initialised in the constructor, by being assigned the value of one of the constructor`s four parameters, and each attribute has a corresponding accessor method. A display method will output (suitably annotated) the model, the price, the weight and the size
2) The Mobile class is a subclass of the Gadget class and has just one attribute, which corresponds to the (whole) number of minutes of calling credit remaining. The attribute is initialised in the constructor by being assigned the value of one of the constructor`s five parameters and it has a corresponding accessor method. The other parameters of the constructor represent the model the price, the weight and the size of the mobile phone and these four values are passed to the constructor of the Gadget class.
The Mobile class has a method so that the user of the mobile can add (via a parameter) calling credit to the amount that they currently have. If the amount of credit provided by the user is greater than zero then this amount is added to the amount of credit stored in the mobile. Otherwise, a message is displayed prompting the user to enter a positive amount.
There is also a method to represent the user making a phone call. The user needs to provide the phone number and the duration of the call in minutes. If there is enough credit then a message giving the phone number and duration is displayed and the remaining calling credit is reduced by the number of minutes that the call lasted. Otherwise, a message informing the user that there is insufficient credit to make the call is displayed.
A method to display the details of the mobile is required. It must have the same signature as the display method in the Gadget class. It will call the method in the Gadget class to display the model, the price, the weight and the size. The number of minutes of calling credit remaining is then output suitably annotated.
3) The MP3 class is also a subclass of the Gadget class and has just one attribute, which corresponds to the available memory. The attribute is initialised in the constructor by being assigned the value of one of the constructor`s five parameters and it has a corresponding accessor method. The other parameters of the constructor represent the model, the price, the weight and the size of the MP player and these four values are passed to the constructor of the Gadget class.
The MP3 class also has a method for downloading music which takes a parameter representing the amount of memory that the music will take up and, if there is sufficient available memory on the MP3 player, decreases the available memory accordingly, otherwise an appropriate error message is printed. There is also a method for deleting music which takes a parameter representing the amount of memory that the music took up and increases the available memory of the MP3 player accordingly.
A method to display the details of the MP3 player is required. It must have the same signature as the display method in the Gadget class. It will call the method in the Gadget class to display the model, the price, the weight and the size. The available memory is then output suitably annotated.
3) Additional marks will be awarded for good program style, particularly naming, layout and documentation. See http://www.bluej.org/objects-first/styleguide.html for details.
Report
The report should contain:
A class diagram showing the inheritance relationship between the three classes and, for each class, the name of the class, the data types and names of the fields and the return types and signatures of the methods
A short description of what each method does
You should give evidence (through appropriate screenshots) of the following testing that you carried out on your program:
Test 1: Inspect a mobile phone, add calling credit, re-inspect the mobile phone
Test 2: Inspect a mobile phone, make a call, re-inspect the mobile phone
Test 3: Call the method to display the details of a mobile phone
Test 4: Inspect an MP3 player, download music, re-inspect the MP3 player
Test 5: Inspect an MP3 player, delete a piece of music, re-inspect the MP3 player
Test 6: Call the method to display the details of an MP3 player
The report should contain a section on error detection and error correction where you give examples and evidence of three errors encountered in your implementation. The errors (syntax and/or runtime) should be distinctive and not of the same type.
The report should contain a conclusion, where you evaluate your work, reflecting on what you learnt from the assignment. You are advised to study the learning aid on reflective practice, which is linked from the module
Order this Assignment Now:£260
100% Plagiarism Free & Custom Written, Tailored to your instructions