Problem domain: Create a Python 3 program being able to generate a UML 2 diagram based on the source code (in a file/ folder) of a Python program by using Python package(s).
A Python interpreter that inputs .py files and outputs UML class diagrams, pie charts, and bar diagrams. It features a data storage system using shelf and pickle, and data validation.
***This assignment required using design patterns to solve common software design problems and allow for easier maintenance in the future.
***Word docs explain how certain code refactoring methods and design patterns were implemented.