Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
ISO19103 - Conceptual Schema Language have rules and recomendations for documentation of models, including which diagrams that should be part of the documentation. In addition, there are some other useful diagrams that should be included.
Package dependency diagrams
According to requirement 17 and requirement 21 in ISO19103, all package dependencies shall be shown in one or more package diagrams for each package, including external package dependencies.
The main best practice rule for class diagram, independent of rules in ISO19103 and ISO19109, is that all classifiers (classes, code lists, enumerations and data types) shall be presented in at least one diagram. Here's a script for controlling this rule. Further on, all attributes, associations, operations and constraints shall also be shown in at least one diagram.
High level overview diagrams
High level overview diagrams with only the main classes and associations is a good introduction to the model. In these diagrams, all attributes and role names should be hidden.
Detailed overview diagrams
According to recommendation 16 in ISO19103, each package should have a overview diagram which shows all classes, without operations, attributes and role names. Some attributes, associations and role names may be shown if they are important to understand the context.
Perspective specific diagrams
Diagrams with focus on specific parts of the model and the major classifiers in this perspective are useful for understanding the model. Remember that less is more - few elements and few perspectives for one diagram improves readability. Do not show attributes and associations that are not relevant for the given perspective.
Code lists, enumerations and data types
Specific diagrams with all code lists and enumeration or all data types in a package are also useful. These classifisers are often reused in different parts of a model, and it is much help in having them all collected in one diagram.
Context diagram for each classifier
According to requirement 18 in ISO19103, all model classifiers shall be documented in a context diagram where all attributes, operations and all relationships that are navigable from the central classifier are displayed. Closely related classifiers may share context diagram, but remember that less is more here as well - few elements and few perspectives for one diagram improves readability.
Use case diagrams and sequence diagrams
Use case diagrams and sequence play an important role in the process of developing models.
TBD: Further description and examples of Use Case Diagrams
Object diagrams with instances of classes play an important role in understanding and testing models. Examples of object diagrams in ISO/TC211 can be found in ISO19160-1. When developing a profile of ISO19160-1, object diagrams for a few sample addresses are mandatory.
The figure bellow shows an object diagram for the INSPIRE Profile of ISO19160-1.