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

100% Plagiarism Free & Custom Written, Tailored to your instructions
paypal checkout

Our Giveaways

Plagiarism Report

for £20 Free

Formatting

for £12 Free

Title page

for £10 Free

Bibliography

for £18 Free

Outline

for £9 Free

Limitless Amendments

for £14 Free

Get all these features for
£83.00 FREE

ORDER NOW