One of the most challenging aspects of Object-Oriented technology is designing well-designed classes and using existing classes as appropriate. Each student will individually work on assignment A1, and there are two parts to the project: the analysis and design (A1.Analysis, A1.Design) and the Implementation (A1.Impl). Note in the syllabus how the deadlines for A1 precede the group deadlines. This will give the students an opportunity to work on a task and receive feedback so that they can better participate in their group projects.
I have selected a set of variations that will be randomly assigned to students in the class. Naturally, if you go on the web, you can find numerous solitaire variations of your own. If you wish to choose one not found on the suggested list, I must approve the decision by Thursday March 13th.
By the start of class on Friday March 14th, all students must have declared the solitaire variation they intend to model, analyze, design, test, and implement.
The next step is to begin modeling your solitaire variation and documenting a set of use cases that cover every aspect of your solitaire variation. See the above example for ideas on how to proceed. Your task is to ensure that you have covered every major aspect of the game. Another way to explain what I am looking for is to give someone your use cases and see if they can reconstruct the rules of the solitaire game. Your model document is due at the start of class on Tuesday March 18th.
You must bring a hard-copy of the model to class.
The initial object-oriented analysis document for the solitaire plug-in will be due at the start of class on Tuesday March 25th. Follow the standard we describe in class and the example deliverables I am producing for the narcotic variation. Pay attention to the Entity/Boundary/Controller archetypes we discuss in class and which you have read in the book.
You must bring a hard-copy of the analysis diagrams to class. Here is the format of what I am looking for.
At the start of class on Tuesday April 1st, each student will submit a fully realized object-oriented design showing how to realize this solitaire variation using existing classes, and possibly new ones as well. The important concept will likely be the clear specification of operations with suitable pseudo-code descriptions. Follow the standard we describe in class.
Here is the format of what I am looking for.
Before we complete the implementation, you must define a set of JUnit test cases that will be used to validate the implementation. You should note that I am asking you to define the test cases before you actually have an implementation. This concept is known as "Test Driven Development" and by inverting the two steps you will find that you will be more productive. Why? By creating test cases, you will begin to think about the problem at some fundamental level, which will be very helpful when you actually begin coding.
These test cases will be used to validate your final implementation, but you must make them available now. They won't be executed until you submit your final solution.
Here is the format of what I am looking for.
By midnight on Friday April 11th, each student will submit their completed A1 PlugIn implementation. Follow the standard we describe in class. Each student must adhere to the JavaDoc standard for documenting Java Code.
Here is the format of what I am looking for.
Once you have completed your implementation, you can make your solitaire variation available to the class by packaging it using the standard (described elsewhere in Kombat Solitaire). Perhaps you can convince the professor to post it on the project web page.
heineman@cs.wpi.edu |
04/07/08 10:33:43 AM |