I. Assessment Requirements
The assignment requires you to be able to understand a software system and evaluate the critical aspects of its behaviour.
You are to produce a report on your evaluation of no more than 15 pages including all tables, appendices etc., of font no smaller than 9. Any software you used to conduct your evaluation (eg instrumentation packages) should be clearly indicated and referenced in a separate document. Any software of your own that has been added to the packages should be clearly marked up in resubmitted versions of the packages by comment before/after it with the format:
//!!! ADDED BY N12345
//!!! END OF ADDED BY N12345
II. Assessment Scenario/Problem
On the server warren are two racing game related pieces of software. One is a simulator using Gwin for display, but primarily involved in developing automated drivers. The other is an XNA based game that has been partially modified from a single person driving situation in preparation for adding AI cars to race against.
Note that there are known problems: the modified XNA game has had an Ai driver added, but although the collision detection code has been written (and works) the physics following collision is invalid so it has been commented out.
Your task is to examine the code and its structure and evaluate which are the key issues relating to the performance of the software. You may chose to do this by static analysis of the code and/or dynamic analysis of the elements composing it. For additional marks your report may include suggestions regarding possible improvements in performance, and you may modify the software provided to demonstrate these improvements.
III. Assessment Criteria
1 Comprehensive understanding of real time performance issues, and relative criticality of the elements of a software package. Good use of instrumentation to justify the claims. Proposed enhancements realistic, achievable and proven. Report concise, clear and articulate.
2i Good understanding of real time performance issues. Some critical elements of software packages described but may be slightly generalised or missed a few. Some use of software to instrument. Enhancements reasonable though not explored fully or demonstrated. Report mostly clear and well written
2ii Fair understanding of real time performance issues though some may be vaguely articulated. Software packages not completely understood, so some critical elements missed. Use of instrumentation/measurement is limited and not necessarily relevant. Report indicates some lack of clarity or over-generalisation, but reasonably readable.
3 Basic knowledge of real time issues, but not well understood or well discussed. Software packages moderately described but critical issues too general. Use of instrumentation not targeted appropriately and/or results not clearly evaluated. Report has some areas of confusion, and/or does not address issues clearly.
Fail Poor knowledge of real time performance issues and fails to adequately address those of the software packages provided. Unable to clearly understand/explain the provided packages. Use of instrumentation minimal/randomly applied. Report unclear, does not explain issues and/or has errors of fact.