«Para poner un poco de orden, sobre todo en lo que respecta a la modelización de sistemas software, aparece UML (Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende unificar las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar que la industria software termine su maduración como Ingeniería . Y lo consigue en tal manera que lo que UML proporciona son las herramientas necesarias para poder obtener los planos del software equivalentes a los que se utilizan en la construcción, la mecánica o la industria aeroespacial. UML abarca todas las fases del ciclo de vida de un proyecto, soporta diferentes maneras de visualización dependiendo de quién tenga que interpretar los planos y en que fase del proyecto se encuentre.»
«¿Qué es un modelo?. La respuesta es bien sencilla, un modelo es una simplificación de la realidad. El modelo nos proporciona los planos de un sistema, desde los más generales, que proporcionan una visión general del sistema, hasta los más detallados. En un modelo se han de incluir los elementos que tengan más relevancia y omitir los que no son interesantes para el nivel de abstracción que se ha elegido. A través del modelado conseguimos cuatro objetivos:
• Los modelos nos ayudan a visualizar cómo es o queremos que sea un sistema.
• Los modelos nos permiten especificar la estructura o el comportamiento de un sistema.
• Los modelos nos proporcionan plantillas que nos guían en la construcción de un sistema.
• Los modelos documentan las decisiones que hemos adoptado.»
Destacar que UML está diseñado para trabajar en POO, y aprovechando que en Python todo es un objeto creo que no hay mejor manera de empezar el diagrama UML del proyecto (ya me direis si de forma acertada) que como se ve en esta imagen.
Se puede empezar desde cosas concretas hacia algo general o desde algo general e ir concretando, detallando. En la imagen se ve que he optado por la segunda opción, pero ya me direis que es lo que teneis en mente. El diagrama siempre será tan detallado como se quiera pudiendo llegar al extremo de representar todo el juego o ser un simple esbozo del mismo.
Como habeis visto en la imagen además de www.gliffy.com se puede trabajar con programas como Umbrello que funcionan a nivel local para crear los diagramas que nos facilitarán la vida.
¿Habeis estudiado UML anteriormente? Si es así una buena forma de colaborar me parece que sería aportando algunos ejemplos de su uso aplicados a éste proyecto, a ser posible un modelo mejor que el hecho por mi.

Incluso se me ocurre que para empezar cada uno debería hacer su modelo y entre todos votamos el mejor. A lo mejor aquí me he pasado... xD
[1] Diseño orientado a objetos con UML. Raúl Alarcón. Grupo Eidos.