================================================================ CS314 Spring 2016 DRAFT Grading Rubric Assignment 4 (A4): Android Adventure Game ================================================================ Total Possible Points: 100 ============================PART 1============================= Team Portion of Grade: overview.txt - 10 possible points. =============================================================== - Names of all team members: 2 pts - Specific contributions by each team member: 2 pts - Time spent by each team member (in hours): 2 pts - The CSU Honor Pledge: 2 pts "I have not given, received, or used any unauthorized assistance." with the team members' names listed below. - Description of challenges that you had in replacing the user interface. - Test information: 1 pt - Number of new tests written, number of defects found, number of defects fixed - Total number of tests run, number passed, number of defects found, number of defects fixed - Your evaluation of the user interface including: 1 pt - the two questions for both goals - the answers to the questions (Graded under Part 5). =============================PART 2============================= Team Portion of Grade: Completeness of submission: 10 possible points. WATCH FOR CHANGES ================================================================ - Android Studio (or Eclipse) project zip or jar file: 10 pts File contents (details to be added): - Android source files (both Java and xml files) - The file must have separate packages for the game source model code (model package), view code (view package) and for tests (test package). On extracting from the zip or jar file, apart from the .project file, there must be 2 directories, src and UserStories. The src directory must contain the overview.txt file, and the model, view, and test packages. The UserStories directory must contain all the user stories for A4, each in a separate text file, e.g. A4-US-1A.txt for split story A and A4-US1B.txt for split story B. Any additional split stories and all tasks must be documented in the same file as the split user story from which they were derived. All split user stories, and any user stories that have not been split, must have associated tasks, which teammember worked on the task, and both estimated and actual time (in hours) taken included in the file. =========================PART 3 ================================= Team Portion of Grade: Design and Code Quality - 25 possible points. This grade is based, in part, on how consistent your implementation is with your design documentation. Use good object-oriented design and implementation methods: ================================================================ - Architectural design quality - maintain model-view separation: 10 pts. - No game functionality in Android classes or other view files. View classes include only code relevant to the user interface & reference only AdventureGameModelFacade or other View classes. - AdventureGameModelFacade makes all connections to internal Adventure Game classes. - Modifications represent clear logic: 10 points - Program logic and data structures are clear and simple. - Aim for high cohesion and low coupling. - Maintain Model-View separation. - Declare all state variables (attributes, instance variables, fields) private, unless there is a very good reason to declare them protected, or public (very rare). - Capitalize the first letter in class names. - Use lower case letters for variables that reference objects. - Accurate documentation of the public interface for each class. - The following original defects in the game have been fixed: 5 points 1. Room.addItem() can add the same item to a room multiple times. 2. removeItem() removes 1 of multiple references to the same item. (due to discrepancy 1) 3. Player.pickUp() player can pick up an item that is not in the Room. 4. Player.pickUp() player can repeatedly pick up an item without dropping it. 5. Player.pickUp() allows the player to pick up a null Item. 6. Room.addItem() can add a null Item to a Room. 7. You can construct a Door with a null key. 8. You cannot configure a Door opening to another Door. =============================PART 4 =========================== Team Portion of Grade: Functionality - 35 possible points. This is for having a running system that allows someone to play the game as specified, through the Android interface. You do not get any functionality points if your program will not compile or run. The program must run as an Android Application. =============================================================== - Player can move from room to room using the new interface: 10 pts. - must be able to explore the cave system correctly. - must be able to bump into walls & remain in same room. - player can bring the gold bars to the outside. - should not crash. - User interface: 15 pt. - system functionality matches user interface requests. - responds to reasonable inputs without crashing. - complete/reasonable response to user's reasonable actions. - Player can pick up Items and drop them: 10 pt. - When the player pick up an Item it moves from the room into his/her hands. - Player can carry 2 items. - Room can contain 2 items. - Player can carry the goldBars out of the cave. - System acts appropriately if the player. - tries to drop an item that is not carried. - tries to drop items when his/her hads are empty. - tries to pick up items when the room is empty. =========================PART 5 ================================= Team Portion of Grade: User Interface Quality - 10 possible points. YOUR EVALUATION SHOULD BE IN YOUR OVERVIEW FILE ================================================================= Based on your evaluation of the usability of the interface in terms of two goals: Goal 1: Efficiency of the user interacting with the user interface to complete a task based on typical tasks: 5 points - Question 1: Answer/Assessment: - Question 2: Answer/Assessment: Goal 2: Effectiveness of the user interface in causing the program to follow the user's intent based on typical tasks: 5 points - Question 1: Answer/Assessment: - Question 2: Answer/Assessment: Questions must generate data that can serve as a rationale for design improvement. They must not be questions answered with a simple "yes" or "no" answer. ===========================PART 6 =============================== Individual Portion of Grade: Development Process - 10 possible points. ================================================================= - GitHub logs show no work is done directly on the master branch: 5 pts. - GitHub logs show the student has requested reviews of their proposed changes to the master: 5 pts.