$25
Software Design for Smart Undo Capability
In this assignment, you are going to design the software for the Smart Undo capability from the requirements established in Assignment 1 and document the design using appropriate UML diagrams and descriptions. Specifically do the following:
• Based on the documented requirements from Assignment 1, design the architecture of the required software using components with high cohesion and low coupling.
• For each of the components in your architectural design, do a component level design including the required internal interfaces.
• Design an easy to learn and easy to use user interface and document your design using appropriate prototype.
Your submission should include a report explaining all the problems faced and design decisions made during your design process with proper justifications. You should also discuss any change to the requirements that you have to make during the design process.