3.1 Infrastructure standards
63
If we consider our model being open towards other applications in the future we
can keep the term aggregation. An example of a future application might be the
search for the fastest railway connection. A new c1ass Railway would have to be created and then aggregated to the c1ass RouteFinder. In this scenario, we should keep
the association between the c1asses RouteFinder and Roads on a weaker level and set
it to aggregation only. With an aggregation we can indicate that our route finder system is not just bound to the first application in place.
The c1asses MainRoad and LocalRoad are specialisations of the c1ass Road. A
road is either a main road or a local road but UML also puts it the other way round:
the association between the c1ass Road and the c1asses MainRoad and LocalRoad is
called generalization.
UML c1ass-diagrams are used in all stages of a development process. An UMLmodel may contain the final product with all c1asses well defined. It mayaiso display
the system in an immature state with a number of open questions within the model.
Let us imagine that the development of our route-finder GIS started before it has
been decided whether it will calculate routes on roads or on railways or on both. In
this case it is helpful to create a so-called abstract c1ass TransportationLines without
determining ahead oftime whether it will represent roads, railways, or both.
The following three examples show the application of three standards of the ISO
19100 family.
Example for UML class-diagrams taken from ISO 19100 standards
The example has been taken from the ISO 19111 (Spatial referencing by coordinates). Basically, it consists of two generalization trees, one with the root c1ass
RS _ ReferenceSystem and the other with the root c1ass SC_Datum. The trees are associated with a number of other c1asses as well as with themselves. Enumerations
define the attribute values. Notes are used for c1arification. The c1ass-diagram is
normative.
63
If we consider our model being open towards other applications in the future we
can keep the term aggregation. An example of a future application might be the
search for the fastest railway connection. A new c1ass Railway would have to be created and then aggregated to the c1ass RouteFinder. In this scenario, we should keep
the association between the c1asses RouteFinder and Roads on a weaker level and set
it to aggregation only. With an aggregation we can indicate that our route finder system is not just bound to the first application in place.
The c1asses MainRoad and LocalRoad are specialisations of the c1ass Road. A
road is either a main road or a local road but UML also puts it the other way round:
the association between the c1ass Road and the c1asses MainRoad and LocalRoad is
called generalization.
UML c1ass-diagrams are used in all stages of a development process. An UMLmodel may contain the final product with all c1asses well defined. It mayaiso display
the system in an immature state with a number of open questions within the model.
Let us imagine that the development of our route-finder GIS started before it has
been decided whether it will calculate routes on roads or on railways or on both. In
this case it is helpful to create a so-called abstract c1ass TransportationLines without
determining ahead oftime whether it will represent roads, railways, or both.
The following three examples show the application of three standards of the ISO
19100 family.
Example for UML class-diagrams taken from ISO 19100 standards
The example has been taken from the ISO 19111 (Spatial referencing by coordinates). Basically, it consists of two generalization trees, one with the root c1ass
RS _ ReferenceSystem and the other with the root c1ass SC_Datum. The trees are associated with a number of other c1asses as well as with themselves. Enumerations
define the attribute values. Notes are used for c1arification. The c1ass-diagram is
normative.
