ICT167: Principles of Computer Science - Object Oriented Design - IT Assignment Help

Download Solution Order New Solution
Assignment Task:

OBJECTIVES:
 
• Construct algorithms to solve problems using a combination of sequence, selection and iteration constructs. 
• Apply the Object-Oriented design paradigm to construct solutions in a modular way. 
• Implement such a design using the JAVA programming language. 
• Demonstrate the basic understanding of using the array. 
• Searching in the array of class objects.

Question:

This question reinforces concepts from Lab Practices 1 - 5. Best practice of Class and Method design should be demonstrated. This will require a good understanding of class design concepts and method design concepts: code re-use, high cohesion and low coupling.
 
Before attempting this question, complete the pre-requisites listed on the first page of this document.

Assignment 1 uses O-O design implemented in Java. You will need to use a user-defined class, as an array of such class objects will be required. 

User-defined Class:
 
You will design and implement your own class. The class will store data that has been read as user input from the keyboard (see Getting Input below), and provide necessary operations. As the data stored relates to monetary change, the class should be named Change. The class requires at least 2 instance variables for the name of a person and the coin change amount to be given to that person. You may also wish to use 4 instance variables to represent amounts for each of the 4 coin denominations (see Client Class below). There should be no need for more than these instance variables. However, if you wish to use more instance variables, you must provide a legitimate justification for their usage in the internal and external documentation. 

Your class will need to have at least a default constructor, and a constructor with two parameters: one parameter being a name and the other a coin amount. Your class should also provide appropriate get and set methods for client usage. Other methods may be provided as needed. However, make sure they are necessary for good class design; you must provide a legitimate justification for their usage in the internal and external documentation. In particular, your class should NOT include Input and Output methods. The only way to get data out of a class object to the client program is to use an appropriate get method. The class methods must not write data out. Data should be entered into a class object via a constructor or an appropriate set method.
 
When designing your Change class, use a UML diagram to help understand what the class design needs. 

Getting Input: 

Input for the client program will come from a keyboard (entered by the user) OR hardcoded (see NOTE below). The input should consist of: the name of a person, and coin value (as an integer). The program should validate the input coin value to ensure that it is in the range 5 to 95, and is evenly divisible by 5. Names are one-word strings. You should ask the user to enter the required information using a loop with a question after each loop iteration to check if the user wants to end the input of data. It is recommended for the user to input at least 10 such data – this can be conveyed to the user using a message before entering the loop.

Required External Documentation for each question:
 
1. Title: a paragraph clearly stating the title, author, date, file names, and a one-line statement of purpose. 
2. Requirements/Specification: a paragraph giving a brief account of what the program is supposed to do. State any assumptions or conditions on the form of input and expected output. 
3. User Guide: include clear instructions on how to compile and run the program, and how to use the program during execution. 
4. Structure/Design/Algorithm: Outline the design of your program (it is here that you will need to justify any extra instance variables and class methods that you have included in Change class). Give a written description, use diagrams (UML and structure chart), and use pseudocode for an algorithm. 
5. Limitations: Describe program shortfalls (if any) eg: the features asked for but not implemented the situations it cannot handle, etc. 
6. Testing: describe your testing strategy (the more systematic, the better) and any errors noticed. Provide a copy of your results of testing in a document saved in Word format. Note that a copy of the sample test data and results from a program run for each program is required (copy from the program output window and paste to a Word file). Your submitted test results should demonstrate thorough testing of the program. 
7. Source program listings: save all your Java source code in a document in MS Word format.


This ICT167: IT Assignment has been solved by our IT Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.