I'm working on a project that uses RxJS
to perform data transformations on varying sources of data, and I'm in the process of writing some documentation for it.
I want to find an effective way to document the following:
- An abstract way to describe the cardinality and relationships of the data.
- An abstract description of the data transformations.
Here are two examples of how I'm describing a data transformation. Table headers are the destination fields, the second row is the source data or a transformation done on the source data to get the desired data.
I can see that the Github Markdown format is very limited for this purpose, which is why I'm asking for help on this.
I also have a few ERD diagrams that looks like this:
I'm not sure of a clean way to document how the transformations relate to the schema, and what assumptions about cardinality are made within those transformations (getStudentTestScoreDcid
in particular)
Best Answer
Data Flow Diagrams sound like what you need
From Wikipedia:
Emphasis above is mine
The whole point of the DFD is to show the transformational aspects of data as it moves through the system. You will always have an input (from a user, data storage, or another process) that feeds into a process with an output (to the screen, data storage, or another process). If you don't have those three elements, you don't include it on the DFD. One other item worth mentioning, a large number (I would say most) DFDs do not have a starting point or ending point on the complete diagram.
There are at least 2 different symbologies used (Gane-Sarson, and Yourdon & Coad).
The example below shows how data from a Customer goes into the Process Order process which outputs data being stored in the Transaction data storage. Duplicated data stores are usually included to show the process more easily and are often marked with an altered symbol for the data store (a D in a gray box on this example).
Sample from Visual Paradigm