"Software Process", items => array( array(7, 4, 3.5), array(7, 16, 2), array(7, 32, 4), array(8, 2, 3), array(8, 4, 4), array(8, 8, 4), array(8, 16,4), array(9, 2, 2), array(9, 4, 3), array(9, 8, 3), array(9, 16, 1), array(9, 64, 5), array(10, 2, 3.5), array(10, 4, 4.5), array(10, 8, 2), array(10, 16, 4), array(10, 32, 4.5), array(10, 128, 3), ) ); $scores['plaintools'] = array( title => "Tools", items => array( array(11, 2, 1), array(11, 4, 1), array(11, 8, 1), array(11, 16, 1), array(11, 32, 1), array(11, 64, 1), array(11, 128, 1), array(11, 256, 1), array(11, 512, 1), array(11, 1024, 1), array(11, 2048, 1) ) ); $scores['setools'] = array( title => "Software Engineering Tools", items => array( array(11, 2, 2), array(11, 4, 1), array(11, 8, 2), array(11, 16, 1), array(11, 32, 4), array(11, 64, 5), array(11, 128, 2), array(11, 256, 1), array(11, 512, 1), array(11, 1024, 1), array(11, 2048, 1) ) ); # Revisado com Renata 17/01 # Notas re-revistas 18/01 $scores['redcarpet'] = array( title => "Redcarpet", items => array( array(0, 64, 5), array(0, 128, 5), array(3, 2, 5), array(7, 2, 5), array(1, 2, 4), # XXX: User-is-me array(1, 4, 4), # XXX: Use-is-team array(1, 256, 3), array(0, 16, 3), array(6, 4, 2), array(7, 8, 2), array(7, 64, 2), array(6, 8, 1), array(0, 1, 1), array(8, 64, 1), ) ); # Revisado com Renata 17/01 $scores['institutional'] = array( title => "Institutional Support", items => array( array(0, 8, 5), array(0, 16, 4), array(0, 128, 2), array(1, 32, 1), array(1, 64, 5), array(6, 4, 3) ) ); # $scores['computing'] = array(); # Revisado com Renata 17/01 # Notas re-revistas 18/01 $scores['requirements'] = array( title => "Requirements Effort", items => array( array(7, 4, 5), array(7, 32, 5), array(7, 16, 3), array(8, 2, 1), array(9, 2, 2), array(9, 16, 1), array(9, 64, 1), array(10, 2, 1), array(10, 4, 1), # array(1, 16, 1), # Danger - non-institutional demoted # array(1, 8, 1), # array(3, 3, 1), ) ); # Eliminate projects with NO SIGNIFICANT UI $scores['usability'] = array( title => "Usability Effort", items => array( array(8, 4, 5), array(8, 8, 4), array(8, 16, 4), array(8, 2, 3), ) ); # Revisado com Renata 17/01 $scores['documentation'] = array( title => "Documentation Effort", items => array( array(9, 64, 5), array(9, 4, 4), array(10, 4, 4), array(9, 8, 3), array(9, 16, 3), array(9, 2, 2), array(11, 8, 2), array(11, 16, 2), array(11, 64, 2), array(11, 4, 1), array(11, 128, 1), array(11, 256, 1), array(11, 512, 1), array(8, 2, 1), array(8, 4, 1), array(6, 2, 1) ) ); $scores['qa'] = array( title => "Quality Assurance Effort", items => array( array(10, 2, 3), array(10, 4, 4.5), array(10, 8, 2), array(10, 16, 4), array(10, 32, 4.5), array(10, 128, 4), array(9, 8, 2), ) ); # $scores['se2'] = array( # title => "OSS-ness", # items => array( # ) # ); # $scores['review'] = array(); function getScores($answers) { global $scores; $ret = array(); foreach ($scores as $s) { $t = 0; $max = 0; $title = $s[title]; foreach ($s[items] as $item) { $q = $answers[$item[0]]; $t += $item[2] * ( $q & $item[1] ) / $item[1] ; $max += $item[2]; } $ret[$title] = round($t/$max * 100); } return $ret; } function getScoreTotals($surveys) { $totals = array(); $count = 0; foreach ($surveys as $s) { $s = explodeList($s['answers']); $count += 1; $scorelist = getScores($s); foreach (array_keys($scorelist) as $key) { $totals[$key] += $scorelist[$key]; } } foreach (array_keys($totals) as $k) { $totals[$k] = round($totals[$k] / $count); } return $totals; } function fixup($x, $y) { ksort($x); ksort($y); reset($x); reset($y); $newx = array(); foreach (array_keys($x) as $key) { $newx[] = $x[$key] / $y[$key]; } return $newx; } ?>