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. SpecificationsThe 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 / ReusabilityCode 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