It is desired to build software to convert documents stored in RTF format into a variety of other formats including ASCII, TeX, and for display via a text widget. RTF features to be handled include font change requests, paragraph styles, and the text itself. While RTF is stable, it is expected that new output formats could be added at any time.
Imagine that you had to design this system. Believing in modularity, you decide to separate the RTF parsing from the output-file-format dependent code. In particular, you would like to be able to add new converters as requirements change. How would you separate the parsing from the conversion process in an extensible way? Think about how you would solve this problem. In particular, either by yourself or with others, produce a simple UML class model diagram that is sufficient to suggest a solution. Consider what issues might arrive as you refine your solution.
