The issue in this question is that the data store and the entities are referred to as if they were specific instances:
- The Trainer A views profile in the Trainer A file
- The Trainee B views profile in the Trainee B file
- But what happens with Trainer C? Would he/she also see Trainer A profile? Or just Trainer C profile?
As a first step you need to clarify the data stores: if each trainer has his/her own file, call the data store Individual trainer file
to clarify that there is a one to one mapping. If these files are stored centrally somewhere or could be accessed by more than one person, call the data store Trainer profile store
or Trainer repository
to clarify that the process has access to many files at the same time (and will need to select the right one). Finally, if trainer and trainee profile contain the same data, but it's just that they are owned by different persons, merge the two data stores (e.g. like if it's a database table combining all the profiles).
Another issue is that the narrative only presents a specific scenario: at a given moment int time, Trainer
wants to see trainer profile, and Trainee
wants to see trainee profile. But what shall the process allow in general? Should a Trainer
be able to view only trainer profile, or also trainee profiles if he/she'd wanted? An only his/her trainees or all the trainees?
To draw the right diagram you have to generalize your scenarios and entities and provide the answers above.
Depending on the result:
- if the process only allows a category of entities to view some kind of data, go for option 2.
- if the process allows some entities to consult several kind of data, go for option 1. The process specification need then to clarify who has access to what.
- if the profile data are of the same kind, and it's just the owner who changes , then go for option 3: one data store, one process, but different entities, the process specification clarifying what entity can access to what profiles.