October 10, 2002 COM3205 - HW1 Solutions and Grading policy. NOTE: An explicit breakdown of the points given for each section is included at the end of this document. The solutions directory contains 3 Requirements Documents, each submitted by a student in COM3205 as a solution to HW1. Section 1 (20 points): Document Sections The solutions are all slightly different than one another, illustrating the fact that there is no one way to write a Requirements Document. However, there are definately sections that are common to a Requirements Document, many of which were mentioned in the first lecture. My notes from the first lecture reflected the following optional sections: Functional Requirements Non Functional Requirements Use Cases Scenarios UML Diagrams - class, requirements level, and/or use case Test Cases Glossary When grading, I also gave credit for the following two sections: Introduction Future Development Issues In the future, it should be noted by those of you who chose not to write one, that all Requirements Documents (and most papers in general) should include some kind of introduction. At minimum, there should at least be a restatement of the general problem being addressed by the document. Section 2 (10 points): 4 Definitions of the Law of Demeter The homework problem explicitly stated, "Your requirements document should describe a checker that can check several forms so that users of the software can select the checker most suitable for their needs." So that anyone who reads your document has even the most basic understanding of what is required for the "LoDChecker" application, all 4 variations of the law should be defined. On many papers I added and/or corrected portions of definitions. Note that in general, points were not taken off for minor variations in the law as long as the majority of the definition was correct. In general full points were given for definitions, unless they were either not included or completely wrong. Section 3 (70 points): Content I was more concerned with your understanding of the variations in the Laws of Demeter and how they related with each other than I was in the finer points of the design of your application. It was most important that you understood that the Weak and Strong forms of the LoD apply to BOTH the Class and Object forms, not just one. If you understood this relationship, and described a checker that would verify the laws accordingly, you received full credit (70/70). If you only applied the Weak and Strong variations to either the Object or Class form only, or incorrectly assumed the Weak and Strong form were separate from the Object and Class forms, you received 65/70. If you failed to explain the variations at all and/or described a checker that could not choose between forms, you received a 60/70. Any other deductions below 60 were for handing in a late assignment or for turning in a solution that failed to meet the basic requirement of being a "document", i.e. a paragraph is not a document. Point Breakdown: Section 1 - Any 4 (5 pts each) of the following 8 (for a total of 20 pts): Introduction / Statement of Problem Functional / Non-Functional Requirements Use Cases Scenario(s) Test Cases UML Diagram Future Development Glossary Section 2 - Definitions of the 4 variations of LoD (10 pts total): class form = 3 pts object form = 3pts weak form = 2pts strong form = 2pts Section 3 - Content (70 pts total): 70 = correctly explained that weak and strong forms are variations of BOTH the object and class forms and required application of this in the program 65 = incorrectly assumed the strong and weak variations were separate from the object and class variations 60 = made no attempt to explain the variations and did not require the application to choose between any forms The grades broke down as follows: (ave score was about 85) 100 100 95 95 95 95 94 94 90 83 83 81 81 80 80 78 76 75 73 71 70