[x] Requirements are documented as functional requirements with a format according to the IEEE 830 standardPreview the document, or IEEE 29148-2011 (Links to an external site.)Links to an external site.. (Note that you do not have to provide a complete document to fulfill the whole standard.) In particular, requirements should be correct, unambiguous, complete, consistent, ranked according to importance, verifiable, modifiable, and traceable.
[x] Relevant test cases (existing tests and updated/new tests related to the refactored code) are traced to requirements.
[x] Patches are accepted by the project, or considered for acceptance. (This requires a link to an accepted commit, or a discussion item.)
Note: the patch must be submitted by the assignment deadline, but it may be accepted later; as long as it is accepted by March 15, this point is counted. (Please notify us if this extra point is necessary for a P+.)
[ ] Updates in the source (either as refactorings or bug fixes) are put into context with the overall software architecture and discussed, relating them to design patterns and refactoring patterns.
[x] The architecture and purpose of the system are presented in an overview of about 1 - 1.5 pages.
Note: If you manage to improve on existing documentation or fill a gap in the project here, please consider making your documentation available to the project; they may be grateful for it!
[x] You can argue critically about the benefits, drawbacks, and limitations of your work carried out, in the context of current software engineering practice.
[ ] You have done something extraordinary that exceeds the scope of the assignment, and which you can be proud of.