University | Murdoch University (MU) |
Subject | ICT167 Principles of Computer Science Assignment |
Question
This question reinforces concepts from Lab Practices 1 – 5. Best practices of Class and Method design should be demonstrated. This will require a good understanding of class design concepts and method design concepts with some fundamental design principles: modularisation, code reuse, 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. It is quite similar to the Assignment that you have done before in the prior unit however, this is implemented using O-O design. You should explain how you implement this assignment by addressing the following O-O concepts in your external
documentation: (Note: not just by providing definition only, but highlight exactly where in the code you are implementing these concepts). Copy and paste code from your program to show how you implemented the following in your program using your external documentation. You should use your code to explain the concepts below. Some of the concepts could be related and you will need to explain how they are related.
• Open/Closed Principle
• Information hiding
• Encapsulation
• Pre-conditions and Post-conditions
• Private variables
• Constructors
• Assessors and Mutators
• Helper
Buy Custom Answer of This Assessment & Raise Your Grades
User-defined Class:
You will design and implement your own data class. 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. In Singapore, the coin denominations
are $1, 50 cents, 20 cents, 10 cents, and 5 cents. You can use 5 instance variables to represent amounts for each of the 5 coin denominations. There should be no need for more than these instance variables. However, if you use a different way to implement this, you must provide legitimate justification for their usage in the internal and external documentation. All these instance variables should be declared as private.
Think of a way such that the client program can use the same class name and public methods for other countries with different coin denominations without changing their client program. The key point here is to work on a design such that there is no need for the client class to make any change when the Change class needs to upgrade to accommodate the different coin denominations for different countries. Explain how your class can satisfy this in your 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 (including helper) may be provided as needed.
However, make sure they are necessary for good class design; you must provide 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 data class object to the client program is to use an appropriate get method. The data class methods must not write data out. Data should be entered into a data class object via a constructor or an appropriate set method. When designing your Change class, use an UML class diagram to help understand what the class design needs.
Client Class:
The client program should read the input data from the user and use the Change class to store the data entered. You will need a data structure to store the Change class objects according to the number of persons entered. Thus, you are to utilize an array of Change objects. Do not use ArrayList for this
assignment.
cta_qauestion_3
Excelling in your ICT167 Principles of Computer Science Assignment at Murdoch University (MU) in Singapore has never been easier. With our assignment helper sg service, you can receive the best Computer Science Assignment Help in Singapore. Our expert team is well-equipped to reinforce lab concepts and guide you in demonstrating top-class class and method design practices. Singapore students can pay our experts to ensure their academic success. Don't let assignments stress you out; let us help you shine in your course.
Looking for Plagiarism free Answers for your college/ university Assignments.
- INDIVIDUAL RESEARCH PROJECT: MERGERS AND THEIR IMPACT
- PSS388 End of Course Assessment January Semester 2025 SUSS : Integrated Public Safety And Security Management
- PSY205 Tutor-Marked Assignment 02 SUSS January 2025 : Social Psychology
- Math255 S1 Assignment-2025 SUSS : Mathematics for Computing
- BUS100 Tutor-Marked Assignment January 2025 SUSS : Business Skills And Management
- CSCXXX SUSS : New System Development Using Java : Soft Dev Pte Ltd Project
- Cloud Computing: Fundamentals, Networking, and Advanced Concepts
- COS364 Tutor-Marked Assignment January 2025 Sem SUSS : Interventions for At-Risk Youth
- FMT309 Tutor-Marked Assignment 01 SUSS January 2025 : Building Diagnostics
- HBC203 Tutor-Marked Assignment 01 January 2025 SUSS : Statistics and Data Analysis for the Social and Behavioural Sciences