CSC/ECE 517 Spring 2020 E2016 Revision planning tool
What is Revision Planning?:
In the first round of Expertiza reviews, reviewers are asked to give authors some guidance on how to improve their work. Then in the second round, reviewers rate how well authors have followed their suggestions. Revision planning is a mechanism used to carry the interaction one step further by having authors to supply a revision plan based on the first-round reviews. That is, the authors would describe their plan for code improvement in the second round and second-round reviewers would assess how well they did it.
According to the given instructions, a revision plan consists of a description of the plan, followed by any number of questions that would later be appended to the second-round review questionnaire. The revision plan is per AssignmentTeam-based, which means the authors’ questions would only be used to evaluate their submission and not anyone else. By adding the functionality of revision planning, it helps researchers study the effect of the reviewer’s suggestions on the second-round code improvement.
What needs to be done?:
- Develop UI for authors to create new questions to add to the second round-rubric. This should be a form that includes the following:
- A description of the revision plan. Eg: We will add feature X to address issues a,b and c. We will modify feature Y and expect it to resolve errors d, c and e.
- One or more questions for every proposed improvement. Example:
- How effectively did feature X address / solve issues a, b and c?
- Did modification of feature Y resolve error d?
- The new questionnaire must be linked to the second-round questionnaire.
- The new questionnaire must be part of the team's submission records.
Problem Statement
For this project, we identified 4 major work items that together fulfill the stated requirements.
- Sort out the relationship among classes and introduce the new abstraction of the revision plan to the system in a way that it doesn’t interfere with the majority of codes
- Modify the existing views and controllers to accommodate the new functionality which includes
- Allowing teaching staff to enable/disable revision planning for an assignment
- Allowing team members to create/edit their revision plan during the second-round time frame
- Allowing both rubric questions and revision plan questions to appear on the same page and be serialized correctly
- Allowing feedback of the revision plan only to be viewed by the team that creates the plan and that team's instructor
- Provide an adequate amount of tests to improve code coverage
- Do necessary refactoring and resolve any CodeClimate issues
Design
Control Flow Diagram
The below image shows the control flow of the revision planning functionality. It involves 3 types of actors, student(reviewee), student(reviewer) and instructor/TA who manages the assignment and review processes. To understand each actor’s responsibility, trace the solid black lines that arose from each actor in the direction specified by the arrows. Two shapes connected by a dashed line represent that the former action triggers the latter event. The diamond shape represents a decision or precondition, that is, only after the condition meets can the next action performs. For example, the reviewee may start making revisions only after 1). TA/instructor has enabled the revision planning for this assignment, and 2). The first draft due date has passed.