GSIM Data Structure: Proposal for Revision

advertisement
GSIM Data Structure: Proposal for Revision
Requirements
These seem to be:
1. Retain the distinction between unit record data and dimensional data (the reasoning for this
distinction is argued in the issue).
2. Make the model simpler (at least with fewer classes).
Solution
The essential ingredients of this solution are:
1. It is necessary to retain each of Unit Data Structure and Dimensional Data Structure and the
corresponding data sets (Unit Data Set and Dimensional Data Set). Not the least is the
necessity to have a place to define each of these and the distinction between them.
2. Remove all of the specific sub structures (i.e. sub classes) that distinguish Unit from
Dimensional as these do not really serve any purpose in a conceptual model as they include
too much structural detail which is more of an implementation issue.
3. Retain the abstract structures from which the Unit and Dimensional classes are derived, but
make these concrete classes. These classes are sufficient to describe both Unit and
Dimensional data.
4. Where there are relationships to classes that are specific to Unit or Dimensional data,
constrain the relationship accordingly (in reality this is the relationship to Record Structure
which is constrained to Unit Data Structure).
Proposed Model
Data Structure
Diagram
class Unified_Data_Structure
DimensionalDataStructure
DataStructure
UnitDataStructure
has
1..*
DataStructureComponent
RepresentedVariable
definedBy
MeasureComponent
0..*
1
+measure
1..*
groups
{Unit Data Structure}
0..*
AttributeComponent
IdentifierComponent
+identifier
1..*
+attribute
0..*
LogicalRecord
identifiedBy
{Unit Data Structure}
0..*
0..*
1
+source
relates
groups
0..*
1
+target
relates
0..*
{Unit Data Structure}
RecordRelationship
Explanation (very brief)
A Data Structure can be one of two types: Unit Data Structure and Dimensional Data Structure (the
role of each and the difference to be elaborated in detail). Each of these data structures is organised
in the same way comprising Identifiers (Identifier Component), Measures (Measure Component),
and Attributes (Attribute Component). These three classes are sub classes of the Structure
Component which has the common relationship that identifies the Represented Variable that is the
Concept and Value Domain used by the Identifier/Measure/Attribute.
Each of the Identifier Component, Measure Component, and Attribute Component can have a
relationship to a Logical Record. This relationship is restricted to the Unit Data Structure.
Data Set
Diagram
class Unified_Data_Set
DataStructure
DimensionalDataStructure
DimensionalDataSet
DataSet
UnitDataSet
structuredBy
1
DataStructure
0..*
structuredBy
1
UnitDataStructure
1
+record 0..*
0..*
UnitDataRecord
has
0..*
structuredBy
1
LogicalRecord
+dataPoint
1..*
groups
DataPoint
1..*
Comparison the V 1.0 Model
This is virtually identical to the existing 1.0 model. The differences are:
1. The Data Point is made a concrete class and the sub classes of Unit Data Point and
Dimensional Data Point are removed.
2. The Unit Data Record now has a relationship to Data Point and not the Unit Data Point.
Download