[Sprint 3] Miscellaneous Notes - paynem/AcesUpProject GitHub Wiki
Rules Button:
During sprint 2, we decided to avoid having our UI spit out error messages whenever the user made an illegal move (an exception to this is the warning that pops up whenever the user tries to move a non-Ace card; we figured that since this deviates from the traditional rules of Aces Up, it was worthwhile to warn the player). We noticed that almost all online versions of Aces Up Solitaire simply prevent users from making illegal moves and don't really generate any warning messages.
The TA that oversaw our sprint 2 demo mentioned that if we were going to take that route, we should put a copy of the rules somewhere in our UI so the user can actually learn how to play the game (and if they're confused about a move not actually going through, they have something to reference). Consequently, we replaced the Undo button with the Rules button (we were going to scrap the Undo button anyway, because it was unrealistic to implement with the amount of time that we have).
Discrepancies between UML diagrams and actual code:
We created our UML diagrams before we started coding (just like the professor instructed us to). We then used the diagrams to inform our actual coding decisions. However, while wrestling with the Ninja framework and JSON, we were forced to make minor alterations to our original intended design. So, while the UML diagrams are mostly representative of what we ultimately produced in the end, there are slight differences (as it was going to be too painful to go back and redo any part of the sequence diagram).
Also, our UML diagrams really only reflect what is going on in the backend (with the java). The diagrams were difficult for us in that it was really difficult to prevent them from becoming inordinately complex. This sprint was mostly about refactoring and making adjustments to the java code, so we felt that it was appropriate to limit the scope of the UML diagrams to that.