Revize 1ab2268f
Přidáno uživatelem Ondřej Váně před asi 4 roky(ů)
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/detectors/NinetyNinetyRuleDetectorImpl.java | ||
---|---|---|
51 | 51 |
* 1) pro každou iteraci udělat součet stráveného a odhadovaného času přes všechny aktivity |
52 | 52 |
* 2) udělat podíl strávený čas / odhadovaný čas |
53 | 53 |
* 3) pokud všechny výsledky podílů budou v rozsahu 0.8 - 1.2 => vše ok |
54 |
* 4) pokud budou některé výsledky mimo rozsah, tak se najde iterace s nejhorším výsledkem |
|
55 |
* 5) od této iteraci by měl být výsledek podílů mít klesající tendenci |
|
56 |
* tato časová řada by měla mít klesající tendenci |
|
54 |
* 4) čím více ke konci projektu tím by se měly odhady zpřesňovat |
|
57 | 55 |
* |
58 | 56 |
* @param project analyzovaný project |
59 | 57 |
* @param databaseConnection databázové připojení |
... | ... | |
87 | 85 |
return new QueryResultItem(this.antiPattern, false, resultDetails); |
88 | 86 |
} |
89 | 87 |
|
88 |
//TODO když je mimo rozsah |
|
89 |
|
|
90 | 90 |
return new QueryResultItem(this.antiPattern, true, resultDetails); |
91 | 91 |
} |
92 | 92 |
} |
src/main/webapp/queries/ninety_ninety_rule.sql | ||
---|---|---|
14 | 14 |
/* Init project id */ |
15 | 15 |
set @projectId = ?; |
16 | 16 |
/* Select all activities for each iteration and sum estimated time and spent time */ |
17 |
select iterationName, sum(estimatedTime) as 'estimatedTime', sum(spentTime) as 'spentTime', sum(spentTime)/sum(estimatedTime) as 'timeDivision' from workUnitView where projectid = @projectId group by iterationName order by iterationName; |
|
17 |
select iterationName, sum(estimatedTime) as 'estimatedTime', sum(spentTime) as 'spentTime', sum(spentTime)/sum(estimatedTime) as 'timeDivision', abs(1-(sum(spentTime)/sum(estimatedTime))) as 'deviation' from workUnitView where projectid = @projectId and iterationName is not null group by iterationName order by iterationName; |
Také k dispozici: Unified diff
Ninety ninety rule half implemented