One thing I'd advise is start with a couple of itty bitty versions, with an
extremely minimalist feature set, and be prepared to throw out these initial versions and designs later, since your design skills will evolve considerably as you get a bit of experience with it -- and to get something you'll be happy with you're probably going to need to advance through a few stages.
Anyway, assuming you've got decent reference links for monkeyengine (google seems to come up with a reasonable supply), and you've got enough specifications available (SFB) to kill a horse, I guess the two things you're hunting for are a decent OODesign book and a decent games programming book (both preferably with a Java bent) plus lots and lots of examples to study and dissect.
<rant>
The problem I find is that most OODesign books get hung up on their own brand of terminology and processes without really giving a useful illustration on how to apply it to things other than their pet demo. On the other hand, most language specific books manage to spew out hundreds of pages without getting into any real useful depth. Meanwhile, most games programming books are very specific to a particular language/engine and don't generalize well. Not meant to be discouraging, it's just that I've spent a lot of time over the last 10 years looking for really good C++/Java books for use in teaching and haven't found any I'm really satisfied with.
</rant>
A decent place to start might be here:
Jeff Kesselman's FAQ on Java Game Programming:
http://wiki.java.net/bin/view/Games/JeffFAQA few of the (possibly) relevant books (most are available used for about $20) include:
Practical Java Game Programming (Clingman et al)
Killer Game Programming in Java (Davison)
Advanced Java Game Programming (Croft)
hope that helps a little bit, I'm really a C/C++ guy at heart
dave