Archi Forum

Archi => General Archi Discussion => Topic started by: pmduque on September 15, 2022, 12:54:40 PM

Title: Data modelling in Archimate
Post by: pmduque on September 15, 2022, 12:54:40 PM
Hi,

I struggling with basic data modelling in Archimate.

I use:
but:
Title: Re: Data modelling in Archimate
Post by: Jean-Baptiste Sarrodie on September 15, 2022, 15:21:14 PM
Hi,

Data modelling in ArchiMate is a long story and there's no standard way of doing it because several conventions might exist. That being said...

The typical relationships used are specialization, composition, aggregation and association. By definition:
- composition is a [0..1]:n relationship (maximum one parent, but potentially none)
- aggregation is a n:n relationship, but I wouldn't use it for all n:n relationship as it implies that one data somewhat contains the other, and this is not always wanted.
- association implied no specific cardinality, and can be use whenever neither composition and aggregation do the job. So association can be used for both 1:1 and n:n.

There's no standard way to define cardinality because this notion doesn't even really make sense in ArchiMate (a Business or Data Object is neither a class nor an instance as it all depends on the usage). My approach is simple: don't use cardinality, but instead use self explicit relationships' name wich include both the semantic of the relationship and some hint of the cardinality. This usually makes it easier to read for non architects because Object-Relationship-Object can then be read as a sentense (e.g. "Customer --Creates multiple--> Order", "Order --Leads to only one--> Invoice"...). Of course, make sure associations are directed so that people know which way it points. This works especially well with conceptual/business models.

If you really have to (or want to) use cardinality, then store it in a property, and define a custom (and dynamic) label to make it visible in a view (e.g. "${name} [${property:Cardinality}]").

Regards,

JB
Title: Re: Data modelling in Archimate
Post by: rchevallier on September 15, 2022, 19:26:30 PM
You can also use a specialization instead of a property to specify cardinality
Title: Re: Data modelling in Archimate
Post by: pmduque on September 16, 2022, 11:40:12 AM
Thank you for your answers.

After posting I did some further investigation on the subject and got into this great discussion on the subject: https://community.opengroup.org/archimate-user-community/workgroups/archimate-31-feedback/-/issues/18.

I'll review my model and try to be cardinality agnostic!

Best regards,
Pedro Duque