CSC/ECE 517 Fall 2017/E1798 Role-based Reviewing: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
(Created page with "=== '''Problem Statement''' === In various agile methodologies, such as Scrum, different team members take on different duties, such as architect, designer, tester and implemente...")
 
No edit summary
Line 1: Line 1:
=== '''Problem Statement''' ===
== Problem Statement ==
In various agile methodologies, such as Scrum, different team members take on different duties, such as architect, designer, tester and implementer. The purpose of this project is to assign different duties to team members of an assignment. While reviewing too, there will be different rubrics for evaluating the contribution of members with different roles.
In various agile methodologies, such as Scrum, different team members take on different duties, such as architect, designer, tester and implementer. The purpose of this project is to assign different duties to team members of an assignment. While reviewing too, there will be different rubrics for evaluating the contribution of members with different roles.


=== '''Solution Plan''' ===
== Solution Plan ==
== Task Description ==
=== Task Description ===
1. A table 'duties' will be created. It will contain all the duties assigned to one assignment.<br>
1. A table 'duties' will be created. It will contain all the duties assigned to one assignment.<br>
2. While creating or editing an assignment, there will be a checkbox in the 'Review Strategies' tab, which will specify whether the assignment is a role-based assignment.<br>
2. While creating or editing an assignment, there will be a checkbox in the 'Review Strategies' tab, which will specify whether the assignment is a role-based assignment.<br>
Line 11: Line 11:
6. When a particular teammate is being reviewed, the system should present the correct rubric based on the duty of the teammate.<br>
6. When a particular teammate is being reviewed, the system should present the correct rubric based on the duty of the teammate.<br>


== Proposed Database Changes ==
=== Proposed Database Changes ===
A new table called 'duties' will be created with the following structure -<br>
A new table called 'duties' will be created with the following structure -<br>
'''assignment_number''' (numeric) - the assignment number that will have the duty.<br>
'''assignment_number''' (numeric) - the assignment number that will have the duty.<br>
Line 21: Line 21:
'''multiple_duty''' (boolean) - If multiple team members can have the same duty in one assignment, this field will be true. Otherwise, it should be false. <br>
'''multiple_duty''' (boolean) - If multiple team members can have the same duty in one assignment, this field will be true. Otherwise, it should be false. <br>


== Proposed File Changes ==
=== Proposed File Changes ===
'''1. assignments/edit/_review_stategy.html.erb''' - This is view file that has the 'Review Strategy' form for a new assignment. This view will have a checkbox that will specify whether the assignment is role-based.
'''1. assignments/edit/_review_stategy.html.erb''' - This is view file that has the 'Review Strategy' form for a new assignment. This view will have a checkbox that will specify whether the assignment is role-based.


Line 29: Line 29:


'''3. assignment/edit/_rubrics.html.erb''' - This file will specify the reviewing rubric that is applicable to each role.
'''3. assignment/edit/_rubrics.html.erb''' - This file will specify the reviewing rubric that is applicable to each role.
=== UI Description ===
== Use Case ==

Revision as of 22:16, 7 November 2017

Problem Statement

In various agile methodologies, such as Scrum, different team members take on different duties, such as architect, designer, tester and implementer. The purpose of this project is to assign different duties to team members of an assignment. While reviewing too, there will be different rubrics for evaluating the contribution of members with different roles.

Solution Plan

Task Description

1. A table 'duties' will be created. It will contain all the duties assigned to one assignment.
2. While creating or editing an assignment, there will be a checkbox in the 'Review Strategies' tab, which will specify whether the assignment is a role-based assignment.
3. If the checkbox is checked, different duties can be added to the assignment through the UI.
4. When an assignment is a role-based assignment, in 'Your Team' page of a team member, the student should be able to assign duties to himself.
5. While reviewing, there will be different rubrics associated with different duties, which can be created as Questionnaires.
6. When a particular teammate is being reviewed, the system should present the correct rubric based on the duty of the teammate.

Proposed Database Changes

A new table called 'duties' will be created with the following structure -
assignment_number (numeric) - the assignment number that will have the duty.
duty_name (varchar) - duty assigned to that assignment number.


The existing table 'assignment' will be modified to include the following fields -
duty_flag (boolean) - If the assignment is role-based, this field will be true. Otherwise, it should be false.
multiple_duty (boolean) - If multiple team members can have the same duty in one assignment, this field will be true. Otherwise, it should be false.

Proposed File Changes

1. assignments/edit/_review_stategy.html.erb - This is view file that has the 'Review Strategy' form for a new assignment. This view will have a checkbox that will specify whether the assignment is role-based.

2. assignments_controller.rb - This is the controller that handles the actions performed by view in _review_stategy.html.erb. New function 'saveDuty' to be created - This will save the duties assigned to an assignment. Existing function 'edit' to be modified - This function will save whether the assignment is a role-based and whether multiple team members can have the same duties in the database.

3. assignment/edit/_rubrics.html.erb - This file will specify the reviewing rubric that is applicable to each role.

UI Description

Use Case