I need Java Developer for Master's HW.
Budget: $30 – $250 USD
Details
In this project, you'll develop a class called ShuttleBatteryMonitor in the edu.vt.cs5044 package that implements a simple model for tracking the energy usage and other elements of the operation of an experimental zero-emission autonomous shuttle bus on a simple closed course. The comments in the provided file will describe all of the calculations involved, which are contrived for this assignment and likely not very realistic at all. A basic template of the required class file is provided to help get you started. You should assume that the methods of your class will be called by other components within some other system (but external to this assignment). Each method's required behavior is already described by Javadoc comments in the provided source code file; these comments act as your requirements by specifying the expected behavior for each method.
You have freedom to choose the number and types of instance variables you use, the approaches to the calculations, and other such internal design considerations. This is the most fundamental concept of encapsulation in an object-oriented system. It doesn't matter exactly how your class works, as long as it works properly whenever the public accessor and mutator methods are invoked. There are many possible designs that meet all of the functional expectations; there isn't just one single "right" or "best" solution.
However, you're expected to follow the idiomatic style of Java, and good design practices, so not every possible solution will earn all the available points. To assist you with this, several design notes, hints, and recommendations will be provided in the Q&A session. Of course you may always ask for additional guidance in the forum at any time!
Note that our ShuttleBatteryMonitor class isn't a complete stand-alone program. It can't be launched on its own, as it doesn't include a main() method. Further, no methods accept any user input, nor do any methods produce any user output. This is intentional! This class is meant to represent just one small component of a much larger system.
Still, you need to execute your code somehow, to ensure that it works correctly. To do this, you'll need to develop a second class called ShuttleBatteryMonitorTester (also in the edu.vt.cs5044 package) in order to exercise your ShuttleBatteryMonitor class. Your tester class does have a main() method, and will generally use System.out.println() to display both the expected and the actual results to the console. A sample tester class is provided, to get you started, but you're expected to add several more test cases to this.
Downloads
ShuttleBatteryMonitor.java Download ShuttleBatteryMonitor.javaThis class file contains all the method declarations you need, along with Javadocs describing their required behaviors, but the method implementations are all just placeholders. You'll need to design and develop the method implementations, adding private instance variables (fields) as necessary. Please ensure you don't add, remove, or change the headers of any of the public methods. The existing public methods represent the external interface of your class, and must be retained as-is. Other components of the larger system (outside of this assignment) will expect to work with your class using exactly these methods.
ShuttleBatteryMonitorTester.java Download ShuttleBatteryMonitorTester.javaThis class file runs some a simple test on an single object. Be sure to review this file before starting the assignment, as the expected results might help to clarify some of the behavioral requirements. You're expected to develop additional test code to be placed in this file. You must add enough tests to exercise each of the ShuttleBatteryMonitor methods (including the constructor) at least three times each in addition to the existing tests.
expected_output.txt Download expected_output.txtThis is the expected output of running the above tester code (as provided) on a properly working implementation.
In this project, you'll develop a class called ShuttleBatteryMonitor in the edu.vt.cs5044 package that implements a simple model for tracking the energy usage and other elements of the operation of an experimental zero-emission autonomous shuttle bus on a simple closed course. The comments in the provided file will describe all of the calculations involved, which are contrived for this assignment and likely not very realistic at all. A basic template of the required class file is provided to help get you started. You should assume that the methods of your class will be called by other components within some other system (but external to this assignment). Each method's required behavior is already described by Javadoc comments in the provided source code file; these comments act as your requirements by specifying the expected behavior for each method.
You have freedom to choose the number and types of instance variables you use, the approaches to the calculations, and other such internal design considerations. This is the most fundamental concept of encapsulation in an object-oriented system. It doesn't matter exactly how your class works, as long as it works properly whenever the public accessor and mutator methods are invoked. There are many possible designs that meet all of the functional expectations; there isn't just one single "right" or "best" solution.
However, you're expected to follow the idiomatic style of Java, and good design practices, so not every possible solution will earn all the available points. To assist you with this, several design notes, hints, and recommendations will be provided in the Q&A session. Of course you may always ask for additional guidance in the forum at any time!
Note that our ShuttleBatteryMonitor class isn't a complete stand-alone program. It can't be launched on its own, as it doesn't include a main() method. Further, no methods accept any user input, nor do any methods produce any user output. This is intentional! This class is meant to represent just one small component of a much larger system.
Still, you need to execute your code somehow, to ensure that it works correctly. To do this, you'll need to develop a second class called ShuttleBatteryMonitorTester (also in the edu.vt.cs5044 package) in order to exercise your ShuttleBatteryMonitor class. Your tester class does have a main() method, and will generally use System.out.println() to display both the expected and the actual results to the console. A sample tester class is provided, to get you started, but you're expected to add several more test cases to this.
Downloads
ShuttleBatteryMonitor.java Download ShuttleBatteryMonitor.javaThis class file contains all the method declarations you need, along with Javadocs describing their required behaviors, but the method implementations are all just placeholders. You'll need to design and develop the method implementations, adding private instance variables (fields) as necessary. Please ensure you don't add, remove, or change the headers of any of the public methods. The existing public methods represent the external interface of your class, and must be retained as-is. Other components of the larger system (outside of this assignment) will expect to work with your class using exactly these methods.
ShuttleBatteryMonitorTester.java Download ShuttleBatteryMonitorTester.javaThis class file runs some a simple test on an single object. Be sure to review this file before starting the assignment, as the expected results might help to clarify some of the behavioral requirements. You're expected to develop additional test code to be placed in this file. You must add enough tests to exercise each of the ShuttleBatteryMonitor methods (including the constructor) at least three times each in addition to the existing tests.
expected_output.txt Download expected_output.txtThis is the expected output of running the above tester code (as provided) on a properly working implementation.