The proposed system of stereotypes is confusing. It would be clearer if the concept of non-Entity (versioned-)identifiables would be dropped. The names of the remaining stereotypes could be shortened:
D2Class --> D2Entity --> D2Identifiable --> D2VersionedIdentifiable
Note that this is not an inheritance relationship. In order to respect the Liskov Substitution Principle, D2Class and D2Entitiy would both be specialised from UML Class; D2Entity --> D2Identifiable --> D2VersionedIdentifiable could in principle be realised as specialisation.
The definitions of D2Class and D2Entitiy could be improved:
D2Class – The class represents a complex data structure. Instances have no concept of identity and are not expected to be entry points in data sets.
D2Entity – The class represents a kind of domain object with a conceptual identity or an object which may be the entry point in a data set, because it contains enough information to be useful by itself in some contexts.
Bug description?
The proposed system of stereotypes is confusing. It would be clearer if the concept of non-Entity (versioned-)identifiables would be dropped. The names of the remaining stereotypes could be shortened: D2Class --> D2Entity --> D2Identifiable --> D2VersionedIdentifiable Note that this is not an inheritance relationship. In order to respect the Liskov Substitution Principle, D2Class and D2Entitiy would both be specialised from UML Class; D2Entity --> D2Identifiable --> D2VersionedIdentifiable could in principle be realised as specialisation. The definitions of D2Class and D2Entitiy could be improved: D2Class – The class represents a complex data structure. Instances have no concept of identity and are not expected to be entry points in data sets. D2Entity – The class represents a kind of domain object with a conceptual identity or an object which may be the entry point in a data set, because it contains enough information to be useful by itself in some contexts.
Version
4