Task 1. Review the old specification (specification.pdf) in the docs directory. You will absolutely need to understand it and the code you are extending.
2. Review the extension specification at the end of this document, which describes all the extensions to be done.
3. Design and implement the extensions using the best-practices we discussed in class.
4. Provide a readable, professional looking UML diagram of the updated design. This should be a PDF file called design.pdf in the docs directory.
5. For each new class that you implement, you must provide unit tests in the form of Junit5 tests. You should design your classes and modify existing classes to facilitate the testing.
6. In a file in the docs directory called refactoring.txt list all the class-implementation and class-interface refactoring that you will do and refactoring that you would recommend.
7. Perform any class-implementation and class-interface refactoring that you promised to do.
8. Bonus: Research the Factory pattern that is used to instantiate classes derived from the same superclass or interface. E.g., all the JSON values could instead implement a Value interface or be subclasses of an abstract Value class and be constructed by a new ValueFactory class instead of Value. Implement the Factory pattern to improve the creation of Values in Value. Be sure to update the UML diagram and provide unit tests.
9. Commit and push back everything to the remote repository.
.doc fileATTACHMENTSzejun.zipcsci_2134_assignment_4.pdf
EssayLoop’s team of experts are available 24/7 to assist you in completing such tasks. Place your order at essayloop.com by clicking on the ORDER NOWoption and get a 20% discount on your first assignment.