CSC/ECE 517 Fall 2016 E1676 Role-based reviewing

From Expertiza_Wiki
Jump to navigation Jump to search

Purpose

In the current version of Expertiza, members among a team can evaluate each other’s contribution and give appropriate scores based on the same questionnaire. However, in the lifetime of software development, members in a team often take on different roles whose works content are vastly differentiated. Like in an agile development environment, such as Scrum, there are typically seven roles group members can take: software engineer, architect, programmer, analyst, QA expert, tester and UI designers . Job description and evaluation entailed are vastly varied among these roles, thus a generic assessment rubric cannot hold reasonably.

The purpose or the rationale of our project is that we want to give project members the option to evaluate each other's work based on the specific role or duty they take in the development process. This can ensure a reasonable assessment for different duties and can also help to improve the utility using members-reviewing in the whole reviewing process.

Task Description

Task Description: There are generally three aspects we would accomplish in order to achieve the Role-based reviewing function.

1) A new option (check box) would be added to the Review Strategy tab from the instructor view when he creates a new assignment. What’s more, the instructor can create different roles or duties available for the assignment by typing into a test filed. The instructor also has the power the allow multiple members to choose for the same duty.

2) In the Rubrics tab from the instructor view, New rubric would be generated by creating different questionnaires for different roles when adding new assignment.

3) A new option (drop box) would be added to the “Your team” page from the student view when an assignment was created to be role-based reviewing. Student can choose their roles or duties from the drop box which were generated by the instructor for this specific assignment. When the instructor enabled the multiple selection option, different members in the team can choose same duties for this assignment.

Tasks can be viewed more clearly by the graph below:

Design

Database Design

We should add duty_name into teams_users table to store the duty name
Field Name Type Description
duty_name text student's duty in team
We should add duty_based into assignments table to store the duty name
Field Name Type Description
duty_based int(11) If the assignment's team is duty based, it should be 1. If not, it should be 0.

Updates

Below are the key files modified:

Controllers

Models

Views

Testing Details

RSpec

Factory Girl

Running RSpec

Test Cases