CSE 3902 Professional Software Development
Due (subject to change):
- Sprint planning: Monday, January 28th, before class.
- Initial implementation: Monday February 4th, before class.
- Refactored code: Friday February 8th, before class.
- Group Team Rubrics: due Friday, February 8th in class.
Objectives:
- Continue to familiarize yourself with TFS.
- Implement a subset of requirements/Use Cases for Super Mario, making use of good programming principles and the Command design pattern to separate concerns of UI or events from actions.
Sprint 2 Tasks:
- Planning (20 points):
- Make sure all team members, the instructors, and the grader have been added to your tfs project (crawfis, boggus, -at- cse.ohio-state.edu, and balata.4@buckeyemail.osu.edu). James wanted his e-mail logon changed.
- Each team member should add a picture for their profile.
- Add dates for Sprint 2.
- Add a task to create the initial game template and check it into TFS.
- Add several work items for Mario and Blocks as discussed in class. Include an effort amount (you can change this later as you see the task breakdown).
- Add a task for creating a Mario class (may change as the semester progresses).
- Add a task for creating a Mario state interface and an Animated Sprite interface.
- Add tasks for implementing requirements and uses cases for each state that Mario can be in (use descriptive titles and remember to set the effort amount).
- Add a task for creating a Block interface and a Block State interface.
- Add tasks for implementing requirements and uses cases for all types of blocks, or block states (use descriptive titles and remember to set the effort amount).
- Add a task for implementing a Command interface and a Controller interface.
- Add a task to implement a keyboard mapping to commands. We may specify the mapping via a file later.
- Add a task to "drive" the game from an input file.
- Associate all of these work items and tasks with Sprint 2.
- Grading will be based on TFS admin (3 points), completeness of tasks and assignments (12 points), and burndown chart (5 points)
- First Implementation (30 points):
- Assign initial tasks to each team member and have them implement them.
- When you sit down to work on this sprint, drag the task you are going to work on to in-progress on the board.
- If you finished the task during that session, drag it to Done and check your work into TFS.
- If you did not finish, but it compiles, change the remaining work for the tasks and check your work into TFS.
- If it is not finished and does not compile, change the remaining work for the tasks and make sure your work is saved (or shelved).
- Grading will be based on whether it works and is complete (25 points) and did everyone contribute (5 points).
- Final Refactored Implementation (50 points):
- Go through each class and tighten the variable names, check the logic and end cases.
- After changes are made, send a Code Review request to another team member (or two).
- Run Code Analysis on your solution and fix any reported warnings or errors. For warnings you do not wish to fix, provide justification in the readme file.
- Respond to any criticisms from the instructors on your code.
- Grading will be based on: does it still work (5 points), Code review quality and participation (10 points), adherance to coding standards (10 points), percentage of Code Analysis errors (10 points) and overall code quality (15 points)
Additional notes:
Make sure each team member works on defining and adding tasks to TFS. Similarly, make sure everyone works on implementing some subset of the use cases for the Sprint.
Grading:
See above. In addition, your individual scores will be weighted based on the team rubrics and activity in TFS.
Key Mappings
Please use lower case letters for the keys
Q= small left facing Mario
W=small right facing Mario
E=big left Mario
R=big right Mario
T=small left jumping Mario
Y=small right jumping Mario
7=big left jumping Mario
8=big right jumping Mario
U= big left fire Mario
I=big right fire Mario
O=big left jumping fire Mario
P=big right jumping fire Mario
A=small left star Mario
S=small right star Mario
D=small left star jumping Mario
F=small right star jumping Mario
G= big left star Mario
H=big right star Mario
J=big left star jumping Mario
K=big right star jumping Mario
L=small death state
Z=big death state
X=big fire death state
C=small star death state
V=big star death state
B=small left holding shell
N=small right holding shell
M=big left holding shell
1 = big right holding shell
2 = fire left holding shell
3 = fire right holding shell