Criteria for software evaluation:
F | D | C | B | A | |
---|---|---|---|---|---|
1. Design Quality | Design incorrect and/or incomplete
2 | Design works for some cases
4 | Workable design, Sometimes
coherent and logical flow of code 9 | Workable, easy to modify design, Largely logical
flow of code
12 | Simple, elegant, easy to modify design,
Obvious flow of
logic 15 |
2. Specifications | The program is always producing
incorrect results. 2 | The program is producing incorrect results
sometimes. 4 | The program produces correct results but
does not display them correctly. 9 | The program works and produces the correct
results and displays them correctly. It also meets most of the other
specifications. 12 | The program works and meets all of the
specifications. 15 |
3.Generality / Reusability | Code works only in the current situation 2 | Some of the code can be reused in future projects by cutting and pasting 4 | Some functions or objects can be reused in their current form with some modification, but behave in unexpected ways, like printing to the screen 9 | Some objects can be reused in their current form with no modification 12 | Task specific code is completely isolated; all other code can be reused 15 |
4.Robustness | Mostly assumes everything is working as expected without checking 2 | Only handles a handful of “unexpected” events 4 | Handles most “unexpected” events, but in odd ways 9 | Properly handles all “unexpected” events, but some in odd ways 12 | Properly handles all “unexpected” events in sensible ways 15 |
5.Comments and naming | Comments largely nonexistent; poor choice of identifiers 2 | Comments haphazard and are unhelpful; many poor identifiers 4 | Comments are obvious and/or verbose; don't enhance the code; identifiers ok
9 | Generally good comments, but incomplete; identifiers generally make function clear 12 | Code well commented, and comments enhance code; excellent identifiers 15 |
6. Follow directions (output format, submission directions, late) | Ignored assignment directions
2 | Barely followed
directions 4 | Followed some
directions 6 | Followed most
directions 8 | Accurately followed all assignment directions
10 |
7. User Friendliness | Directional and
error messages nonexistent
2 | Directional and
error messages not helpful 4 | Messages could be
deciphered with work 9 | Messages meaningful but verbose, not professional or inconsistent style 12 | All messages are
concise, sensible, helpful and consistent 15 |