Jeśli chcesz to zrobić porządnie, to zacznij po prostu pisać, ale w TDD.
Narysuj sobie wszystkie byty i wszystkie interakcje, jakie między nimi mają zachodzić. Zmieścisz to na jednej kartce, zgaduję. No, niech będzie, że na dwóch czy trzech. Dostaniesz ogólny obraz sytuacji, który da Ci zbiór wymagań. Następnie weź pierwsze wymaganie z listy, obojętnie jakie, i napisz unit test, który je opisuje. Jeśli nie da się tego zrobić jednym testem, napisz tyle, ile będzie niezbędne. Następnie napisz kod, który zadowoli te testy.
Czynność powtarzaj aż do pełnego sukcesu :)