Estoy trabajando en una aplicación para universidades. El caso es este:
Cada universidad tiene varios programas académicos. Cada programa tiene muchas materias (módulos). Cada tema se puede ofrecer en diferentes lugares. El año académico se divide en términos y cada término dura varias semanas. No todos los módulos se ofrecen en los mismos lugares cada trimestre y los programas se pueden ofrecer a diferentes grupos de estudiantes con diferentes fechas de inicio dentro del mismo año académico.
Por ejemplo, la Universidad A tiene un programa de MBA ofrecido en Nueva York y Londres. El MBA tiene 2 módulos por período (10 semanas) que se ofrecen en ambos lugares (por ejemplo, MBA-NY y MBA-L). Es posible y, según la demanda, tener una tercera ejecución del programa (y, por lo tanto, de los módulos en este término) que comienza una semana más tarde que la ingesta normal. Entonces, hay otro grupo MBA-NY pero con una línea de tiempo diferente. Pero, este grupo también es parte del mismo término en el plan de estudios de MBA (es decir, los dos grupos están haciendo el Término 2 de MBA).
Mi pregunta es cómo modelar ubicaciones, términos académicos y ejecuciones en el diseño OO. ¿Las propiedades de ubicación, términos académicos (y quizás "carreras") son propiedad del objeto universitario o del objeto del programa? o del objeto del módulo?
Actualización: según sus respuestas, mi dificultad es modelar los términos académicos, las cohortes y los diferentes plazos. No es realmente la ubicación, ya que me parece sencilla. Lo acabo de incluir en la descripción para mostrarle las conexiones.
Animal
lugar deLocation
? ¿Cómo clasificarías las cosas en general?