This GitHub repository lets you - our users - log and track issues that you find with our standards and other document. Tag the issue with the standard or standards effected; we will assign it to the relevant group(s) within TC 211.
11
stars
0
forks
source link
Naming of abstract classes - forcing the existence of an implementation model: #335
Justification
ISO 19139-1:2019/7.3.2.2 (Req). Although the prefix of “Abstract” for classes in an overarching Common Classes package makes sense, forcing its use in all XML implementations results in either:
a) all abstract classes in the conceptual model also being prefixed with “Abstract”; or
b) the need for implementation models to be generated (just to add a prefix to abstract classes) even if the conceptual model is implementable.
It should be noted that developers must understand that abstract classes cannot be instantiated, and:
a) should be able to read and interpret the UML (which clearly identifies abstract classes with italic labels and classifier of abstract=“true”).
b) must read the data dictionary anyway (which identifies abstract classes as being abstract; and
c) might read the XSDs which set the abstract element attribute “abstract=“true”.
Proposal
I suggest that ISO 19139-1:2019/7.3.2.2 (Req) be rescinded because the addition of “Abstract” before the class name is redundant and an annoyance.
Justification ISO 19139-1:2019/7.3.2.2 (Req). Although the prefix of “Abstract” for classes in an overarching Common Classes package makes sense, forcing its use in all XML implementations results in either: a) all abstract classes in the conceptual model also being prefixed with “Abstract”; or b) the need for implementation models to be generated (just to add a prefix to abstract classes) even if the conceptual model is implementable. It should be noted that developers must understand that abstract classes cannot be instantiated, and: a) should be able to read and interpret the UML (which clearly identifies abstract classes with italic labels and classifier of abstract=“true”). b) must read the data dictionary anyway (which identifies abstract classes as being abstract; and c) might read the XSDs which set the abstract element attribute “abstract=“true”.
Proposal I suggest that ISO 19139-1:2019/7.3.2.2 (Req) be rescinded because the addition of “Abstract” before the class name is redundant and an annoyance.