Hi Richard,
Thanks for the response.
Do you mean to use UML Activity Diagrams?
Indeed I was thinking of that. But I wanted to be "professional" and use a language that is targeted for business processes.
(Btw, I guess that using a different tool for BPMN e.g., Eclipse UML, might not have text problem (but could have different problems.
Btw #2, I will have to use act diag actions rather than activities, because activities do not let you legally connect them with control flows for some reason. And apparently that is the correct practice according to the UML spec.)
Also occurred to me that UML activity diagrams offer the streaming feature, i.e., outputs partial results to share with concurrent activities. This is very useful to me. (BPMN does not offer streaming, AFAIR.)
Now you said it, I think I will take you up on it.
Cheers !
Avi
UML is the easiest and most effective business language.
For requirement modeling, use case diagrams
For business process modeling, attach any number of sequence diagrams to the use case. Avoid activity diagrams unless you are describing procedural code (for example a class method at logical / physical level)
For data modeling, use the classes generated by the sequence diagrams to define domain object models and ERDs (database data models) at logical or physical level
For system architecture, use component diagrams. The residents of the components are classes and database objects from the DOM / ERDs
For system infrastructure, use deployment diagrams whose artifacts are the components of the component diagrams at physical level
You have a full system architecture with traceability from user requirements to deployed systems and back. You can change anything in any of above steps (requirements, users, classes, components, nodes) and quickly propagate the change to all other levels.
(BPMN and activity diagrams are not object oriented so they don't really fit into the architecture)
It takes experience to get it right but that's why all architects have white hair in their head