$25
Note: Each team must electronically submit a single report for each assignment (which will be marked by the marker). The report should identify individual contribution by each student of the team.
Establishing Requirements for Smart Undo Capability
Typical editing software have Undo capability which allows the user the undo the last edit in a last-edit-first-undo manner. In the assignments and project for this course, you are going to add Smart Undo capability to a simple text editor (you may use the one described in https://opensource.com/article/20/12/write-your-own-text-editor) which can allow the user to do the Undo operations in the following manner:
Select specific edits in any order from a list and perform them in one step.
Undo all the edits in a group of edits maintained by the user.
Select different edits from different groups maintained by the user and undo them in one step.
In addition to the above undo capability, your software should also provide the following capabilities:
Delete an arbitrarily selected list of edits so that they will no longer be available.
Delete a complete group of edits so that that group will no longer be available.
Delete all the edits so that no undo will be possible.
In this assignment, you are going to establish and document the requirements for this software. Specifically do the following:
In consultation with your stakeholders (TA and team members), establish a stable set of requirements.
Document your established requirements using appropriate mechanisms (user stories, use cases, UML diagrams, etc.).
You may add more requirements to the ones given above. However, each requirement should be properly justified.
Your submission should include a report listing all your requirements with justifications and their documentation, describing how you established those requirements and how your approach can handle any changes that may happen during the design process.