I know it is past the deadline, but I stumbled across this when I was looking for something related to Issue 31 and I think it is worth fixing up
Do we really need 10 objects related to Components and its sub types ? It is very complex with lots of abstract layers.
Layer 1.- DataSet high level layer
Layer 2.- Dataset subtypes layer including Data Structure Components
Layer 3 - Data Structure Component subtypes
Layer 4 - Unit and Dimensional data set related components
Here is what it looks like now:
One suggestion to simplify this section of the model:
I think, even if I do say so myself, that the suggestion below is easier to understand. There are only two layers of abstraction and we reduce the number of objects from 10 to 4. It also gives more emphasis and better use of Data Structure Component as an object.
Things to clarify:
- This model is based on the assumption that the definitions of Identifier, Measure and Attribute components do not change based on data set type (i.e. Unit Data set or Dimensional Data Set). Currently the only difference is the inclusion of unit or dimensional
- Need to investigate if Logical Record to Data Structure component relationship would work or is valid. Need to make sure this link is valid only in case of Unit Data Set. Perhaps add a constraint to the relationship between Logical Record and Data Structure Component?
- Components are for Unit or for Dimensional data set can be identified through their use in Data Structure (i,e. - if they are part of Unit Data Structure then they are Components for Unit Data Set and if they are part of Dimensional Data Set then they are Components of Dimensional Data Set )
New options from ABS
- Simple easy to understand model
- Two layers of abstraction
- Changes in the definitions of Components based on Unit and Dimensional type of Data Set is covered
- Objects reduced from 10 to 7
- Better distinction between two types of Data Sets
Things to note:
- Unit Data Structure is connected to Components via Logical Record.
- Data Structure Component's relationship to 6 subtypes should be based on the type of Data Structure (e.g. in case of Unit Data Structure its subtypes would be Unit Identifier Component, Unit Measure Component and Unit Attribute Component)
- Ensure that in case of Unit Data Structure, Unit related components are valid and in case of Dimensional Data Set, Dimensional related components are valid