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.
- Mobile Learning App Evaluation Report Assignment: Usability, Design, and Learning Outcome Analysis
- CTA Psychotherapy Intervention Essay Assignment: Sheila Case Study on Managing Anxiety and Marital Stress
- DSM500 Machine Learning Project Proposal: Retail Sales Forecasting with Time Series Models
- Project Management Assignment 2: The Shard UK Case Study on Risk & Stakeholder Strategies in Construction Projects
- CSIT121 Banking Application Assignment: OOP-Based Customer & Account Management System in Python
- PSB333MAE Assignment 1 Report: Structural Analysis & Optimisation Using SolidWorks and Direct Stiffness Method
- Economics Assignment Questions: Factors of Production, Demand Behavior & Global Coffee Market
- GSGM 7223 Strategic Transformation Assignment: Global Foods Ltd Case Study on Change Management and Digital Innovation
- PAC Research Proposal Report Assignment 1: Accounting and Finance Topics
- 7025CL Management Report Assignment: Investment Appraisal and Cash Budgeting – A Financial Feasibility Study for Gamiquest Corporation