Hi,
I have a question for more advanced EA usage. How to show and maintain dependencies between multiple systems/modules?
Lets imagine that we have the following case:
We have a bus travel company. This company sels tickets to various destinations.
Now from domain perspective we have the following:
1. Domain responsible for "CORE" data such as bus, ticket etc. Lets say bus management system
2. Then we have a module for passenger management "PASSENGER"
3. 3rd system is a "route planning" system. "ROUTE"
All systems are managed and developed by the same company.
Now, in order to maintain traceability and dependency I would like to draw domain diagrams for systems 2 and 3 using "bus", "ticket" elements are taken directly from 1st domain (module/system) as it is describing only "CORE" properties. The problem is however that "CORE" can live on its own, have various versions 1.2, 1.3, 2.0 etc.
I have tried the following:
1st approach where "root node" represented a single module version. So I had something like:
- CORE 1.1
- CORE 1.2
- PASSENGER 1.0
- ROUTE 1.0
- ROUTE 1.5
but the problem with this approach is that it is VERY hard to mainain. In example when I am about to create ROUTE 1.6 I have to ask myself a question am I still using CORE 1.1 or maybe 1.2 and if it is 1.2 replace all elements from 1.1 (which takes time and can create errors).
2nd approach, similar to the 1st one with the exeption that root node is generic (so called CORE, PASSENGER and ROUTE) and inside each view (class, domain etc) has numbers. So Domain View 1.1, Domain View 1.2.
Downside of this is that package tree quickly gets filled with tons of diagrams and views and if I re use an element from Domain View 1.1 lets say in ROUTE 1.0 and want to add additional relationship there, suddenly my Domain View 1.1 element is now contaiminated with data specific only to ROUTE 1.0
Is there any better approach? Are there any articles that you may suggest? Please help
Regards