Sobre el modelo de dominio - Arquisoft/ObservaTerra22 GitHub Wiki

Observaciones (entidad):

  • Tienen un provider, de tipo Organization
  • Tienen un atributo time de tipo Time (objeto de valor), que puede ser Interval o TimeInstant.
  • También tienen un atributo indicator de tipo Indicator.
  • Las Observations se identifican por time e indicator.

Yo creo que no debería haber dos Observations sobre el mismo indicator y el mismo tiempo de providers diferentes, pero tampoco estoy muy segura de ello... Opiniones porfaplis.

Indicadores (entidad):

  • Atributos: name de tipo string, area de tipo Area y measure de tipo Measure.

La medida debe ir asociada al indicator y no a la observation. La unidad de medida depende del indicador (no vas hacer una observacion de una poblacion y medirla en años, tiene que ir en personas)

  • Identificadores: name y area

Area (entidad)

  • Atributos: name, de tipo string.

Country (entidad)

  • Es un (hereda de) Area.
  • Atributos: name de tipo string y continent de tipo string.

Solo pongo estos dos porque las posibilidades son infinitas, podemos incluir poblacion, capital... y no sé aún cuales serán necesarios y cuales superfluos. También considero la posibilidad de que un Area pueda contener a otras areas (composite).

Organization (entidad):

  • Atributos: name de tipo string, suborganizations, de tipo Set de Organizations y users, de tipo Set de User.

User (entidad):

  • Atributos: name, last name, user name... etc.
  • Identificador: ¿user name?